Skip to main content

Package for running linters, static type checkers and code analysis tools on python code in quarto (.qmd) files.

Project description

lintquarto

Code licence ORCID PyPI Anaconda-Server Badge DOI Coverage

PyPI downloads PyPI downloads PyPI downloads


Package for running linters, static type checkers and code analysis tools on python code in quarto (.qmd) files.

Currently supported:

Code licence

Linting illustration


Installation

You can install lintquarto with pip (from PyPI) or conda (from conda-forge).

Install with pip

pip install lintquarto

To include your selection of linters, install them as needed.

For a one-step installation that includes lintquarto and all supported linters and type checkers, use:

pip install lintquarto[all]

Install with conda

conda install conda-forge::lintquarto

With conda, only the main lintquarto tool is installed. If you want to use any linters or type checkers, you must install them separately (either with conda or pip, depending on availability).


Getting started using lintquarto

Usage

lintquarto -l LINTER [LINTER ...] -p PATH [PATH ...] [-e EXCLUDE [EXCLUDE ...]] [-k]

  • -l --linters LINTER [LINTER ...] - Linters to run.
  • -p --paths PATH [PATH ...]- Quarto files and/or directories to lint.
  • -e --exclude EXCLUDE [EXCLUDE ...] - Files and/or directories to exclude from linting.
  • -k, --keep-temp - Keep the temporary .py files created during linting (for debugging).

Passing extra arguments directly to linters is not supported. Only .qmd files are processed.

Examples

The linter used is interchangeable in these examples.

Lint all .qmd files in the current directory (using pylint):

lintquarto -l pylint -p .

Lint several specific files (using pylint and flake8):

lintquarto -l pylint flake8 -p file1.qmd file2.qmd

Keep temporary .py files after linting (with pylint)

lintquarto -l pylint -p . -k

Lint all files in current directory (using ruff):

  • Excluding folders examples/ and ignore/, or-
  • Excluding a specific file analysis/test.qmd.
lintquarto -l ruff -p . -e examples,ignore
lintquarto -l ruff -p . -e analysis/test.qmd

Community

Curious about contributing? Check out the contributing guidelines to learn how you can help. Every bit of help counts, and your contribution - no matter how minor - is highly valued.


How to cite lintquarto

Please cite the repository on GitHub, PyPI, conda and/or Zenodo:

Heather, A. (2025). lintquarto (v0.5.0). https://github.com/lintquarto/lintquarto.

Heather, A. (2025). lintquarto (v0.5.0). https://pypi.org/project/lintquarto/.

Heather, A. (2025). lintquarto (v0.5.0). https://anaconda.org/conda-forge/lintquarto.

Heather, A. (2025). lintquarto (v0.5.0). https://doi.org/10.5281/zenodo.15731161.

Citation instructions are also provided in CITATION.cff.


Acknowledgements

This project was written and maintained by hand, while making occasional use of Perplexity. For transparency, this is acknowledged, but the project should not be considered AI‑generated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lintquarto-0.5.0.tar.gz (658.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lintquarto-0.5.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file lintquarto-0.5.0.tar.gz.

File metadata

  • Download URL: lintquarto-0.5.0.tar.gz
  • Upload date:
  • Size: 658.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for lintquarto-0.5.0.tar.gz
Algorithm Hash digest
SHA256 fe1ec9247201bc3446569bbf18bb75e771cdc26d58a7db4255af40e4b903ceb7
MD5 18b4a17d934b72bc2058e634694dbc14
BLAKE2b-256 93409c0666a12e4624c75a6a2ff70318c62c97be509010a61228e42bc24b334a

See more details on using hashes here.

File details

Details for the file lintquarto-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: lintquarto-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for lintquarto-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92feb12a56791e38924749ce428776f144620c3a6a878be1c5750442bdee5b27
MD5 89c3380316bfbb5463d880a1d581e5ad
BLAKE2b-256 bbbb0a13e63c9a0840570467ca3c52c9e5aef4741e6bb28013f809012f2ea44c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page