Skip to main content

pytest-conda-solvers

PyPI version Python versions Documentation

A pytest plugin that runs shared conda solver YAML tests against classic, libmamba, or other conda solver backends.

The PyPI package ships the plugin, fixtures, mock channel data, and shared YAML suite under pytest_conda_solvers/. When the plugin loads, it automatically adds the bundled suite to pytest's collection.

conda-solver-tests pytest plugin was orginally generated with [Cookiecutter] along with [@hackebrot]'s [cookiecutter-pytest-plugin] template.

Error assertion semantics

For unsatisfiable tests, this suite deliberately asserts more than conda's own test suite does when running under conda-libmamba-solver. Upstream's assert_unsatisfiable helper only checks the exception is an UnsatisfiableError subclass there, because its entries comparison is gated on the exact UnsatisfiableError type. Our runner additionally checks that the endpoint package names of each expected conflict chain appear in the libmamba error message, and message_includes/message_excludes fields in the YAML add further content checks. This strengthening is intentional: cross-solver consistency of error reporting is part of what this plugin exists to verify.

Requirements

  • Python ≥ 3.10
  • A working conda (>=26.3.0) installation in the environment (install via conda, mamba, or pixi — not from PyPI)
  • The solver backend under test (for example conda-libmamba-solver)

Installation

conda create -n solver-test-env conda conda-libmamba-solver pip
conda activate solver-test-env
python -m pip install pytest-conda-solvers

For local development from a checkout:

pixi install
# or: pip install -e .

Usage

Select a solver with --conda-solver; the bundled suite is collected automatically:

pytest --conda-solver=libmamba
pytest --conda-solver=classic

Paths passed to pytest are collected alongside the bundled suite, so solver authors can add their own Python or YAML tests normally.

Use --no-bundled-solver-tests to collect custom tests without the suite shipped by this package.

From this repository with pixi:

pixi run test-libmamba-solver
pixi run test-classic-solver

The plugin collects solver-suite .yaml files, starts a session-scoped mock channel server, and runs each case through the selected solver backend.

Contributing

Contributions are welcome. It is recommended to use pixi for the development environment and run the solver test tasks above before opening a pull request.

Build the documentation locally with pixi run -e docs docs-build.

License

Distributed under the BSD-3-Clause license.

Issues

If you encounter problems, please file an issue.

Metadata

Release files for pytest-conda-solvers 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-conda-solvers 0.1.0
File Size Uploaded Provenance Actions
pytest_conda_solvers-0.1.0.tar.gz 1.8 MB With provenance Details for pytest_conda_solvers-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pytest-conda-solvers 0.1.0
File Interpreter ABI Platform Actions
pytest_conda_solvers-0.1.0-py3-none-any.whl Python 3 none any Details for pytest_conda_solvers-0.1.0-py3-none-any.whl

Total release size: 3.6 MB

Release files / pytest_conda_solvers-0.1.0.tar.gz

Download URL pytest_conda_solvers-0.1.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
92b38e1ca5a8fa03183dea85712770c2602328756d7f73f1fc0d3edfa86830d9
BLAKE2b-256 checksum
How to use checksums
e741949228d0643cdc65c6dd16d947a0abf9467b15fa62888f9acd7c2ab8c093
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / pytest_conda_solvers-0.1.0-py3-none-any.whl

Download URL pytest_conda_solvers-0.1.0-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
43c63e67e39a24717f2159dc88a30b18fb82bab3e44da460ab2a374a9ad01353
BLAKE2b-256 checksum
How to use checksums
9ea2f3db1559e7bede4a1a91e9f52fa913f674324c71b5641a934505a1a58309
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Security for pytest-conda-solvers 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pytest_conda_solvers-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page