Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 4.21 KB

CONTRIBUTING.md

File metadata and controls

60 lines (40 loc) · 4.21 KB

Important

You are reading the contributing guide of a fork.

This document is idtracker.ai's own, preserved here because its general guidance is good. But it points at the upstream GitLab issue tracker and at info@idtracker.ai, which are not the right places for anything about this fork.

For problems with the Detectron2 segmentation path, the tools/ pipeline, or anything else specific to this repository, open an issue at https://github.com/mbel-tech/idtrackerai-detectron2/issues.

Only report upstream if you can reproduce the problem with unmodified idtracker.ai from https://gitlab.com/polavieja_lab/idtrackerai.


Contributing to idtracker.ai

First off, thanks for taking the time to contribute! The following is a set of guidelines for contributing to idtracker.ai. These are mostly guidelines, not rules, use your best judgment 🙂.

If you are not used to work with open-source projects or you don't feel comfortable with git or GitLab, you can communicate your ideas/issues in the idtracker.ai users group or by email at info@idtracker.ai.

Code of Conduct

This project, and anyone participating in it, is governed by the Contributor Covenant. By participating, you are expected to uphold this code.

Issues

Bugs, feature requests and any other technical comments about the software are managed by using GitLab Issues. Before opening one:

While writing your issue:

  • Explain the problem and include additional details to help maintainers reproduce the problem.
  • Attach the entire log file to the issue or add the text in your terminal if it contains some extra message not present in the log file.

Repo and code structure

The repository has two main branches, master and develop. No commits should never be pushed to master, this branch should only be modified by merge requests from develop. When one of these merge happens, a new version of idtrackerai should be released by creating a tag on the master branch (then, GitLab will automatically run a CICD pipeline to publish the branch to PyPI). develop is the developing branch where all commits are accumulated until they are all merged into master. Other branches are created for specific new feature implementations or for testing and their final goal must be to be merged into the developing branch and be removed afterwards.

All commits must pass the Pre-commit check which follows this config file. It mainly consists of Black, isort and flake8. To use pre-commit:

pip install pre-commit # get the pre-commit package
pre-commit install # install pre-commit in the repo so that git knows about its existence

And done! Next commits will be automatically checked with the hooks indicated in the config file.

The pyproject.toml contains the package information and building metadata as well as other settings for developing.

All tests must succeed, you can run them with PyTest using the command pytest .. New code should include tests for it in the test folder.

Relevant code modifications should always include a record in the changelog.

Happy coding!