Contributing to Python CoinGecko

Python CoinGecko is an open-source project and contributions are always welcome. The project has strict linting rules, so please be sure to following existing patterns and conventions.

Setting Up Your Development Environment

Note

This section assumes you have Python 3.9+ installed on your system, and uv Python package manager.

To get started, fork the python-coingecko repository on GitHub and clone your fork locally. Then, create a virtual environment and install the project dependencies:

$ uv venv
$ uv sync

Running Tests

The project uses pytest for testing. To run the test suite, use the following command:

$ make test

Linting

The project uses a combination of modern tooling for linting. To run the linter, use the following command:

$ make lint-all  # runs black, isort, ruff, mypy