mirror of
https://github.com/ocrmypdf/OCRmyPDF.git
synced 2025-08-10 17:51:41 +00:00
58 lines
1.9 KiB
ReStructuredText
58 lines
1.9 KiB
ReStructuredText
=======================
|
|
Contributing guidelines
|
|
=======================
|
|
|
|
Contributions are welcome!
|
|
|
|
Big changes
|
|
===========
|
|
|
|
Please open a new issue to discuss or propose a major change. Not only is it fun
|
|
to discuss big ideas, but we might save each other's time too. Perhaps some of the
|
|
work you're contemplating is already half-done in a development branch.
|
|
|
|
Code style
|
|
==========
|
|
|
|
We use PEP8, ``black`` for code formatting and ``isort`` for import sorting. The
|
|
settings for these programs are in ``pyproject.toml`` and ``setup.cfg``. Pull
|
|
requests should follow the style guide. One difference we use from "black" style
|
|
is that strings shown to the user are always in double quotes (``"``) and strings
|
|
for internal uses are in single quotes (``'``).
|
|
|
|
Tests
|
|
=====
|
|
|
|
New features should come with tests that confirm their correctness.
|
|
|
|
New Python dependencies
|
|
=======================
|
|
|
|
If you are proposing a change that will require a new Python dependency, we
|
|
prefer dependencies that are already packaged by Debian or Red Hat. This makes
|
|
life much easier for our downstream package maintainers.
|
|
|
|
Python dependencies must also be GPLv3 compatible.
|
|
|
|
New non-Python dependencies
|
|
===========================
|
|
|
|
OCRmyPDF uses several external programs (Tesseract, Ghostscript and others) for
|
|
its functionality. In general we prefer to avoid adding new external programs.
|
|
|
|
Style guide: Is it OCRmyPDF or ocrmypdf?
|
|
========================================
|
|
|
|
The program/project is OCRmyPDF and the name of the executable or library is ocrmypdf.
|
|
|
|
Known ports/packagers
|
|
=====================
|
|
|
|
OCRmyPDF has been ported to many platforms already. If you are interesting in
|
|
porting to a new platform, check with
|
|
`Repology <https://repology.org/projects/?search=ocrmypdf>`__ to see the status
|
|
of that platform.
|
|
|
|
Packager maintainers, please ensure that the command line completion scripts in
|
|
``misc/`` are installed.
|