If this library is being useful for your research and you want to contribute to its improvement, we are happy to receive your proposals! Below you will find a guide on how you can contribute to improving anjana.
If you are using anjana and have developed a new feature (especially implementing an additional anonymity functionality), and you want to contribute to the community, follow the steps below:
-
Fork the repository.
-
Clone the local repository:
git clone https://github.com/your-user/anjana.git
-
Set up a virtual environment and install the requirements:
cd anjana virtualenv .venv -p python3 source .venv/bin/activate pip install -e .
-
Create a new brach (e.g. develop).
git checkout -b develop
-
Add the functionalities you want to contribute.
-
Include commits that are descriptive and clear about the changes made and functionality added. Make sure you create Semantic Commit Messages (conventional commits) including the use of flags such as
feat
,fix
,refactor
,test
, etc. -
Check the style and that linting is successfully executed by using
tox
. -
Check that the code coverage is greater than 90%:
pytest --cov=.
-
Send your code to your fork:
git push
-
Open a pull request from your fork.
If you have found a bug with some functionality of the library, it is recommended that you open an issue so that we can solve it. You can follow the next steps:
- First, check that it is not an open issue or one that has been previously resolved.
- Give us information about the issue: clearly describe what you expected to receive and the error that occurred.
- Describe clearly the steps that will allow us to reproduce your error, indicating the function you are using and details about the input introduced.
- Provide us details about the computing environment used: operating system, version of Python used and version of Anajan used.
Any additional details you consider important will help us to resolve it more quickly.
If you are missing some functionality that you would like to see implemented in anjana, you can request it by opening an issue as indicated in the previous section.
- check that this functionality is not included or has not been previously requested in another issue.
- Give us information about the required functionality, including why it is important for the users to have it be available in anjana.
- Include theoretical information about the new technique or feature requested, including papers supporting its usefulness.