Thank you for taking the time to contribute to the fr-format project! Your help is greatly appreciated.
We welcome all forms of contributions:
- Reporting issues or suggesting improvements
- Improving and adding documentation
- Enhancing code
In all cases, ensure you are working with the latest version of the project.
For more details, follow the sections below.
If you encounter a bug or have a suggestion, please:
- Check if the issue already exists in the Github Issues section.
- Provide a detailed issue report is very appreciated!
Including:
- A clear description of the problem or suggestion.
- Steps to reproduce the bug (if applicable).
- Any relevant logs or screenshots.
If you want to propose a new format, please verify:
- that it does not already exists in the list of available formats
- that the new format is relevant. The scope of fr-format is exclusively specifically French formats.
See the specific section below for guidelines on implementing a new format.
All documentation files are located in docs folder.
Also, if you identify areas for improvement in the documentation, please contribute!
See the developper documentation for details on how to setup the project, and the code style guidelines.
- Create a fork of the repository.
- Implement your changes and test them :
- Run
uv run pytestto execute tests. - Use
uv run ruff check --select I --fix && uv run ruff formatto ensure your code follows the project's style guidelines.
- Run
- Document your changes:
- Provide a clear explanation in your pull request description.
- Add comments to your code if necessary.
- If your changes include new features, please document them in the "./docs" folder. New formats' documentation are automatically generated (see below).
- Finally, submit your pull request.
After verification, these are the steps to add it:
- Create a new file in
frformat/formatsto implement the format validation logic. The most generic format interface isCustomFormat, but look out for helper functions (e.g. inset_format.py) for specific cases. (You can take examples from the existing code.) - Write tests for it!
- Fix Linting problems running
uv run ruff check --select I --fix && uv run ruff format. - Import the format inside
./frformat/__init__and add it to theall_formatslist. - Run
uv run python .utils/generate_docs.pyto update the format documentation.
By contributing to fr-format, you agree that your contributions will be licensed under the project's open-source license.
Thank you for your contribution!