Contributing - aerkalov/ebooklib GitHub Wiki

Want to contribute? It's easy! We welcome bug reports, suggestions, and Pull Requests. Before submitting a Pull Request, please take a quick look at our simple guidelines. Our contribution process is straightforward, with no special procedures to worry about.

Before sending PR

Before you begin, please take a moment to check if an existing issue or Pull Request already addresses your idea or concern. If not, we encourage you to open a new issue to discuss your thoughts. If you're confident in your proposed solution, feel free to submit a Pull Request directly.

Please keep in mind that this library is actively used in many applications and websites. To ensure a smooth experience for everyone, we ask you to be mindful of potential impacts on existing users. If your contribution introduces changes that might affect current functionality, please:

  • Use Python's warnings module to notify users of the upcoming change.
  • Ensure any new, potentially breaking functionality is available on an opt-in basis during a migration period.

Comprehensive documentation is key! For any changes, especially new features, please ensure your code is well-commented and that you provide clear documentation or illustrative sample files.

To further improve code quality and consistency, we are in the process of integrating automated tools such as Python linters, formatters, tests and spell checkers into our workflow. In the meantime, we request that contributors manually apply these checks before submitting their work.

While our code currently works with both Python 2.x and 3.x, we are actively transitioning to focus exclusively on Python 3.x. This will enable us to fully utilize its capabilities, including type hints and other modern programming constructs.