bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2021-09-09T07:08:06Zhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/65Switch to pytest in Bob echosystem2021-09-09T07:08:06ZAmir MOHAMMADISwitch to pytest in Bob echosystem* [ ] Use pytest in all conda recipes and add it as a test requirement
* [x] Install pytest by default when invoking `bdt create`* [ ] Use pytest in all conda recipes and add it as a test requirement
* [x] Install pytest by default when invoking `bdt create`https://gitlab.idiap.ch/bob/docs/-/issues/10Installation default instructions2023-03-15T19:47:51ZTiago de Freitas PereiraInstallation default instructionsWe need to discuss how's going to be the default installation 'modus-operandi' for individual packages.
We were discussing to make the default installation via `buildout`, something along these lines:
```shell
$ git clone https://gitla...We need to discuss how's going to be the default installation 'modus-operandi' for individual packages.
We were discussing to make the default installation via `buildout`, something along these lines:
```shell
$ git clone https://gitlab.idiap.ch/bob/[MY-PACKAGE]
$ cd [MY-PACKAGE]
$ bdt create -vv [MY-PACKAGE] .
$ conda activate [MY-PACKAGE]
$ buildout
$ echo "HAVE FUN"
```
What do you think? ping @andre.anjos @amohammadi @ydayer @lcolboishttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/64Use pytorch model-zoo style file uploads for `bdt dav upload`2021-03-23T14:45:30ZAndré AnjosUse pytorch model-zoo style file uploads for `bdt dav upload`As discussed during the Bob meeting yesterday afternoon, it would be nice to have an option in the `upload` command for `bdt dav` that would handle filename hashing automatically, à là pytorch's model zoo implementation (https://pytorch....As discussed during the Bob meeting yesterday afternoon, it would be nice to have an option in the `upload` command for `bdt dav` that would handle filename hashing automatically, à là pytorch's model zoo implementation (https://pytorch.org/docs/stable/model_zoo.html). This procedure would have to take a file and ensure it is uploaded to the destination URL with a slightly modified name:
```
if name is file.ext and url is http://example.com/dir/
file is uploaded as http://example.com/dir/file-deadbeef.ext
where `deadbeaf` is the first 8 characters of the original file's sha256 sum.
```
Similarly, an option in bob/bob.extension's `get_data` should be able to handle automatic hash checking, if the user specifies the said option, or automatically, based on the filename (e.g. via regular expression matching).
This mechanism provides a way to handle file versions and automatic checking for the completeness of existing cached downloads.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob/-/issues/265Several tests failing on bob/bob2020-12-18T12:35:36ZTiago de Freitas PereiraSeveral tests failing on bob/bobSome nosetests are failing one bob/bob
https://gitlab.idiap.ch/bob/nightlies/-/jobs/220347Some nosetests are failing one bob/bob
https://gitlab.idiap.ch/bob/nightlies/-/jobs/220347Bob 9.0.0https://gitlab.idiap.ch/bob/bob/-/issues/264[black]2022-05-10T09:48:44ZTiago de Freitas Pereira[black]I would like to `[black]` all packages inside of `bob.nightlies`, so we have standard formating.
Any objection?
ping @amohammadi @ydayer @andre.anjosI would like to `[black]` all packages inside of `bob.nightlies`, so we have standard formating.
Any objection?
ping @amohammadi @ydayer @andre.anjosBob 9.0.0https://gitlab.idiap.ch/bob/bob.db.siw/-/issues/2Is this a candidate for the new DB interface?2020-12-12T10:20:48ZTiago de Freitas PereiraIs this a candidate for the new DB interface?ping @amohammadi @ydayerping @amohammadi @ydayerhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/30CSVBaseSampleLoader does not support delayed metadata2020-12-13T11:51:16ZAmir MOHAMMADICSVBaseSampleLoader does not support delayed metadataSince DelayedSample supports delayed metadata as well, I think it's a good idea that CSVBaseSampleLoader delays the metadata loading as well.
This is really important as when we query the database, we may want to load the annotations in ...Since DelayedSample supports delayed metadata as well, I think it's a good idea that CSVBaseSampleLoader delays the metadata loading as well.
This is really important as when we query the database, we may want to load the annotations in a delayed manner because they might not exist and annotaitons might not be used. see https://gitlab.idiap.ch/bob/bob.pipelines/-/blob/e2459dc5784045261ccc25df204a852bb527239e/bob/pipelines/datasets/sample_loaders.py#L60Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/37Follow-up from "[dask] Make vanilla-pad work properlly with dask"2022-06-02T15:48:19ZAmir MOHAMMADIFollow-up from "[dask] Make vanilla-pad work properlly with dask"The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/81#note_59236):
> This should be `ToDaskBag` no? Anyhow I prefer if this was...The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/81#note_59236):
> This should be `ToDaskBag` no? Anyhow I prefer if this was actually a click option.Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/36One-Shot vulnerability analysis2021-06-16T09:05:39ZTiago de Freitas PereiraOne-Shot vulnerability analysisHi,
Today the workflow to do vulnerability analysis is:
1. To have a database with two protocols, one licit (zero-effort impostors vs bonafides) and one called spoof (presentation attacks vs bonafides).
2. run `bob bio pipelines vanill...Hi,
Today the workflow to do vulnerability analysis is:
1. To have a database with two protocols, one licit (zero-effort impostors vs bonafides) and one called spoof (presentation attacks vs bonafides).
2. run `bob bio pipelines vanilla-biometrics licit....`
3. run `bob bio pipelines vanilla-biometrics spoof....`
4. run `bob pad vulnerability .... {licit,spoof}/scores-{dev,eval}`
I understand the reasons why this was made like this, but now with `bob bio pipelines vanilla-biometrics --write-metadata ....` we can have score files where metadata is available:
```
probe_key,probe_path,probe_reference_id,bio_ref_path,bio_ref_reference_id,is_bonafide,score
devel/real/client003_session01_webcam_authenticate_adverse_1,devel/real/client003_session01_webcam_authenticate_adverse_1,3,3,3,1,0.9919710755348206
```
Therefore, we can afford to have one protocol containing both `zero-effort impostors` and `presentation attack` probes, and the job of the tools inside of `bob pad vulnerability` would take care of selecting these two types of probes and do the correct analysis.
I think this is wiser.
What do you think @amohammadi @ydayer?
ThanksBob 9.0.0Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/35Follow-up from "Dask pipelines Improvements"2020-12-09T10:24:37ZTiago de Freitas PereiraFollow-up from "Dask pipelines Improvements"The following discussion from !78 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/78#note_59143):
> Hi,
>
> Would be nice to have this functionali...The following discussion from !78 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/78#note_59143):
> Hi,
>
> Would be nice to have this functionality on `bob.pipelines`
Would be nice to have a functionality that saves the pipeline steps in a `.txt` file for the record.https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/38Follow-up from "Sample Loaders able to handle certain type of annotations..."2020-12-15T17:44:30ZTiago de Freitas PereiraFollow-up from "Sample Loaders able to handle certain type of annotations..."The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/81#note_59087):
> you can remove this now.
I need to do some minor clean-up...The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/81#note_59087):
> you can remove this now.
I need to do some minor clean-up on MEDS dataset.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/37Follow-up from "Sample Loaders able to handle certain type of annotations..."2020-12-05T20:18:47ZTiago de Freitas PereiraFollow-up from "Sample Loaders able to handle certain type of annotations..."The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/81#note_59086):
> I suggest creating a base class for this or some kind of d...The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/81#note_59086):
> I suggest creating a base class for this or some kind of documentation or tests to make sure all face dbs have these attributes.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.db.oulunpu/-/issues/4Nightlies stuck on this one2021-04-12T10:05:55ZTiago de Freitas PereiraNightlies stuck on this oneHi guys,
We need to make this package compatible with the new `bob.bio.video` to get this green.Hi guys,
We need to make this package compatible with the new `bob.bio.video` to get this green.Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/38Follow-up from "Porting to dask pipelines"2022-03-03T17:36:30ZTiago de Freitas PereiraFollow-up from "Porting to dask pipelines"The following discussion from !110 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.face/-/merge_requests/110#note_58850): (+2 comments)
> Hey, does it make sense to keep those n...The following discussion from !110 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.face/-/merge_requests/110#note_58850): (+2 comments)
> Hey, does it make sense to keep those names `preprocessor`, `extractor`?
>
> ThanksBob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/29jman (gridtk) like interface for submitting dask jobs2024-03-21T10:21:20ZAmir MOHAMMADIjman (gridtk) like interface for submitting dask jobsWe need:
1. A command that automatically creates a dask client for us to be used for SGE submission.
2. A history of the commands that were executed.
3. An automatic tracking of dask logs.We need:
1. A command that automatically creates a dask client for us to be used for SGE submission.
2. A history of the commands that were executed.
3. An automatic tracking of dask logs.Bob 9.0.0https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/150There is no need to create yet another database abstract class2020-12-07T13:24:55ZAmir MOHAMMADIThere is no need to create yet another database abstract classI can see that the new pipelines could very well use our old database interfaces and adding another class is just going to create too many layers for us IMHO.I can see that the new pipelines could very well use our old database interfaces and adding another class is just going to create too many layers for us IMHO.Bob 9.0.0https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/28Logging level does not propogate to workers2020-11-27T18:16:28ZAmir MOHAMMADILogging level does not propogate to workersWhen I run a script in verbose mode with dask, the debug logs are not printed in worker logs.When I run a script in verbose mode with dask, the debug logs are not printed in worker logs.Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/nightlies/-/issues/58Job Failed #219230 bob.bio.video builds conflict in the nightlies only2020-12-01T11:08:26ZAmir MOHAMMADIJob Failed #219230 bob.bio.video builds conflict in the nightlies onlyJob [#219230](https://gitlab.idiap.ch/bob/nightlies/-/jobs/219230) failed for 363d726087f9b9c2b52992d71517c183ef660a45:
```
================================================================================
Building bob/bob.bio.video@maste...Job [#219230](https://gitlab.idiap.ch/bob/nightlies/-/jobs/219230) failed for 363d726087f9b9c2b52992d71517c183ef660a45:
```
================================================================================
Building bob/bob.bio.video@master (57/75)
================================================================================
INFO:bob.devtools.scripts.ci@2020-11-26 23:48:45,587: Cloning "bob/bob.bio.video", branch "master" (depth=1)...
INFO:bob.devtools.scripts.ci@2020-11-26 23:48:48,463: Conda build configuration file: /scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/data/conda_build_config.yaml
INFO:bob.devtools.scripts.ci@2020-11-26 23:48:48,464: Conda build recipe-append file: /scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/data/recipe_append.yaml
INFO:bob.devtools.scripts.build@2020-11-26 23:48:48,471: Using the following channels during (potential) build:
- http://www.idiap.ch/software/bob/conda/label/beta
- http://www.idiap.ch/software/bob/conda
- defaults
INFO:bob.devtools.scripts.build@2020-11-26 23:48:48,471: Uploading resulting package to: http://www.idiap.ch/software/bob/conda/label/beta
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,332: environ["MATPLOTLIBRC"] = /scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/data
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,332: environ["DOCSERVER"] = http://www.idiap.ch
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,332: environ["BOB_DOCUMENTATION_SERVER"] = http://www.idiap.ch/software/bob/docs/bob/%(name)s/master/
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,332: environ["NOSE_EVAL_ATTR"] = not slow
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,332: environ["PYTEST_ADDOPTS"] = -m 'not slow'
INFO:bob.devtools.bootstrap@2020-11-26 23:48:49,333: environ["BOB_PACKAGE_VERSION"] = 3.4.7b0
/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/environ.py:452: UserWarning: The environment variable 'DOCSERVER' is being passed through with value 'http://www.idiap.ch'. If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
UserWarning
/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/environ.py:452: UserWarning: The environment variable 'NOSE_EVAL_ATTR' is being passed through with value 'not slow'. If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
UserWarning
/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/environ.py:452: UserWarning: The environment variable 'PYTEST_ADDOPTS' is being passed through with value '-m 'not slow''. If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
UserWarning
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working...
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
Traceback (most recent call last):
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/environ.py", line 802, in get_install_actions
actions = install_actions(prefix, index, specs, force=True)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/plan.py", line 474, in install_actions
txn = solver.solve_for_transaction(prune=prune, ignore_pinned=not pinned)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
should_retry_solve)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
force_remove, should_retry_solve)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/core/solve.py", line 281, in solve_final_state
ssc = self._run_sat(ssc)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/core/solve.py", line 808, in _run_sat
should_retry_solve=ssc.should_retry_solve
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/resolve.py", line 1318, in solve
self.find_conflicts(specs, specs_to_add, history_specs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda/resolve.py", line 351, in find_conflicts
raise UnsatisfiableError(bad_deps, strict=strict_channel_priority)
conda.exceptions.UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package python conflicts for:
setuptools=50.3.0 -> certifi[version='>=2016.9.26'] -> python
h5py=2.10.0 -> python[version='>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0']
bob.io.video -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|3.4.*']
bob.extension -> click[version='>=7.1.2,<8.0a0'] -> python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
setuptools=50.3.0 -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0']
bob.io.base -> boost[version='>=1.73.0,<1.73.1.0a0'] -> python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
bob.bio.face -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
python=3.7
bob.extension -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|3.4.*']
bob.bio.face -> scikit-image[version='>=0.17.2,<1.0a0'] -> python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
h5py=2.10.0 -> six -> python[version='>=3.9,<3.10.0a0']
scikit-learn=0.23.2 -> joblib[version='>=0.11'] -> python[version='>=3.5|>=3.6']
bob.bio.base -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
scikit-learn=0.23.2 -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
bob.bio.base -> scipy -> python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
bob.io.base -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|3.4.*']
bob.io.video -> boost[version='>=1.73.0,<1.73.1.0a0'] -> python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']
Package bob.extension conflicts for:
bob.bio.face -> bob.blitz[version='>=2.0.20,<3.0a0'] -> bob.extension[version='>=3.1.2,<4.0a0|>=5.0.0,<6.0a0']
bob.io.base -> bob.extension[version='>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.1.2,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.0,<6.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']
bob.bio.face -> bob.extension[version='>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']
bob.extension
bob.io.video -> bob.blitz[version='>=2.0.20,<3.0a0'] -> bob.extension[version='>=3.1.2,<4.0a0|>=5.0.0,<6.0a0']
bob.io.video -> bob.extension[version='>2.0.4|>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']
bob.bio.base -> bob.blitz[version='>=2.0.20,<3.0a0'] -> bob.extension[version='>=3.1.2,<4.0a0|>=5.0.0,<6.0a0']
bob.bio.base -> bob.extension[version='>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']
Package h5py conflicts for:
bob.bio.base -> bob.pipelines -> h5py[version='>=2.10.0,<3.0a0|>=2.8.0,<3.0a0']
h5py=2.10.0
Package hdf5 conflicts for:
h5py=2.10.0 -> hdf5[version='>=1.10.4,<1.10.5.0a0|>=1.10.6,<1.10.7.0a0']
bob.bio.base -> bob.io.base[version='>=3.0.10b.0,<4.0a0'] -> hdf5[version='>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']
bob.io.base -> hdf5[version='1.8.17|1.8.17.*|>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']
bob.bio.face -> bob.io.base[version='>=3.0.10b.0,<4.0a0'] -> hdf5[version='>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']
bob.io.video -> bob.io.base[version='>=3.0.10b.0,<4.0a0'] -> hdf5[version='1.8.17|1.8.17.*|>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']
Package numpy conflicts for:
numpy=1.16
bob.bio.base -> numpy[version='<1.18']
bob.io.base -> numpy[version='1.12.*|1.13.*|>=1.14.5,<2.0a0|>=1.15.4,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.9.3,<2.0a0']
h5py=2.10.0 -> numpy[version='>=1.11.3,<2.0a0|>=1.14.6,<2.0a0']
bob.io.video -> numpy[version='1.12.*|1.13.*|>=1.14.5,<2.0a0|>=1.15.4,<2.0a0|>=1.16.6,<2.0a0|>=1.9.3,<2.0a0']
scikit-learn=0.23.2 -> scipy -> numpy[version='>=1.11.3,<2.0a0|>=1.15.1,<2.0a0|>=1.9.3,<2.0a0']
bob.io.base -> bob.blitz -> numpy=1.11
bob.bio.face -> bob.blitz[version='>=2.0.23b.0,<3.0a0'] -> numpy[version='<1.18|>=1.14.6,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.15.4,<2.0a0|>=1.14.5,<2.0a0|>=1.9.3,<2.0a0']
scikit-learn=0.23.2 -> numpy[version='>=1.14.6,<2.0a0']
bob.io.video -> bob.blitz[version='>=2.0.23b.0,<3.0a0'] -> numpy[version='1.11.*|>=1.17.4,<2.0a0']
bob.bio.base -> bob.blitz[version='>=2.0.23b.0,<3.0a0'] -> numpy[version='>=1.11.3,<2.0a0|>=1.14.6,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.19.2,<2.0a0|>=1.15.1,<2.0a0|>=1.9.3,<2.0a0|>=1.15.4,<2.0a0|>=1.14.5,<2.0a0']
Package _libgcc_mutex conflicts for:
numpy=1.16 -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
h5py=2.10.0 -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
bob.io.video -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
scikit-learn=0.23.2 -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
python=3.7 -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
bob.io.base -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex=[build=main]
Package bob.io.base conflicts for:
bob.bio.face -> bob.measure[version='>=4.2.0,<5.0a0'] -> bob.io.base[version='>=3.0.8,<4.0a0']
bob.bio.face -> bob.io.base[version='>=3.0.10b.0,<4.0a0|>=3.0.9,<4.0a0|>=3.0.7,<4.0a0|>=3.0.6,<4.0a0|>=3.0.5,<4.0a0|>=3.0.4,<4.0a0|>=3.0.3,<4.0a0']
bob.io.base
bob.bio.base -> bob.io.base[version='>=3.0.10b.0,<4.0a0|>=3.0.9,<4.0a0|>=3.0.7,<4.0a0|>=3.0.6,<4.0a0|>=3.0.5,<4.0a0|>=3.0.4,<4.0a0|>=3.0.3,<4.0a0']
bob.io.video -> bob.io.base[version='>=3.0.10b.0,<4.0a0|>=3.0.9,<4.0a0|>=3.0.7,<4.0a0|>=3.0.6,<4.0a0|>=3.0.5,<4.0a0|>=3.0.4,<4.0a0|>=3.0.3,<4.0a0']
bob.bio.base -> bob.measure[version='>=4.2.0,<5.0a0'] -> bob.io.base[version='>=3.0.8,<4.0a0']
Package setuptools conflicts for:
bob.extension -> setuptools
bob.io.base -> setuptools
bob.io.video -> setuptools
bob.bio.base -> setuptools
bob.bio.face -> setuptools
setuptools=50.3.0
scikit-learn=0.23.2 -> joblib[version='>=0.11'] -> setuptools
Package ca-certificates conflicts for:
bob.bio.face -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
bob.extension -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
bob.io.video -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
bob.io.base -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
bob.bio.base -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
python=3.7 -> openssl[version='>=1.1.1g,<1.1.2a'] -> ca-certificates
Package numpy-base conflicts for:
numpy=1.16 -> mkl_fft[version='>=1.0.6,<2.0a0'] -> numpy-base[version='>=1.0.2,<2.0a0|>=1.0.6,<2.0a0']
numpy=1.16 -> numpy-base[version='1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.2|1.16.2|1.16.2|1.16.2|1.16.3|1.16.3|1.16.3|1.16.3|1.16.4|1.16.4|1.16.4|1.16.4|1.16.5|1.16.5|1.16.5|1.16.5|1.16.6',build='py37h2f8d375_0|py36hde5b4d6_0|py37h2f8d375_1|py36hde5b4d6_1|py37h2f8d375_1|py36h2f8d375_1|py36hde5b4d6_0|py37h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_0|py37h2f8d375_0|py38h2f8d375_0|py38hde5b4d6_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37hde5b4d6_0|py36h2f8d375_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_1|py37hde5b4d6_1|py37hde5b4d6_0|py36hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py37hde5b4d6_1|py36h2f8d375_1|py36h2f8d375_0|py37hde5b4d6_0']
Package six conflicts for:
bob.bio.base -> six
bob.bio.face -> six[version='>=1.15.0,<2.0a0']
numpy=1.16 -> mkl-service[version='>=2,<3.0a0'] -> six
h5py=2.10.0 -> six
Package scipy conflicts for:
bob.bio.face -> bob.bio.base[version='>=4.1.2b.0,<5.0a0'] -> scipy[version='>=0.19|>=1.5.2,<2.0a0']
scikit-learn=0.23.2 -> scipy
bob.bio.base -> scipy
Package certifi conflicts for:
setuptools=50.3.0 -> certifi[version='>=2016.9.26']
bob.io.base -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
bob.io.video -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
bob.extension -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
bob.bio.base -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
bob.bio.face -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
Package mkl_random conflicts for:
bob.io.video -> numpy[version='>=1.16.6,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0']
bob.io.base -> numpy[version='>=1.16.6,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0']
h5py=2.10.0 -> numpy[version='>=1.14.6,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0']
bob.bio.base -> numpy[version='<1.18'] -> mkl_random[version='>=1.0.2,<2.0a0']
numpy=1.16 -> mkl_random[version='>=1.0.2,<2.0a0']
scikit-learn=0.23.2 -> numpy[version='>=1.14.6,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0']
Package libtiff conflicts for:
bob.bio.face -> bob.io.image[version='>=2.5.0b.0,<3.0a0'] -> libtiff[version='>=4.0.9,<5.0a0|>=4.1.0,<5.0a0']
bob.io.video -> pillow -> libtiff[version='>=4.0.10,<5.0a0|>=4.1.0,<5.0a0|>=4.0.9,<5.0a0|>=4.0.8,<5.0a0']
Package scikit-learn conflicts for:
scikit-learn=0.23.2
bob.bio.base -> bob.pipelines -> scikit-learn[version='>=0.22.1,<1.0a0|>=0.23.2,<1.0a0']
Package py-boost conflicts for:
bob.io.video -> boost[version='>=1.73.0,<1.73.1.0a0'] -> py-boost[version='1.65.1|1.67.0|1.67.0|1.73.0',build='py36hff4598c_3|py36h04863e7_4|py37h04863e7_4|py38h962f231_10|py38h962f231_11|py37h962f231_11|py36h962f231_11|py36h962f231_10|py37h962f231_10']
bob.io.base -> boost[version='>=1.73.0,<1.73.1.0a0'] -> py-boost[version='1.65.1|1.67.0|1.67.0|1.73.0',build='py36hff4598c_3|py36h04863e7_4|py37h04863e7_4|py38h962f231_10|py38h962f231_11|py37h962f231_11|py36h962f231_11|py36h962f231_10|py37h962f231_10']
Package bob.bio.base conflicts for:
bob.bio.base
bob.bio.face -> bob.bio.base[version='>=3.3.0,<4.0a0|>=4.0.0,<5.0a0|>=4.0.1,<5.0a0|>=4.0.2,<5.0a0|>=4.1.0,<5.0a0|>=4.1.1,<5.0a0|>=4.1.2b.0,<5.0a0']
Note that strict channel priority may have removed packages required for satisfiability.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/scratch/builds/bob/nightlies/miniconda/bin/bdt", line 11, in <module>
sys.exit(main())
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/scripts/bdt.py", line 43, in _decorator
value = view_func(*args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/scripts/ci.py", line 708, in nightlies
test_mark_expr=os.environ.get("TEST_MARK_EXPR", ""),
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/scripts/bdt.py", line 43, in _decorator
value = view_func(*args, **kwargs)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/scripts/build.py", line 252, in build
metadata = get_rendered_metadata(d, conda_config)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/bob/devtools/build.py", line 228, in get_rendered_metadata
return conda_build.api.render(recipe_dir, config=config)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/api.py", line 45, in render
permit_unsatisfiable_variants=permit_unsatisfiable_variants)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/render.py", line 834, in render_recipe
allow_no_other_outputs=True, bypass_env_check=bypass_env_check)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/render.py", line 736, in distribute_variants
bypass_env_check=bypass_env_check)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/metadata.py", line 1041, in parse_until_resolved
bypass_env_check=bypass_env_check)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/metadata.py", line 963, in parse_again
bypass_env_check=bypass_env_check),
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/metadata.py", line 1554, in _get_contents
rendered = template.render(environment=env)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/scratch/builds/bob/nightlies/src/bob/bob.bio.video/conda/meta.yaml", line 34, in top-level template code
- {{ pin_compatible('numpy') }}
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/jinja_context.py", line 230, in pin_compatible
pins, _, _ = get_env_dependencies(m, 'host', m.config.variant)
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/render.py", line 149, in get_env_dependencies
channel_urls=tuple(m.config.channel_urls))
File "/scratch/builds/bob/nightlies/miniconda/lib/python3.7/site-packages/conda_build/environ.py", line 804, in get_install_actions
raise DependencyNeedsBuildingError(exc, subdir=subdir)
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {"numpy[version='1.11.*|>=1.17.4,<2.0a0']", "libtiff[version='>=4.0.9,<5.0a0|>=4.1.0,<5.0a0']", "numpy[version='1.12.*|1.13.*|>=1.14.5,<2.0a0|>=1.15.4,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.9.3,<2.0a0']", "bob.extension[version='>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']", "certifi[version='>=2016.9.26']", "python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|3.4.*']", "python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']", "numpy-base[version='1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.0|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.1|1.16.2|1.16.2|1.16.2|1.16.2|1.16.3|1.16.3|1.16.3|1.16.3|1.16.4|1.16.4|1.16.4|1.16.4|1.16.5|1.16.5|1.16.5|1.16.5|1.16.6',build='py37h2f8d375_0|py36hde5b4d6_0|py37h2f8d375_1|py36hde5b4d6_1|py37h2f8d375_1|py36h2f8d375_1|py36hde5b4d6_0|py37h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_0|py37h2f8d375_0|py38h2f8d375_0|py38hde5b4d6_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37hde5b4d6_0|py36h2f8d375_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_0|py37hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py36hde5b4d6_1|py37hde5b4d6_1|py37hde5b4d6_0|py36hde5b4d6_0|py36h2f8d375_0|py37h2f8d375_0|py37hde5b4d6_1|py36h2f8d375_1|py36h2f8d375_0|py37hde5b4d6_0']", "numpy[version='1.12.*|1.13.*|>=1.14.5,<2.0a0|>=1.15.4,<2.0a0|>=1.16.6,<2.0a0|>=1.9.3,<2.0a0']", "numpy[version='<1.18']", "mkl_random[version='>=1.0.2,<2.0a0']", 'scipy', "numpy[version='>=1.11.3,<2.0a0|>=1.14.6,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.19.2,<2.0a0|>=1.15.1,<2.0a0|>=1.9.3,<2.0a0|>=1.15.4,<2.0a0|>=1.14.5,<2.0a0']", "bob.io.base[version='>=3.0.8,<4.0a0']", "six[version='>=1.15.0,<2.0a0']", "py-boost[version='1.65.1|1.67.0|1.67.0|1.73.0',build='py36hff4598c_3|py36h04863e7_4|py37h04863e7_4|py38h962f231_10|py38h962f231_11|py37h962f231_11|py36h962f231_11|py36h962f231_10|py37h962f231_10']", "python[version='>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']", "bob.extension[version='>=3.1.2,<4.0a0|>=5.0.0,<6.0a0']", 'numpy=1.11', "python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']", 'python', "h5py[version='>=2.10.0,<3.0a0|>=2.8.0,<3.0a0']", "bob.extension[version='>2.0.4|>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']", 'six', "hdf5[version='>=1.10.4,<1.10.5.0a0|>=1.10.6,<1.10.7.0a0']", "bob.bio.base[version='>=3.3.0,<4.0a0|>=4.0.0,<5.0a0|>=4.0.1,<5.0a0|>=4.0.2,<5.0a0|>=4.1.0,<5.0a0|>=4.1.1,<5.0a0|>=4.1.2b.0,<5.0a0']", "libtiff[version='>=4.0.10,<5.0a0|>=4.1.0,<5.0a0|>=4.0.9,<5.0a0|>=4.0.8,<5.0a0']", "numpy[version='>=1.14.6,<2.0a0']", "numpy[version='<1.18|>=1.14.6,<2.0a0|>=1.16.6,<2.0a0|>=1.17.4,<2.0a0|>=1.15.4,<2.0a0|>=1.14.5,<2.0a0|>=1.9.3,<2.0a0']", 'ca-certificates', "python[version='>=3.9,<3.10.0a0']", "scikit-learn[version='>=0.22.1,<1.0a0|>=0.23.2,<1.0a0']", "python[version='>=3.5|>=3.6']", 'setuptools', "bob.io.base[version='>=3.0.10b.0,<4.0a0|>=3.0.9,<4.0a0|>=3.0.7,<4.0a0|>=3.0.6,<4.0a0|>=3.0.5,<4.0a0|>=3.0.4,<4.0a0|>=3.0.3,<4.0a0']", "bob.extension[version='>=2.5.0,<3.0a0|>=3.1.0,<4.0a0|>=3.1.1,<4.0a0|>=3.1.2,<4.0a0|>=3.2.0,<4.0a0|>=4.0.0,<5.0a0|>=5.0.0,<6.0a0|>=5.0.1,<6.0a0|>=5.0.2b.0,<6.0a0']", "hdf5[version='>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']", "python[version='>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0']", "numpy[version='>=1.11.3,<2.0a0|>=1.15.1,<2.0a0|>=1.9.3,<2.0a0']", '_libgcc_mutex=[build=main]', "numpy-base[version='>=1.0.2,<2.0a0|>=1.0.6,<2.0a0']", "python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0']", "numpy[version='>=1.11.3,<2.0a0|>=1.14.6,<2.0a0']", "scipy[version='>=0.19|>=1.5.2,<2.0a0']", "hdf5[version='1.8.17|1.8.17.*|>=1.10.1,<1.10.2.0a0|>=1.10.2,<1.10.3.0a0|>=1.10.6,<1.10.7.0a0']", "certifi[version='>=2016.09|>=2016.9.26']"}
```Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/63Add pre-commit checks to the CI2021-10-01T13:45:46ZAmir MOHAMMADIAdd pre-commit checks to the CISome packages are starting to ship a `.pre-commit-config.yaml` file. It would be a good idea to check for this file and run the hooks automatically in the CI.Some packages are starting to ship a `.pre-commit-config.yaml` file. It would be a good idea to check for this file and run the hooks automatically in the CI.https://gitlab.idiap.ch/bob/bob.devtools/-/issues/62Replace use of gitlab-ci skip with git push option2021-10-06T08:20:35ZSamuel GAISTReplace use of gitlab-ci skip with git push optionWhile on the hunt for GitLab token related information I stumbled across https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643 which provides a way to avoid "polluting" commit messages with skip-ci tags using `git push -o ci.s...While on the hunt for GitLab token related information I stumbled across https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643 which provides a way to avoid "polluting" commit messages with skip-ci tags using `git push -o ci.skip` in place.
Might be of interest for the automatic new version update workflow in the BOB/BEAT packages.