bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2023-01-30T16:28:42Zhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/93MTCNN comes without Non-Maximum-Suppression (NMS)2023-01-30T16:28:42ZManuel Günthersiebenkopf@googlemail.comMTCNN comes without Non-Maximum-Suppression (NMS)When running our MTCNN face detector, we get a lot of overlapping detections. Typically, these are removed with a non-maximum-suppression algorithm, see for example here: https://github.com/TropComplique/mtcnn-pytorch/blob/45b34462fc995e...When running our MTCNN face detector, we get a lot of overlapping detections. Typically, these are removed with a non-maximum-suppression algorithm, see for example here: https://github.com/TropComplique/mtcnn-pytorch/blob/45b34462fc995e6b8dbd17545b799e8c8a30026b/src/detector.py#L120 or in our TinyFaces implementation: https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/de683894f9f14876293ad56390f4c34e7dd83234/src/bob/bio/face/annotator/tinyface.py#L229
However, our MTCNN implementation returns the outputs of the network unfiltered, leading to many overlapping detections: https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/de683894f9f14876293ad56390f4c34e7dd83234/src/bob/bio/face/annotator/mtcnn.py#L113
When using only the first annotation as often done in our pipelines, this is not a big issue since NMS would just remove the overlapping boxes. When we need to detect more than one face in an image, on the other hand, we get a lot of repeated detections.
I would recommend to make the NMS function from TinyFaces accessible for other functions, and make use of it in MTCNN as well to filter out overlapping faces.https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/45CheckpointWrapper on annotator, saving the original dataset images as well as...2023-01-27T17:11:33ZAlain KOMATYCheckpointWrapper on annotator, saving the original dataset images as well as the annotations - waste of sapce!Hello,
When choosing to checkpoint in the pipeline, the annotator folder will contain the original images of the dataset instead of the annotations (face landmarks for example). One solution is the wrap a CheckpointWrapper around the an...Hello,
When choosing to checkpoint in the pipeline, the annotator folder will contain the original images of the dataset instead of the annotations (face landmarks for example). One solution is the wrap a CheckpointWrapper around the annotator. This will save the annotations in the annotator folder, but it will also save the original images, because now it is wrapped twice!
This problem comes from the [_wrap](https://gitlab.idiap.ch/bob/bob.pipelines/-/blob/master/src/bob/pipelines/wrappers.py#L1014) function in the [wrappers](https://gitlab.idiap.ch/bob/bob.pipelines/-/blob/master/src/bob/pipelines/wrappers.py) module.
Thanks to @cecabert, who pointed that in this function, there is no test whether the `estimator` is already an instance of CheckpointWrapper or not! One possible solution could be as follows (tested it and it is working for my pipelines):
```python
def _wrap(estimator, **kwargs):
# wrap the object and pass the kwargs
for w_class in bases:
valid_params = w_class._get_param_names()
params = {k: kwargs.pop(k) for k in valid_params if k in kwargs}
if estimator is None:
estimator = w_class(**params)
else:
if not isinstance(estimator, w_class):
estimator = w_class(estimator, **params)
return estimator, kwargs
```Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/112`bdt ci check` is executed on the nightlies job2022-12-22T10:28:13ZSamuel GAIST`bdt ci check` is executed on the nightlies jobWhy do the nightlies job run `bdt ci check` before doing their actual work ?
The way these checks are implemented are specific to bob's packages which the nightlies are not.
It breaks both beat and bob nigthlies run.Why do the nightlies job run `bdt ci check` before doing their actual work ?
The way these checks are implemented are specific to bob's packages which the nightlies are not.
It breaks both beat and bob nigthlies run.André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/92MTCNN models should not be with the code2022-12-21T15:49:25ZYannick DAYERMTCNN models should not be with the codeBig files should not be in a git repository.
TODO:
- Upload the model (`src/bob/bio/face/mtcnn.pb`) on the WebDav server (like https://www.idiap.ch/software/bob/data/bob.bio.face)
- Use the download utility to retrieve the file at runti...Big files should not be in a git repository.
TODO:
- Upload the model (`src/bob/bio/face/mtcnn.pb`) on the WebDav server (like https://www.idiap.ch/software/bob/data/bob.bio.face)
- Use the download utility to retrieve the file at runtime in `bob_data`.Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/26Youtube database is missing protocols2022-12-21T15:30:15ZYannick DAYERYoutube database is missing protocolsThe new Youtube CSVDatabase protocol definition files are missing protocols `fold1` through `fold9`.
They need to be generated from the old version of the database (bob=11), and tests added to follow the change.The new Youtube CSVDatabase protocol definition files are missing protocols `fold1` through `fold9`.
They need to be generated from the old version of the database (bob=11), and tests added to follow the change.Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/91Face cropping by bounding box fails with negative top/left coordinates2023-02-15T11:40:14ZManuel Günthersiebenkopf@googlemail.comFace cropping by bounding box fails with negative top/left coordinatesIn case of negative annotations of the bounding box, cropping the face will result in an error.
Apparently, the range
```
X[...,top:bottom,left:right]
```
will result in a dimension of 0 when top or left is negative, and therefore the ...In case of negative annotations of the bounding box, cropping the face will result in an error.
Apparently, the range
```
X[...,top:bottom,left:right]
```
will result in a dimension of 0 when top or left is negative, and therefore the cropping via OpenCV will fail:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/fb8ffece2423465fdbe6325c75845817d4b53a92/bob/bio/face/preprocessor/croppers.py#L390
Please note that the cropping works well for `FaceEyesNorm`, where the corresponding dimensions are padded before extraction: https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/fb8ffece2423465fdbe6325c75845817d4b53a92/bob/bio/face/preprocessor/croppers.py#L294
Maybe we can make use of the `FaceEyesNorm` class here instead of trying to do the cropping by hand.
Additionally, in the same line of code, it is assumed that the bounding box has the same aspect ratio as the `self.final_image_size`.
If this is not the case, the facial image will be distorted.
It would be great if we could adapt top/bottom or left/right such that the aspect ratio of the target size is kept (as far as possible, despite rounding issues).https://gitlab.idiap.ch/bob/bob.bio.spear/-/issues/45Fix pipeline naming issue for GMM voxforge2022-12-05T16:15:08ZFlavio TARSETTIFix pipeline naming issue for GMM voxforgeAn issue was introduced when renaming pipelines configuration. The setup.py file seems to be corrupted with wrong pipeline information.An issue was introduced when renaming pipelines configuration. The setup.py file seems to be corrupted with wrong pipeline information.Roadmap to the major version of Bob 12Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/44check_parameters_for_validity does not always return the same type2022-12-06T11:13:39ZYannick DAYERcheck_parameters_for_validity does not always return the same typeCurrently, `bob.pipelines.utils.check_parameters_for_validity` can return ["a list or tuple"](https://gitlab.idiap.ch/bob/bob.pipelines/-/blob/master/src/bob/pipelines/utils.py#L117).
This seems weird to return a list **or** a tuple. An...Currently, `bob.pipelines.utils.check_parameters_for_validity` can return ["a list or tuple"](https://gitlab.idiap.ch/bob/bob.pipelines/-/blob/master/src/bob/pipelines/utils.py#L117).
This seems weird to return a list **or** a tuple. And somewhere down the line, we actually expect a list (with a `remove` method).
Could you ensure that this returns a `list` in all cases (and edit the docstring to reflect that)?André MAYORAZAndré MAYORAZhttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/25Install ffmpeg on macOS M12022-11-17T16:03:29ZAndré MAYORAZInstall ffmpeg on macOS M1Using methods from `imageio-ffmpeg` on macOS M1 leads to the following error:
```
RuntimeError: No FFmpeg exe could be found. Install FFmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.
```
According to [this issue...Using methods from `imageio-ffmpeg` on macOS M1 leads to the following error:
```
RuntimeError: No FFmpeg exe could be found. Install FFmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.
```
According to [this issue on github](https://github.com/imageio/imageio-ffmpeg/issues/71), the package FFmpeg is currently not included in the wheel of the imageio-ffmpeg library for macOS M1. But it would work using conda.
This would mean that we have to find a workaround to install ffmpeg if we don't want to use conda or wait that the maintainers of `imageio-ffmpeg` to create a proper wheel for this OShttps://gitlab.idiap.ch/bob/bob.learn.em/-/issues/49dask problem with fitting GMMMachine ...2022-11-10T12:13:55ZPasra Rahimidask problem with fitting GMMMachine ...Can you guys check this error? The original script can be found at `/idiap/temp/prahimi/latentplay/gmm/gmm.py`
```bash
Loading latent data ...
Done loading.
(50000, 9216)
Working on GMMMachine with number of mixture models set to : 10...Can you guys check this error? The original script can be found at `/idiap/temp/prahimi/latentplay/gmm/gmm.py`
```bash
Loading latent data ...
Done loading.
(50000, 9216)
Working on GMMMachine with number of mixture models set to : 10
Traceback (most recent call last):
File "/somewhere/exps/latentplay/gmm/gmm.py", line 38, in <module>
machine = machine.fit(latents)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/bob/learn/em/gmm.py", line 792, in fit
self.initialize_gaussians(X)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/bob/learn/em/gmm.py", line 731, in initialize_gaussians
kmeans_machine = kmeans_machine.fit(data)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/bob/learn/em/kmeans.py", line 328, in fit
self.initialize(data=X)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/bob/learn/em/kmeans.py", line 312, in initialize
self.centroids_ = k_init(
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask_ml/cluster/k_means.py", line 365, in k_init
return init_scalable(X, n_clusters, random_state, max_iter, oversampling_factor)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask_ml/utils.py", line 550, in wraps
results = f(*args, **kwargs)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask_ml/cluster/k_means.py", line 423, in init_scalable
(cost,) = compute(evaluate_cost(X, centers))
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask_ml/cluster/k_means.py", line 486, in evaluate_cost
return (pairwise_distances(X, centers).min(1) ** 2).sum()
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask_ml/metrics/pairwise.py", line 59, in pairwise_distances
return X.map_blocks(
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask/array/core.py", line 2676, in map_blocks
return map_blocks(func, self, *args, **kwargs)
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask/array/core.py", line 873, in map_blocks
out = blockwise(
File "/somewhere/mambaforge/envs/latentplay/lib/python3.10/site-packages/dask/array/blockwise.py", line 269, in blockwise
raise ValueError(
ValueError: Dimension 1 has 2 blocks, adjust_chunks specified with 1 blocks
```Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/90Where went `CSVDatasetZTNorm` ?2023-02-20T08:45:24ZChristophe ECABERTWhere went `CSVDatasetZTNorm` ?With recent `csv-dataset` refactoring, some derived classes have been left on the side. With changes partially pushed to `bob` a simple import like `from bob.bio.face.database import MobioDatabase` will leads to:
```
ImportError: canno...With recent `csv-dataset` refactoring, some derived classes have been left on the side. With changes partially pushed to `bob` a simple import like `from bob.bio.face.database import MobioDatabase` will leads to:
```
ImportError: cannot import name 'CSVDatasetZTNorm' from 'bob.bio.base.database'
```
Which is quite inconvenient.https://gitlab.idiap.ch/bob/bob.bio.demographics/-/issues/3Default value of boxplot percentile should be None2022-10-28T15:14:44ZYu LinghuDefault value of boxplot percentile should be NoneIn `plot.py`, the `percentile` could be either `None` or a `float` between 0 and 1, but the `type` defined in click option is `float`. So `None` is not a valid entry in the command line (`--percentile None`). In this case, the default fo...In `plot.py`, the `percentile` could be either `None` or a `float` between 0 and 1, but the `type` defined in click option is `float`. So `None` is not a valid entry in the command line (`--percentile None`). In this case, the default for option `--percentile` should be None so that it is possible to change to a `float` later. When the default is a `float` like `0.5`, then if we want to take the whole scores to make boxplot, then entry `--percentile None` will bring an Error.
I have this command updated in branch `change_boxplot_percentile_default`, but it cannot pass the CI/CD because the name updates in `bob.bio.base` are not updated here. I will take care of it if necessary.https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/43Remove Bob Extension as dependency2024-01-08T13:57:32ZAndré MAYORAZRemove Bob Extension as dependencyBob extension has to be removed. It is used at three places in this package :
- [x] bob.pipelines/doc/conf.py
- To load the association list for the packages for intersphinx. We have to see if it is better to do the association between ...Bob extension has to be removed. It is used at three places in this package :
- [x] bob.pipelines/doc/conf.py
- To load the association list for the packages for intersphinx. We have to see if it is better to do the association between the package and their URL directly or any other solution.
- [x] bob.pipelines/src/bob/pipelines/distributed/sge.py
- To load the rc configuration. This can be replaced by the [exposed](https://gitlab.idiap.ch/bob/exposed) package
- [x] bob.pipelines/src/bob/pipelines/datasets.py
- To list the files and folders inside a folder or a tarball and search for files either in a file structure or in a tarball.Roadmap to the major version of Bob 12André MAYORAZAndré MAYORAZhttps://gitlab.idiap.ch/bob/bob.learn.em/-/issues/48Token for pypi deployment2022-10-19T16:24:39ZAndré MAYORAZToken for pypi deploymentThere is currently a problem with the local-pypi job that is supposed to deploy the package :
```
$ test -z "${CI_COMMIT_TAG}" && citool deregister --git-url "${CI_SERVER_URL}" --token "${PYPI_PACKAGE_REGISTRY_TOKEN}" --project "${CI_PRO...There is currently a problem with the local-pypi job that is supposed to deploy the package :
```
$ test -z "${CI_COMMIT_TAG}" && citool deregister --git-url "${CI_SERVER_URL}" --token "${PYPI_PACKAGE_REGISTRY_TOKEN}" --project "${CI_PROJECT_ID}" --name "${PACKAGE_NAME}" --version "${PACKAGE_VERSION}"
Traceback (most recent call last):
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/exceptions.py", line 333, in wrapped_f
return f(*args, **kwargs)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/mixins.py", line 246, in list
obj = self.gitlab.http_list(path, **data)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/client.py", line 942, in http_list
gl_list = GitlabList(self, url, query_data, get_next=False, **kwargs)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/client.py", line 1144, in __init__
self._query(url, query_data, **self._kwargs)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/client.py", line 1154, in _query
result = self._gl.http_request("get", url, query_data=query_data, **kwargs)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/client.py", line 798, in http_request
raise gitlab.exceptions.GitlabHttpError(
gitlab.exceptions.GitlabHttpError: 403: 403 Forbidden
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/scratch/builds/bob/bob.learn.em/venv/bin/citool", line 8, in <module>
sys.exit(main())
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/citools/script.py", line 54, in main
args.func(args)
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/citools/deregister.py", line 43, in _wrapper
for p in proj.packages.list():
File "/scratch/builds/bob/bob.learn.em/venv/lib/python3.10/site-packages/gitlab/exceptions.py", line 335, in wrapped_f
raise error(e.error_message, e.response_code, e.response_body) from e
gitlab.exceptions.GitlabListError: 403: 403 Forbidden
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1
```
The problem is in the call of `for p in proj.packages.list():` in the `citools/deregister.py` file.
From what I investigated, the `gitlab.exceptions.GitlabListError: 403: 403 Forbidden` error could indicate that no token is provided to Gitlab, and therefore the runner cannot access to the packages.
For info, `proj.packages.list()` calls here:
```
curl --header "PRIVATE-TOKEN: <token>" "https://gitlab.idiap.ch/api/v4/projects/1510/packages"
```
If an invalid token is given, it returns `{"message":"401 Unauthorized"}` but if no token is given, it returns `{"message":"403 Forbidden"}`
This would mean that `${PYPI_PACKAGE_REGISTRY_TOKEN}` is never set.
Where is it supposed to be set?
And why not use `${CI_JOB_TOKEN}` as `deregister.py` calls Gitlab API methods ?https://gitlab.idiap.ch/bob/bob.learn.em/-/issues/47Use the "src" folder layout2022-10-21T10:06:38ZYannick DAYERUse the "src" folder layoutWe should switch to the "src" layout and have all sources in an `src` folder, and tests in a `tests` folder.
It would be good to test `cookiecutter-pypackage` while doing this to have a clean base and see if it will be easy to use for t...We should switch to the "src" layout and have all sources in an `src` folder, and tests in a `tests` folder.
It would be good to test `cookiecutter-pypackage` while doing this to have a clean base and see if it will be easy to use for the upcoming bob packages upgrade.Roadmap to the major version of Bob 12https://gitlab.idiap.ch/bob/bob.extension/-/issues/90Switch to new CI/CD configuration2022-10-12T14:12:44ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [ ] Modify `pyproject.toml`,
- Add information from `setup.py`,
- [ ] Empty `setup.py`,
- Leave the call to `setup()` for compatibility,
- [ ] Mo...We need to adapt this package to the new CI/CD and package format using citools:
- [ ] Modify `pyproject.toml`,
- Add information from `setup.py`,
- [ ] Empty `setup.py`,
- Leave the call to `setup()` for compatibility,
- [ ] Modify `conda/meta.yaml`,
- [ ] Remove test and documentation commands,
- [ ] Import names from `pyproject.toml`,
- [ ] Modify `.gitlab-ci.yml`,
- Use the nicer format instead of the URL,
- [ ] Add the project path to PATH in `doc/conf.py`,
- [ ] Remove `version.txt` and put the version in `pyproject.toml`.
You can look at bob.learn.em!68 for an example of a ported package.Roadmap to the major version of Bob 12https://gitlab.idiap.ch/bob/bob/-/issues/274Switch to new CI/CD configuration2023-06-13T14:59:52ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [ ] Modify `pyproject.toml`,
- Add information from `setup.py`,
- [ ] Empty `setup.py`,
- Leave the call to `setup()` for compatibility,
- [ ] Mo...We need to adapt this package to the new CI/CD and package format using citools:
- [ ] Modify `pyproject.toml`,
- Add information from `setup.py`,
- [ ] Empty `setup.py`,
- Leave the call to `setup()` for compatibility,
- [ ] Modify `conda/meta.yaml`,
- [ ] Remove test and documentation commands,
- [ ] Import names from `pyproject.toml`,
- [ ] Modify `.gitlab-ci.yml`,
- Use the nicer format instead of the URL,
- [ ] Add the project path to PATH in `doc/conf.py`,
- [ ] Remove `version.txt` and put the version in `pyproject.toml`.
You can look at bob.learn.em!68 for an example of a ported package.
*Note: This one might require special care compared to other ported packages as it is not a simple package*Roadmap to the major version of Bob 12https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/42Switch to new CI/CD configuration2023-01-02T14:21:40ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requir...We need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requirements.txt` and `conda/meta.yaml`,
- [x] Empty `setup.py`:
- Leave the call to `setup()` for compatibility,
- [x] Remove `version.txt`,
- [x] Remove `requirements.txt`,
- [x] Modify `conda/meta.yaml`,
- [x] Import data from `pyproject.toml` (`name`, `version`, ...),
- [x] Add the `source.path` field with value `..`,
- [x] Add the `build.noarch` field with value `python`,
- [x] Edit the `build.script` to only contain `"{{ PYTHON }} -m pip install {{ SRC_DIR }} -vv"`,
- [x] Remove test and documentation commands and comments,
- [x] Modify `.gitlab-ci.yml` to point to citools' `python.yml`,
- Use the fields format instead of the URL,
- [x] Move files to follow the `src` layout:
- [x] the whole `bob` folder to `src/bob/`,
- [x] all the tests in `tests/`,
- [x] the test data files in `tests/data`,
- [x] Edit the tests to load the data correctly, either with `os.path.join(os.path.basename(__file__), "data/xxx.txt")` or `pkg_resources.resource_filename(__name__, "data/xxx.txt")`,
- [x] Activate the `packages` option in `settings -> general -> visibility` in the Gitlab project,
- [x] Edit the latest doc badges to point to the `sphinx` directory in `doc/[...]/master`:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Edit the coverage badges to point to the doc's coverage directory:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Ensure the CI pipeline passes.
You can look at [bob.learn.em](https://gitlab.idiap.ch/bob/bob.learn.em) for an example of a ported package.Roadmap to the major version of Bob 12https://gitlab.idiap.ch/bob/bob.pad.face/-/issues/50Switch to new CI/CD configuration2023-01-05T09:26:49ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requir...We need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requirements.txt` and `conda/meta.yaml`,
- [x] Empty `setup.py`:
- Leave the call to `setup()` for compatibility,
- [x] Remove `version.txt`,
- [x] Remove `requirements.txt`,
- [x] Modify `conda/meta.yaml`,
- [x] Import data from `pyproject.toml` (`name`, `version`, ...),
- [x] Add the `source.path` field with value `..`,
- [x] Add the `build.noarch` field with value `python`,
- [x] Edit the `build.script` to only contain `"{{ PYTHON }} -m pip install {{ SRC_DIR }} -vv"`,
- [x] Remove test and documentation commands and comments,
- [x] Modify `.gitlab-ci.yml` to point to citools' `python.yml`,
- Use the fields format instead of the URL,
- [x] Move files to follow the `src` layout:
- [x] the whole `bob` folder to `src/bob/`,
- [x] all the tests in `tests/`,
- [x] the test data files in `tests/data`,
- [x] Edit the tests to load the data correctly, either with `os.path.join(os.path.basename(__file__), "data/xxx.txt")` or `pkg_resources.resource_filename(__name__, "data/xxx.txt")`,
- [x] Activate the `packages` option in `settings -> general -> visibility` in the Gitlab project,
- [x] Edit the latest doc badges to point to the `sphinx` directory in `doc/[...]/master`:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Edit the coverage badges to point to the doc's coverage directory:
- [x] in README.md,
- [x] in the GitLab project settings,
- [ ] Ensure the CI pipeline passes.
You can look at [bob.learn.em](https://gitlab.idiap.ch/bob/bob.learn.em) for an example of a ported package.Roadmap to the major version of Bob 12André MAYORAZAndré MAYORAZhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/44Switch to new CI/CD configuration2023-01-26T17:09:17ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requir...We need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requirements.txt` and `conda/meta.yaml`,
- [x] Empty `setup.py`:
- Leave the call to `setup()` for compatibility,
- [x] Remove `version.txt`,
- [x] Remove `requirements.txt`,
- [x] Modify `conda/meta.yaml`,
- [x] Import data from `pyproject.toml` (`name`, `version`, ...),
- [x] Add the `source.path` field with value `..`,
- [x] Add the `build.noarch` field with value `python`,
- [x] Edit the `build.script` to only contain `"{{ PYTHON }} -m pip install {{ SRC_DIR }} -vv"`,
- [x] Remove test and documentation commands and comments,
- [x] Modify `.gitlab-ci.yml` to point to citools' `python.yml`,
- Use the fields format instead of the URL,
- [x] Move files to follow the `src` layout:
- [x] the whole `bob` folder to `src/bob/`,
- [x] all the tests in `tests/`,
- [x] the test data files in `tests/data`,
- [x] Edit the tests to load the data correctly, either with `os.path.join(os.path.basename(__file__), "data/xxx.txt")` or `pkg_resources.resource_filename(__name__, "data/xxx.txt")`,
- [x] Activate the `packages` option in `settings -> general -> visibility` in the Gitlab project,
- [x] Edit the latest doc badges to point to the `sphinx` directory in `doc/[...]/master`:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Edit the coverage badges to point to the doc's coverage directory:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Ensure the CI pipeline passes.
You can look at [bob.learn.em](https://gitlab.idiap.ch/bob/bob.learn.em) for an example of a ported package.Roadmap to the major version of Bob 12André MAYORAZAndré MAYORAZ