Skip to main content

pixi-policy

PyPI Docs

Write down what your pixi environments are allowed to contain, and check it everywhere pixi runs. One file, pixi-policy.toml, committed beside pixi.toml and pixi.lock; one command, pixi policy, that reports every package, source, license or manifest setting the policy does not allow, with the reason and a fix hint, and exits non-zero so CI can stop the merge.

pixi policy init     # write a policy the workspace passes today
pixi policy          # check it (the same as `pixi policy check`)
pixi policy explain  # every rule; `pixi policy explain <RULE>` for one, with its keys and defaults

It reads three files and nothing else: no server, no database, no network. Every check runs offline.

What it checks

Family Checks that
sources conda packages come only from allowed channels, PyPI packages only from allowed indexes, and nothing from git, a direct URL or a local path unless allowed
bans no banned package, version range or build is in any environment
licenses every package can be used under the licenses the policy allows (SPDX allow, review and deny lists)
manifest pixi.toml gives no * specs, pins Python to a minor version and lists the required platforms
lock pixi.lock exists, locks every environment for every platform, and still satisfies the manifest
waivers every exception has a reason and an end date, and still matches something
# pixi-policy.toml
[sources]
allowed-channels = ["conda-forge"]
allowed-indexes = ["https://pypi.org/simple"]

[bans]
deny = [
  { name = "pycrypto", reason = "unmaintained", use-instead = "pycryptodome" },
  { name = "openssl", version = "<3", reason = "EOL" },
]

[licenses]
deny = ["GPL-3.0-*", "AGPL-*"]

[manifest]
required-platforms = ["linux-64", "osx-arm64", "win-64"]

[lock]

[[waivers]]
rule = "licenses.deny"
package = "readline"
reason = "dev only; LEGAL-1234"
expires = 2027-03-31

That policy, checked against one of the repository's example workspaces (an excerpt):

error[licenses.deny] ld_impl_linux-64 2.46.1: license GPL-3.0-only cannot be satisfied without a denied license
  --> pixi.lock: environment "default", linux-64
  = help: replace the package, or take the license off [licenses] deny

error[manifest.wildcard-spec] gh: is given as "*" in [dependencies]
  --> pixi.toml:11
  = help: give it a version range, for example the one `pixi add` writes

waived[licenses.deny] readline 8.3: license GPL-3.0-only cannot be satisfied without a denied license (pixi.lock: environment "default", linux-64); waiver: dev only; LEGAL-1234, expires 2027-03-31

4 errors, 0 warnings, 2 waived in 45 packages across 2 environment-platform pairs

Install

uv tool install pixi-policy     # or: pipx install pixi-policy, pip install pixi-policy

The wheel carries only the pixi-policy binary, for Linux (x86-64 and aarch64, glibc and musl), macOS and Windows. pixi runs any pixi-<name> executable on PATH as pixi <name>. Release archives with build provenance are on GitHub Releases.

In CI

The exit code is the verdict: 0 nothing failed, 1 a finding is an error, 2 an input could not be read. --format json writes a report with a published schema, and --format sarif one for GitHub code scanning:

- run: pixi run policy --format sarif --output policy.sarif
- uses: github/codeql-action/upload-sarif@v3
  if: always()
  with:
    sarif_file: policy.sarif

Documentation

https://aesir-oss.github.io/pixi-policy/: getting started, development and CI, every rule, every key, with its values and default, waivers and output formats.

From Aesir Open Source Solutions, beside pixi-sbom. Apache-2.0. A community project, not affiliated with prefix.dev.

Metadata

Release files for pixi-policy 0.1.1

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

Built distributions (wheels)

Table of built distributions (wheels) for pixi-policy 0.1.1
File
pixi_policy-0.1.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pixi_policy-0.1.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
pixi_policy-0.1.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
pixi_policy-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
pixi_policy-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
pixi_policy-0.1.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
pixi_policy-0.1.1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 16.4 MB

Release files / pixi_policy-0.1.1-py3-none-win_amd64.whl

Download URL pixi_policy-0.1.1-py3-none-win_amd64.whl
Size 2.3 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
34f90600443bad8408bf52a47e0201d059fbc2f5e2cfb292e37239b6daae65e1
BLAKE2b-256 checksum
How to use checksums
fe8ef91498aae171f12a856ef889c94272467feee914debf02b5bc1d98a8d5fb
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-musllinux_1_2_x86_64.whl

Download URL pixi_policy-0.1.1-py3-none-musllinux_1_2_x86_64.whl
Size 2.5 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
f5a6bebb41a1387efcc20f90fec0aab110a1d59034e567c2758788587afeb06b
BLAKE2b-256 checksum
How to use checksums
3e1bffa88454724c25826c85cf649f5fe291ccdcb5d4adc377e0873415946e78
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-musllinux_1_2_aarch64.whl

Download URL pixi_policy-0.1.1-py3-none-musllinux_1_2_aarch64.whl
Size 2.3 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
933b3431852e888fdc3d516f2943e57e9a41233f4334f46fc1add178aba35c9c
BLAKE2b-256 checksum
How to use checksums
c701162690e3aba2ff26cf0658f7d1f1409bb3f6c05699a670e7effc27bce287
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pixi_policy-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
13d74e03e74e5ed30b48af6c242d4e6f025955bd22170d2ca57ff7be934a74ac
BLAKE2b-256 checksum
How to use checksums
f5394d52ea5775991f00a91ee9d01f3a0a5968d57cea580f15793f0c0742cb0a
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pixi_policy-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
42ea0246716fdffff4f29d57531f0466feccbde5748a42ab4ebb43572108abcc
BLAKE2b-256 checksum
How to use checksums
09d962e5ce2a5d66deac7614397c159b7a6e0afb2dbf41e81097a27d2ed4e006
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-macosx_11_0_arm64.whl

Download URL pixi_policy-0.1.1-py3-none-macosx_11_0_arm64.whl
Size 2.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7fe1dba5782d13a1da140ac91a4c1018ea9ab770a700bb27f7f4a5f91a685101
BLAKE2b-256 checksum
How to use checksums
d2a294a140e8be107bb5eb2707968ba40674d98c415f2f3995adba8b78e2d541
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 Oct 12, 2026.

Transparency log

Release files / pixi_policy-0.1.1-py3-none-macosx_10_12_x86_64.whl

Download URL pixi_policy-0.1.1-py3-none-macosx_10_12_x86_64.whl
Size 2.3 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cdd9a2d276717a8536c80a4b4f3567ac3d58edde43427e7e1488f278328fdb3e
BLAKE2b-256 checksum
How to use checksums
45b23299e488c321b981af57074ccec30484537c69170a01a5ab0427e33127a5
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 Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

7 release files

0.1.0

7 release files

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