https://github.com/bckohan/ptm
A portable test environment matrix generator for python packages.
https://github.com/bckohan/ptm
dependencies environment matrix packaging portable python strategy test testing uv venv
Last synced: 29 days ago
JSON representation
A portable test environment matrix generator for python packages.
- Host: GitHub
- URL: https://github.com/bckohan/ptm
- Owner: bckohan
- License: mit
- Created: 2025-02-28T20:01:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T08:07:41.000Z (over 1 year ago)
- Last Synced: 2025-12-29T00:57:56.820Z (6 months ago)
- Topics: dependencies, environment, matrix, packaging, portable, python, strategy, test, testing, uv, venv
- Language: Python
- Homepage:
- Size: 127 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Portable Test Matrix (PTM)
A portable test environment matrix generator for python packages.
The goal of PTM is to as simply as possible:
0. Use project's package manager directly for virtual environment management (uv by default).
1. Specify testing dependency environments in pyproject.toml
2. Define environments by:
* python versions
* dependency versions
* extras
* groups
* markers
* environment variables
* version solving strategy (e.g. lowest vs highest)
* tags
2. Integrate seamlessly with github actions.
- Allow environments to be read into the GHA strategy matrix.
3. Produce test matrix visualizations.
4. Remote test matrix definitions (drive matrix from a URL holding a toml config)
5. Dynamic Test Strategies (Experimental)
- Driven off endoflife.date
- Dynamic dependency ranges
**PTM is not a test runner it is an environment definer, visualizer and bootstrapper.**
*visualization idea: 2D: version x package matrix, heatmapped with shading based on number of runs version appears in, and when a version is hovered over the versions of other packages that are tested in combo are highlighted*