Skip to main content

gn-dist

Binary distributions of GN (generate-ninja) for Linux (glibc and musl).

Other systems are out of scope for this project. For Windows and macOS builds, please refer to Google CIPD.

Installation

python3 -m pip install gn-dist

# convenience wrapper script
GN_WRAPPER=$(which gn)
$GN_WRAPPER --version

# actual binary
GN_EXE=$(python3 -c "from gn_dist import GN; print(str(GN))")
$GN_EXE --version

# to add the actual binary to PATH, you can do e.g.:
GN_DIR="$(dirname $GN_EXE)"  # or use GN.parent above
export PATH="$GN_DIR:$PATH"
# ^ add this to your ~/.bashrc if you want

Building

./build_gn.py automates the build process (run with --help for options, as usual).

gn-dist's setup implies building GN. Run e.g. pip install -v . or pyproject-build -wxn.
Set $BUILD_PARAMS to pass options to build_gn.py through the setup layer.

Versioning

gn-dist (and GN itself) use git to infer version info.

This is known to cause issues with shallow checkouts. We recommend that you configure your clone of gn-dist in a way that allows git describe to do its job.

Where that is not possible (e.g. when installing from a tarball that does not contain the git repository), a src/gn_dist/VERSION file must be provided.
This is just a plain text file containing the version string that will be passed to gn-dist's PEP 517 build backend. The version should be provided as a PEP 440 / PyPA specs compatible normalization of what would otherwise be returned by git describe.
The VERSION file is included in sdists and will be auto-generated where possible.

GN checkout is typically managed by gn-dist itself (which does a full clone), but if you insist on bringing your own copy of GN, you may need to provide a //out/last_commit_position.h file (relative to //sbuild/gn), in the following format:

#ifndef OUT_LAST_COMMIT_POSITION_H_
#define OUT_LAST_COMMIT_POSITION_H_

#define LAST_COMMIT_POSITION_NUM %(num)s
#define LAST_COMMIT_POSITION "%(num)s (%(commit_id)s)"

#endif  // OUT_LAST_COMMIT_POSITION_H_

where %(num)s is the commit number (counted from the initial commit), and %(commit_id)s the commit hash (truncated to the first 12 digits), as in

git describe HEAD --abbrev=12 --match initial-commit

Then edit build_gn.py to pass --no-last-commit-position to GN's build/gen.py.

Containerization

To manually build gn-dist in a manylinux2014 container, you can do e.g.:

docker run -v "${PWD}:/projects/gn-dist" --security-opt label=disable -it quay.io/pypa/manylinux2014_x86_64 bash
# this would test python 3.6 compatibility - to use a contemporary version of python, comment in the lines below instead
yum install -y python3
#manylinux-interpreters ensure cp314-cp314
#export PATH="/opt/python/cp314-cp314/bin:${PATH}"
manylinux-install-clang -v latest
python3 -m venv /projects/.venv
export PATH="$/projects/.venv/bin:${PATH}"
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel build auditwheel
python3 -m pip install -U ninja  # scikit-build/ninja-python-distributions
cd /projects/gn-dist
./build_gn.py --help  # informational
BUILD_PARAMS="-c clang --clang-path /opt/clang" python3 -m build -wxn
#auditwheel repair dist/gn_dist-*.whl

Updating (for maintainers)

