Skip to main content

A plugin for tox that utilizes PDM as the package manager and installer

Project description

tox-pdm

A plugin for tox that utilizes PDM as the package manager and installer.

Github Actions PyPI pre-commit Code style: black

With this plugin, you can migrate your project to PDM while retaining the ability to test against multiple versions.

Installation

$ pip install tox-pdm

Or,

$ pdm add -d tox-pdm

Or if you installed tox via pipx, you can inject the plugin by:

$ pipx inject tox tox-pdm

Example tox.ini

The following simple example installs dev and test dependencies into the venv created by Tox and uses pytest to execute the tests, on both Python 3.7 and 3.8.

[tox]
envlist = py37,py38
isolated_build = True  ; This is required for a pyproject.toml based project.

[testenv]
groups =  ; Dependency groups in pyproject.toml
    dev
    test
deps =      ; Additional dependencies, it will be installed into the library path via normal pip method
    flake8
commands =
    pytest test/

Here is another one installing the test dependencies and executing the test PDM script

[tox]
envlist = py3{8,9,10}
isolated_build = True  ; This is required for a pyproject.toml based project.

[testenv]
groups = test
commands = test

A real-world example can be found at this repository's tox.ini and GitHub Action workflow.

Some best practices:

  1. pdm executable must be exposed in PATH, if it is not the case, give the absolute path to tox by tox --pdm <path_to_pdm>.
  2. Make sure you have generated pdm.lock before running the test, it will greatly accelerate the testing.
  3. If you don't set skip_install = true, the current package will be built and installed into the testing environment together with the dependencies from pyproject.toml.
  4. Reuse your PDM scripts to avoid duplication

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

tox-pdm-0.5.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

tox_pdm-0.5.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file tox-pdm-0.5.0.tar.gz.

File metadata

  • Download URL: tox-pdm-0.5.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for tox-pdm-0.5.0.tar.gz
Algorithm Hash digest
SHA256 45531c80c9670e7d9a0109ec5ab0d9add0492db4b41aa4ae0f20b295e4fd60e3
MD5 dfd289689402e4b947318550c8de18d6
BLAKE2b-256 0ebb7b4956b7549bba40ef8d7de808a4732e340b81fd2c1975cebc5c16ba54d0

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: tox_pdm-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for tox_pdm-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0075ff9ed47ee13dc6e55122e6da121661a5553a633b8dd278013fbee81e4bb4
MD5 78ba3929884c3f7bc0e875ad1da0d4fe
BLAKE2b-256 25de6616dd1a9d80a41165358534f3aa2e4f303a68abe587ca10acd5034d1024

See more details on using hashes here.

Provenance

Supported by

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