Contributing to PlutoPrint

We welcome contributions! PlutoPrint is a Python wrapper around a C++ library, so the environment setup is slightly more involved than pure Python projects.

Development Environment

  1. Clone the repository:

    git clone https://github.com/plutoprint/plutoprint
    cd plutoprint

  2. Install Build Tools: You need a C++ compiler, meson, and ninja. See the Installation page for platform-specific dependencies.

  3. Install Python Dev Dependencies:

    pip install -r docs/requirements.txt
    pip install pytest meson-python build

Running Tests

The project uses pytest.

python -m pytest

Tests are located in the tests/ directory and cover Book rendering, canvas operations, and configuration objects.

Submitting Pull Requests

  1. Fork the repository.
  2. Create a feature branch.
  3. Ensure all tests pass.
  4. Submit a PR describing your changes.