bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2018-02-22T12:48:36Zhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/9requirements.txt and develop.cfg are incomplete2018-02-22T12:48:36ZManuel Günthersiebenkopf@googlemail.comrequirements.txt and develop.cfg are incompleteIn the `develop.cfg`, only packages with a direct dependency are listed. This is contrary to our default policy, where all dependent packages are listed, recursively and in the correct order.In the `develop.cfg`, only packages with a direct dependency are listed. This is contrary to our default policy, where all dependent packages are listed, recursively and in the correct order.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/13ImageFaceCrop needs to go into bob.bio.face2022-06-03T15:06:30ZAmir MOHAMMADIImageFaceCrop needs to go into bob.bio.faceIrrespective of the fact why another face cropper is needed here: https://gitlab.idiap.ch/bob/bob.pad.face/blob/b0a14393f109e8bc15928ade60b0614e34e4b73f/bob/pad/face/preprocessor/ImageFaceCrop.py, this is a face cropper and it is useful ...Irrespective of the fact why another face cropper is needed here: https://gitlab.idiap.ch/bob/bob.pad.face/blob/b0a14393f109e8bc15928ade60b0614e34e4b73f/bob/pad/face/preprocessor/ImageFaceCrop.py, this is a face cropper and it is useful for others too. The best place for it is hence a `bob.ip...` package or `bob.bio.face` where all our face croppers are. When it is moved to bob.bio.face, you can also get feedback from me or @mguenther, or @andre.anjos to see if this class is actually needed. Then, if needed, we can merge it in bob.bio.face.Olegs NIKISINSOlegs NIKISINShttps://gitlab.idiap.ch/bob/bob.measure/-/issues/41The hist command needs some adjustments2018-06-20T13:11:00ZAmir MOHAMMADIThe hist command needs some adjustments@theophile.gentilhomme while evaluating the hist command, I realized by default only eval scores are plotted and are asked for. The docs say:
```
If you want to
display dev-scores distributions as well, use ``--show-dev`` option.
```
B...@theophile.gentilhomme while evaluating the hist command, I realized by default only eval scores are plotted and are asked for. The docs say:
```
If you want to
display dev-scores distributions as well, use ``--show-dev`` option.
```
But this --show-dev option does not exist. (I think it should be on by default too)
Please also see https://gitlab.idiap.ch/bob/bob.bio.base/issues/112
* There is no way to disable the threshold line
* You can provide -c far but no --far-value.
* --line-styles does nothing in the hist command. Should it be there at all?Theophile GENTILHOMMETheophile GENTILHOMMEhttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/14Frame Containers lose their order when they are saved into an hdf5 file2018-11-27T13:00:03ZAmir MOHAMMADIFrame Containers lose their order when they are saved into an hdf5 fileFor example I have a frame container going from 1 to 150 frames but when loaded back the frames are string sorted:
```python
In [3]: fc = bob.bio.video.FrameContainer(bob.io.base.HDF5File(path))
...For example I have a frame container going from 1 to 150 frames but when loaded back the frames are string sorted:
```python
In [3]: fc = bob.bio.video.FrameContainer(bob.io.base.HDF5File(path))
In [5]: for i, v, q in fc:
...: print(i)
0
1
10
100
101
102
103
104
105
106
```Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.io.video/-/issues/14The video reader leaves the video files openned2018-11-29T08:26:31ZAmir MOHAMMADIThe video reader leaves the video files opennedLooks like the video reader `bob.io.video.reader` does not close the video file when iterating over frames AND the iteration does not finish fully.
For example:
```python
video = bob.io.base.load('testvideo.avi')
# closes the video file...Looks like the video reader `bob.io.video.reader` does not close the video file when iterating over frames AND the iteration does not finish fully.
For example:
```python
video = bob.io.base.load('testvideo.avi')
# closes the video file properly
for frame in reader('testvideo.avi'):
pass
# closes the video file properly
for frame in reader('testvideo.avi'):
break
# the video file is left open!
import gc
gc.collect()
# the video file is still open!
```Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/13Template for MANIFEST.in not found2019-02-12T12:41:19ZGuillaume HEUSCHTemplate for MANIFEST.in not foundHi,
I just tried to create a new pacakge from scratch with this nice new tool:
```bash
bdt new -t "IEEE TBIOM FARGO Paper Companion Package" -o bob.paper.fargo_tbiom_2019 bob/bob.paper.fargo_tbiom_2019 "Guillaume Heusch" "guillaume.he...Hi,
I just tried to create a new pacakge from scratch with this nice new tool:
```bash
bdt new -t "IEEE TBIOM FARGO Paper Companion Package" -o bob.paper.fargo_tbiom_2019 bob/bob.paper.fargo_tbiom_2019 "Guillaume Heusch" "guillaume.heusch@idiap.ch"
```
Here's the result
```bash
Traceback (most recent call last):
File "/idiap/user/heusch/miniconda2/envs/bdt/bin/bdt", line 11, in <module>
sys.exit(main())
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/bob/devtools/scripts/bdt.py", line 42, in _decorator
value = view_func(*args, **kwargs)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/bob/devtools/scripts/new.py", line 150, in new
render_template(env, k, context, output_dir)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/bob/devtools/scripts/new.py", line 59, in render_template
T = jenv.get_template(template)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/jinja2/loaders.py", line 113, in load
source, filename, uptodate = self.get_source(environment, name)
File "/idiap/user/heusch/miniconda2/envs/bdt/lib/python3.6/site-packages/jinja2/loaders.py", line 235, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: MANIFEST.in
```
So it seems that the script is looking for `MANIFEST.in` template, which does not exists ...
Thanks !André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/13do not propogate _ variables when config chain loading2020-10-16T14:14:36ZAmir MOHAMMADIdo not propogate _ variables when config chain loadingThis is to remind me that when we move config chain loading from bob.extension to here.This is to remind me that when we move config chain loading from bob.extension to here.Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.ip.base/-/issues/14GeomNorm and extrapolate_mask require different mask types2021-02-24T10:43:10ZManuel Günthersiebenkopf@googlemail.comGeomNorm and extrapolate_mask require different mask typesWhen looking at the two functions `GeomNorm.process` and `extrapolate_mask` for color images, two different mask types are required:
- `GeomNorm` takes a 3D mask: https://gitlab.idiap.ch/bob/bob.ip.base/-/blob/a9109e06264f2e28ece3b131da...When looking at the two functions `GeomNorm.process` and `extrapolate_mask` for color images, two different mask types are required:
- `GeomNorm` takes a 3D mask: https://gitlab.idiap.ch/bob/bob.ip.base/-/blob/a9109e06264f2e28ece3b131da9babb0365b6f36/bob/ip/base/include/bob.ip.base/GeomNorm.h#L99 (implementation here: https://gitlab.idiap.ch/bob/bob.ip.base/-/blob/a9109e06264f2e28ece3b131da9babb0365b6f36/bob/ip/base/include/bob.ip.base/GeomNorm.h#L166)
- `extrapolate_mask` takes a 2D mask: https://gitlab.idiap.ch/bob/bob.ip.base/-/blob/a9109e06264f2e28ece3b131da9babb0365b6f36/bob/ip/base/include/bob.ip.base/Affine.h#L445
This is a bit inconsequent. I am not sure, why `GeomNorm` requires a 3D mask for color images. Each pixel will have the same visibility independent of the color channel. Thus, I would propose to reduce the mask for `GeomNorm` to 2D. We can also have the possibility to have both 2D and 3D masks, in case you require backward compatibility (which I could understand).Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.db.base/-/issues/3Database upload breaks if the file already exists at destination2017-09-30T18:11:14ZAndré AnjosDatabase upload breaks if the file already exists at destination*Created by: pkorshunov*
if the file for database 'dbname' already exists at /idiap/group/torch5spro/databases/latest, the command:
bob_dbmanage.py dbname upload
will break with an error 'Operation not permitted'. Once the database fi...*Created by: pkorshunov*
if the file for database 'dbname' already exists at /idiap/group/torch5spro/databases/latest, the command:
bob_dbmanage.py dbname upload
will break with an error 'Operation not permitted'. Once the database file is manually deleted from the destination, the command 'bob_dbmanage.py dbname upload' will work correctly.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.io.base/-/issues/5What does HDF5File.describe return2018-08-08T14:01:36ZAndré AnjosWhat does HDF5File.describe return*Created by: siebenkopf*
I was always wondering, what exactly the [HDF5File.describe](https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.io.base/master/py_api.html#bob.io.base.HDF5File.describe) function returns. It is obviously...*Created by: siebenkopf*
I was always wondering, what exactly the [HDF5File.describe](https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.io.base/master/py_api.html#bob.io.base.HDF5File.describe) function returns. It is obviously not, what is documented. Strangely, it seems to return a [list](https://github.com/bioidiap/bob.io.base/blob/master/bob/io/base/hdf5.cpp#L466) of objects, but I have no clue, what is contained in this list... even each element of the list does not seem to be, what is documented in the link above...
Does anyone have more insight into this? Andre? Could you update the documentation accordingly?https://gitlab.idiap.ch/bob/bob.learn.em/-/issues/18Why is the KMeans training decreasing the log-likelihood value?2017-08-12T07:46:06ZAndré AnjosWhy is the KMeans training decreasing the log-likelihood value?*Created by: siebenkopf*
I am running a KMeans+GMM training, and I observe an unusual behavior. While for the GMM training, the reported log-likelihood increases, the opposite is the case for KMeans:
```
(KMeans training)
bob.learn...*Created by: siebenkopf*
I am running a KMeans+GMM training, and I observe an unusual behavior. While for the GMM training, the reported log-likelihood increases, the opposite is the case for KMeans:
```
(KMeans training)
bob.learn.em@2016-04-27 16:04:36,859 -- INFO: Iteration = 0/200
bob.learn.em@2016-04-27 16:04:39,823 -- INFO: log likelihood = 5.961308
bob.learn.em@2016-04-27 16:04:39,823 -- INFO: convergence value = 0.291013
bob.learn.em@2016-04-27 16:04:39,823 -- INFO: Iteration = 1/200
bob.learn.em@2016-04-27 16:04:42,786 -- INFO: log likelihood = 5.717406
bob.learn.em@2016-04-27 16:04:42,787 -- INFO: convergence value = 0.040914
bob.learn.em@2016-04-27 16:04:42,787 -- INFO: Iteration = 2/200
bob.learn.em@2016-04-27 16:04:45,750 -- INFO: log likelihood = 5.611370
bob.learn.em@2016-04-27 16:04:45,750 -- INFO: convergence value = 0.018546
bob.learn.em@2016-04-27 16:04:45,750 -- INFO: Iteration = 3/200
bob.learn.em@2016-04-27 16:04:48,718 -- INFO: log likelihood = 5.545547
bob.learn.em@2016-04-27 16:04:48,719 -- INFO: convergence value = 0.011730
bob.learn.em@2016-04-27 16:04:48,719 -- INFO: Iteration = 4/200
bob.learn.em@2016-04-27 16:04:51,683 -- INFO: log likelihood = 5.501309
bob.learn.em@2016-04-27 16:04:51,683 -- INFO: convergence value = 0.007977
...
(GMM training with ML_GMMTrainer)
bob.learn.em@2016-04-27 16:09:41,702 -- INFO: Iteration = 0/200
bob.learn.em@2016-04-27 16:09:57,604 -- INFO: log likelihood = -13.541919
bob.learn.em@2016-04-27 16:09:57,604 -- INFO: convergence value = 0.686622
bob.learn.em@2016-04-27 16:09:57,604 -- INFO: Iteration = 1/200
bob.learn.em@2016-04-27 16:10:12,833 -- INFO: log likelihood = -11.647493
bob.learn.em@2016-04-27 16:10:12,833 -- INFO: convergence value = 0.139893
bob.learn.em@2016-04-27 16:10:12,833 -- INFO: Iteration = 2/200
bob.learn.em@2016-04-27 16:10:28,326 -- INFO: log likelihood = -11.342057
bob.learn.em@2016-04-27 16:10:28,326 -- INFO: convergence value = 0.026223
bob.learn.em@2016-04-27 16:10:28,326 -- INFO: Iteration = 3/200
bob.learn.em@2016-04-27 16:10:43,907 -- INFO: log likelihood = -11.179415
bob.learn.em@2016-04-27 16:10:43,908 -- INFO: convergence value = 0.014340
bob.learn.em@2016-04-27 16:10:43,908 -- INFO: Iteration = 4/200
bob.learn.em@2016-04-27 16:10:59,492 -- INFO: log likelihood = -11.064207
bob.learn.em@2016-04-27 16:10:59,493 -- INFO: convergence value = 0.010305
bob.learn.em@2016-04-27 16:10:59,493 -- INFO: Iteration = 5/200
bob.learn.em@2016-04-27 16:11:15,094 -- INFO: log likelihood = -10.983832
bob.learn.em@2016-04-27 16:11:15,094 -- INFO: convergence value = 0.007264
```
I assume that, whatever is reported to be the log-likelihood value of the KMeans training is actually something else...https://gitlab.idiap.ch/bob/bob.bio.vein/-/issues/3Update to performances on documentation2018-05-11T07:44:39ZAndré AnjosUpdate to performances on documentation@pferrez provided the following table: [baselines.xlsx](/uploads/767d9c32c64d0bf612174913140d0815/baselines.xlsx)
It would be good to update the results on the documentation.@pferrez provided the following table: [baselines.xlsx](/uploads/767d9c32c64d0bf612174913140d0815/baselines.xlsx)
It would be good to update the results on the documentation.https://gitlab.idiap.ch/bob/bob.bio.spear/-/issues/17Test on Mac OSX fail due to some wrong path in conda environment2017-10-25T00:08:37ZPavel KORSHUNOVTest on Mac OSX fail due to some wrong path in conda environmentThe tests failed on Mac OSX, for instance: https://gitlab.idiap.ch/bob/bob.bio.spear/builds/15998
Here are more details:
https://gitlab.idiap.ch/bob/bob.bio.spear/builds/15989
I suspect that something happened just now, as 20 minutes ...The tests failed on Mac OSX, for instance: https://gitlab.idiap.ch/bob/bob.bio.spear/builds/15998
Here are more details:
https://gitlab.idiap.ch/bob/bob.bio.spear/builds/15989
I suspect that something happened just now, as 20 minutes ago tests were passing for the same code (before the merge), like here:
https://gitlab.idiap.ch/bob/bob.bio.spear/builds/15953
So, something happened in the last 20 minutes? Can you @amohammadi and @andre.anjos check?Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.extension/-/issues/28Automatic docstring generator should adopt one of "Napoleon" styles2019-09-04T13:12:40ZAndré AnjosAutomatic docstring generator should adopt one of "Napoleon" stylesWhen we wrote our documentation generator in [documentation.h](bob/extension/include/bob.extension/documentation.h), there was not a set standard for documenting functions in sphinx. Since release 1.3 (which is now required by most of ou...When we wrote our documentation generator in [documentation.h](bob/extension/include/bob.extension/documentation.h), there was not a set standard for documenting functions in sphinx. Since release 1.3 (which is now required by most of our software), there is:
http://www.sphinx-doc.org/en/stable/ext/napoleon.html
The napoleon extension is already loaded by most of our software, so it makes sense that the generator follows one of the docstring standards defined on that manual page. Some of our python-based docstrings already follow the "Google" style:
http://www.sphinx-doc.org/en/stable/ext/example_google.html#example-google
It would be good to get the C++ docs matching that.May 2017 HackathonPavel KORSHUNOVPavel KORSHUNOVhttps://gitlab.idiap.ch/bob/nightlies/-/issues/13Add bob to bob.nightlies2017-10-04T19:42:20ZAmir MOHAMMADIAdd bob to bob.nightliesAdding bob to nightlies too would be a good idea.Adding bob to nightlies too would be a good idea.Refactoring 2016 and gitlab migration milestonehttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/11Nightly builds are failing2017-10-20T02:30:35ZTiago de Freitas PereiraNightly builds are failingThe new detection implemented and merged here https://gitlab.idiap.ch/bob/bob.ip.facedetect/merge_requests/1
is making the builds failing. Look the nightlies https://gitlab.idiap.ch/bob/bob.nightlies/builds/21684
We need to update the u...The new detection implemented and merged here https://gitlab.idiap.ch/bob/bob.ip.facedetect/merge_requests/1
is making the builds failing. Look the nightlies https://gitlab.idiap.ch/bob/bob.nightlies/builds/21684
We need to update the unit tests.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob/-/issues/235bob verification databases do not use the `original_directory` and `original_...2017-08-07T12:16:54ZManuel Günthersiebenkopf@googlemail.combob verification databases do not use the `original_directory` and `original_extension` parametersSorry that I saw this soo late, after the new database packages have been published already.
I think, during the reimplementation of the databases, something got lost. In the old `bob.db.verification.database.Database` interface, at lea...Sorry that I saw this soo late, after the new database packages have been published already.
I think, during the reimplementation of the databases, something got lost. In the old `bob.db.verification.database.Database` interface, at least two parameters were accepted: `original_directory` and `original_extension`, and there was a method called `original_file_names`, which was using these parameters.
Now, this functionality seems to be completely lost. For example, `bob.db.mobio` has no way of getting the original file names, i.e., the `original_directory` and `original_extension` are not stored in the database anymore. On the other hand, you can still specify these parameters in the constructor:
https://gitlab.idiap.ch/bob/bob.db.mobio/blob/master/bob/db/mobio/query.py#L40
but they are not used anywhere in the code.
I know that most of this functionality was moved to `bob.bio.base.database.BioDatabase`. Hence, I see two different ways of handling this:
> 1. Leave the implementation in `bob.bio.base` and remove the unused keywords in the `bob.db` Database constructors. In this way, the `bob.db` databases do not have the capability to query their original data files.
> 2. Move the functionality of the old `bob.db.verification.utils.Database` into `bob.db.base` (and remove it from `bob.bio.base`). In this way, the databases themselves know their original data.
In a similar manner, the `annotations` function inside the databases are arbitrary. When annotation files are read from file (for example in `bob.db.mobio`), an implementation is provided in `bob.bio.base.database.BioDatabase`: https://gitlab.idiap.ch/bob/bob.bio.base/blob/master/bob/bio/base/database/database.py#L265, as well as in `bob.db.mobio`: https://gitlab.idiap.ch/bob/bob.db.mobio/blob/master/bob/db/mobio/query.py#L602, both of which use the same basic functionality: https://gitlab.idiap.ch/bob/bob.db.base/blob/master/bob/db/base/annotations.py#L35
Hence, to be consistent with option 1. above, we would probably want to *remove* this functionality from `bob.db.mobio`. In fact, in `bob.bio.face`, the `annotations` functionality inside `bob.db.mobio` is not used at all.
On the other hand, there are databases, which store the annotations internally, such as `bob.db.gbu`: https://gitlab.idiap.ch/bob/bob.db.gbu/blob/master/bob/db/gbu/models.py#L51 Hence, for these databases, the `bob.bio.base.database.BioDatabase.annotations`:https://gitlab.idiap.ch/bob/bob.bio.base/blob/master/bob/bio/base/database/database.py#L265 functions need to be overwritten, i.e., in order to use the annotations from those databases. However, I cannot see this happening, e.g., in `bob.bio.face.database.GBUBioDatabase` https://gitlab.idiap.ch/bob/bob.bio.face/blob/master/bob/bio/face/database/gbu.py#L16
Hence, for these databases there is currently **no way** to obtain the annotations from the original `bob.db` databases. Again, there are two solutions:
> A. provide a default implementation for these cases in `bob.bio.base.database.BioDatabase.annotations`, i.e., by checking if the low-level database has an `annotations` function.
> B. Provide these implementations in all derived classes from `BioDatabase`, where the low-level database has annotations stored internally.
I can check, which of the `bob.db` databases are affected and open according issues there. But first, we have to decide, which way to go. I personally would vote for options `1.` and `A.`, as they would require the least modifications, But I can also see the benefits of options `2.` and `B.`, which require more work, as `2.` would add more information to the low-level `bob.db` databases, and `B.` would be cleaner.
@amohammadi @andre.anjos @tiago.pereira @sebastien.marcel What is your opinion? Did I miss something here? Is `bob.db.gbu` (and others) really currently not working?May 2017 Hackathonhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/58Documentation for creating file list based databases is outdated2020-04-23T14:51:05ZAmir MOHAMMADIDocumentation for creating file list based databases is outdatedSince the API has changed, the docs are outdated as of now.
Especially there is no mention of `bio_file_class` argument.
It is also good to show a couple of examples.Since the API has changed, the docs are outdated as of now.
Especially there is no mention of `bio_file_class` argument.
It is also good to show a couple of examples.May 2017 Hackathonhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/8Algorithm.read_toscore_object should not exist2019-02-26T22:15:23ZManuel Günthersiebenkopf@googlemail.comAlgorithm.read_toscore_object should not existSimilarly to the `bob.bio.base.algorithm.Algorithm.read_probe` (see bob/bob.bio.base#79) the algorithm in `bob.pad.base` should not contain a specific function to read the probe files, but should solely rely on the `read_feature` functio...Similarly to the `bob.bio.base.algorithm.Algorithm.read_probe` (see bob/bob.bio.base#79) the algorithm in `bob.pad.base` should not contain a specific function to read the probe files, but should solely rely on the `read_feature` function of the `extractor` or the `algorithm`. See bob/bob.bio.base!78 for a possible route for a solution.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/14Both requirements.txt and test-requirements.txt packages need to be listed in...2022-06-03T15:07:39ZAmir MOHAMMADIBoth requirements.txt and test-requirements.txt packages need to be listed in develop.cfgWhen someone is developing a package, they need to run the tests! Hence, you need to add the bob packages in `test-requirements.txt` in `develop.cfg` as well.
Also, as a norm that we use in bob packages, we list not only the bob package...When someone is developing a package, they need to run the tests! Hence, you need to add the bob packages in `test-requirements.txt` in `develop.cfg` as well.
Also, as a norm that we use in bob packages, we list not only the bob packages that are used (in both requirements.txt and test-requirements.txt) but also their dependencies as well. To get the list of these packages, you can use `bob_dependecy_graph.py` from bob.extension. You need to run this on your package, `bob.pad.face` here and all **ALSO** on all packages in `test-requirements.txt`.