To make a new release, first update the GN_REV in build_gn.py and rebuild locally.
Commit and push the changes. Then, assuming an editable install, run gn --version to determine the new version, and create a matching tag (add a minor cipher if it's a rebuild):

git tag -a VERSION -m "Release"

Once you're positive, push the tag. For maintainer convenience, pushing a tag that points to the HEAD of main will automatically trigger the build workflow with publish options enabled.

Once a release has been successfully published to GitHub, tag protection from immutable releases will lock the tag in place. However, if anything goes wrong before that, you may just revoke the tag as usual:

git tag -d VERSION
git push --delete origin VERSION

Then you can fix things up and eventually re-create the tag on another commit.

History

See below for some background why gn-dist was created:

If you are looking for PyPI builds of ninja, scikit-build/ninja-python-distributions is somewhat equivalent to this project. Note though, it uses Kitware's fork of ninja, not the original version.

There is also loong64/gn, but for some reason refers to a little-known fork of GN, is not regularly updated, does not include musllinux builds, and is not Python packaged.

Metadata

Release files for gn-dist 2612

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

Source distribution (sdist)

Source distribution for gn-dist 2612
File Size Uploaded Provenance Actions
gn_dist-2612.tar.gz 8.2 kB With provenance Details for gn_dist-2612.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for gn-dist 2612
File Actions
gn_dist-2612-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details for gn_dist-2612-py3-none-musllinux_1_2_x86_64.whl
gn_dist-2612-py3-none-musllinux_1_2_s390x.whl Python 3 none Linux musl 1.2+ IBM System/390x Details for gn_dist-2612-py3-none-musllinux_1_2_s390x.whl
gn_dist-2612-py3-none-musllinux_1_2_riscv64.whl Python 3 none Linux musl 1.2+ RISC-V 64 Details for gn_dist-2612-py3-none-musllinux_1_2_riscv64.whl
gn_dist-2612-py3-none-musllinux_1_2_ppc64le.whl Python 3 none Linux musl 1.2+ PowerPC 64-le Details for gn_dist-2612-py3-none-musllinux_1_2_ppc64le.whl
gn_dist-2612-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details for gn_dist-2612-py3-none-musllinux_1_2_i686.whl
gn_dist-2612-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details for gn_dist-2612-py3-none-musllinux_1_2_armv7l.whl
gn_dist-2612-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details for gn_dist-2612-py3-none-musllinux_1_2_aarch64.whl
gn_dist-2612-py3-none-manylinux_2_39_riscv64.whl Python 3 none Linux glibc 2.39+ RISC-V 64 Details for gn_dist-2612-py3-none-manylinux_2_39_riscv64.whl
gn_dist-2612-py3-none-manylinux_2_39_armv7l.whl Python 3 none Linux glibc 2.39+ ARMv7l Details for gn_dist-2612-py3-none-manylinux_2_39_armv7l.whl
gn_dist-2612-py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl Python 3 none Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details for gn_dist-2612-py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl
gn_dist-2612-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for gn_dist-2612-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
gn_dist-2612-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl Python 3 none Linux glibc 2.28+ IBM System/390x, Linux glibc 2.24+ IBM System/390x Details for gn_dist-2612-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl
gn_dist-2612-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl Python 3 none Linux glibc 2.28+ PowerPC 64-le, Linux glibc 2.24+ PowerPC 64-le Details for gn_dist-2612-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl
gn_dist-2612-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for gn_dist-2612-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Total release size: 28.2 MB

Release files / gn_dist-2612.tar.gz

Download URL gn_dist-2612.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8c75f69b6353303c12ddec91a45af1684b4074b5a96513e499f996287806adc6
BLAKE2b-256 checksum
How to use checksums
b76aa2d35c166bf42147f29ff24f82004d184f238a72fbcdb49d5c301b128234
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_x86_64.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_x86_64.whl
Size 2.9 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
bcd54cf41387c4b7875ab8aad8423c05edae32efe4baf3a65d7fcdf264c86817
BLAKE2b-256 checksum
How to use checksums
577f4b0877cccdeeb752512c5e402e5ea33d9a44c4a8721af864d39e4552830f
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_s390x.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_s390x.whl
Size 2.4 MB
Tags Linux musl 1.2+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
88b3005e834318ba4cad06ea48c894b6c41ae851d200ae7df2548c1f6fe81932
BLAKE2b-256 checksum
How to use checksums
b80ad6080874be94e0abaac6aaf87df5214a98722beeae452f6c75c6b7d789b9
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_riscv64.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_riscv64.whl
Size 2.1 MB
Tags Linux musl 1.2+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
90c58c12ade83c035e9037d83d58fbf5884a8d2954e7d6c2e1156b2fd6d7400f
BLAKE2b-256 checksum
How to use checksums
4743d97a4aa4e89fae3a5b288ee76c26c4b7b2d23bde04013a978feae6d9dfbe
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_ppc64le.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_ppc64le.whl
Size 2.4 MB
Tags Linux musl 1.2+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
0a6f9f7f3b2d08b3cb9aaa7ddd992e29b87dc89e67dcac6abbdab216502e55a1
BLAKE2b-256 checksum
How to use checksums
860e7bb356a582b3046bae31055a54d43f77a2ceef7c5673688f05936aaba294
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_i686.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_i686.whl
Size 3.2 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
6ce4c37956183f14d39b8dbce5f3a099045b98beff8573b6c06790768b8fe288
BLAKE2b-256 checksum
How to use checksums
1527469c8c5da7f8836c63846253ed30d334555e61ba4d1807af3c1fe850e385
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_armv7l.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_armv7l.whl
Size 2.3 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
80e2c1f98894a28a3fc931779c1a344e07aa5543d0da6d12d431a769fbc4d0b0
BLAKE2b-256 checksum
How to use checksums
bdefc4fbd17e374e74fccabcd37391a82d5876440e231afd7bbb549cedac720e
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-musllinux_1_2_aarch64.whl

Download URL gn_dist-2612-py3-none-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5b65aa2dd340004d873f992edcac2ea018c765041fb51e1b2087411d645c8c65
BLAKE2b-256 checksum
How to use checksums
2c38b46111db603c70cbd4f1d6f277540ac8f2cdd594898e7b4518eea059f387
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_39_riscv64.whl

Download URL gn_dist-2612-py3-none-manylinux_2_39_riscv64.whl
Size 1.1 MB
Tags Linux glibc 2.39+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
6028c44ef45d3ea28057282c99962e9bae42e8a01a645180680805a0c1c17af4
BLAKE2b-256 checksum
How to use checksums
928af9e46e6206b955aa66da2eaed5358b7267bc0d8b99d7e4eae8a5174891fb
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_39_armv7l.whl

Download URL gn_dist-2612-py3-none-manylinux_2_39_armv7l.whl
Size 1.5 MB
Tags Linux glibc 2.39+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
2fcd4c254953395fe1e0391f52dd49aac11ebd6c4ed4d8488b9c15b98b6be24a
BLAKE2b-256 checksum
How to use checksums
8e4b7f59fada2214e6a4af412d4f0eafff8c52ba4ac2c56e1eb50186bc947b73
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL gn_dist-2612-py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 1.9 MB
Tags Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32 Python 3
SHA-256 checksum
How to use checksums
fdb2879aa986450f55a0d09d9773332934265092025cb5e3867176bba6d205f7
BLAKE2b-256 checksum
How to use checksums
91df00deda9dd82229fcb5dd3554f54a225833964eadd3990c0727bad8a7a09c
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL gn_dist-2612-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
00327cf3dfb73d4504817414a42063de343cc1e010f629eeb4541cfeb4df2cfb
BLAKE2b-256 checksum
How to use checksums
84db025b234e382c89771ad93068572dd9a41f469bec12adc56f5e4f39a99d5d
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl

Download URL gn_dist-2612-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl
Size 1.2 MB
Tags Linux glibc 2.24+ IBM System/390x Linux glibc 2.28+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
c1f155747acbc376c12520c5e5613b41ee93ba2274d89174a9df599c6a5e986e
BLAKE2b-256 checksum
How to use checksums
45ce3b3d02c9a0b8e63ba71cab498cc7d809bfabf641a7110d8e875b373e4c27
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl

Download URL gn_dist-2612-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl
Size 1.3 MB
Tags Linux glibc 2.24+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
0dad766bd6d1e1c78b261395c7238d8ff1e05b6fd5da18f9863836e91ab0150e
BLAKE2b-256 checksum
How to use checksums
32ad1dbd92271c4a9f1fa88465a641ebb7311e4e5139291210985f1af872dd0f
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 Nov 4, 2026.

Transparency log

Release files / gn_dist-2612-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL gn_dist-2612-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5867e07cafe43e4eaaf9f591de03d88cf25b2f5104dfe22f000d7e139e75bb4a
BLAKE2b-256 checksum
How to use checksums
d5d06f710fb03459076ba474438cb013142ad41e1582a286bc43ea7a48aa037b
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 Nov 4, 2026.

Transparency log

Security for gn-dist 2612

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 15 files in this release have been uploaded with provenance metadata.

Select from 15 files

Attestation for gn_dist-2612.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 Nov 4, 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.

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