Contributing Guidance#
Thank you for considering contributing to ainconv
! 😘
We are happy to have you here. This document consists of some guidelines and instructions for contributing to ainconv
.
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them.
Even if you don’t have time, you can still support the project in other ways, such as starring the project, tweeting about it, or telling your friends about it. Every little bit helps!
Table of Contents#
Reporting Bugs#
We use GitHub issues to track bugs and errors. If you run into an issue with the project, please open an issue and provide as much information as possible. This will help us to understand the problem and fix it.
Suggesting Enhancements#
If you have an idea for a new feature or an enhancement to an existing feature, please open an issue and describe the feature you would like to see. We will discuss the idea and decide if it is a good fit for the project.
Development#
General steps to contribute to the project:
Fork the repository and clone it locally.
Install Poetry and install the dependencies. (
pipx install poetry
andpoetry install
)Install Poe the Poet for tasks automation. (
pipx install poethepoet
)Make your changes and run
poe run test
to run the tests.Submit a pull request to the main repository.
Making Changes#
When committing, please also add a line to the CHANGELOG.md
under the Unreleased
section, describing the changes you made. This will help the maintainers to write the release notes when the time comes.
Commit messages need to start with a capital letter and a verb in the present tense, describing the change. For example, Add support for Katakana
or Fix bug in Cyrillic to Latin conversion
.
Improving The Documentation#
The documentation is located at docs/. You can make changes to the documentation by editing the .rst
files in this directory. The documentation is built using Sphinx. You can build the documentation locally by running poetry run make html
in the docs/
directory.
Publish a new version#
[!NOTE] You can only publish a new version if you are a maintainer of the project and have the necessary rights to do so.
[!WARNING] Do not use
poetry build
to build the package. Instead, usepoe build
to check before build to ensure that the package is ready for release.
[ ] Bump the version in
pyproject.toml
(poetry version <version>
)[ ] Update
CHANGELOG.md
with the new version fromUnreleased
. (poe changelog
)[ ] Stage and commit the changes (
git commit -am "Bump version to <version>"
)[ ] Check and build the package. (
poe build
)[ ] Create a new tag (
git tag -a <version> -m "Version <version>"
) and push it (git push --tags
)[ ] Publish the package to PyPI (and
poetry publish
)[ ] Create a new release on GitHub with the release notes from
CHANGELOG.md