Skip to main content

sedumipy

ci wheels docs License: GPL v2

A MATLAB/Octave-free Python port of SeDuMi — an interior-point solver for linear (LP), second-order cone (SOCP), and semidefinite (SDP) programs — as a standalone C kernel library plus a Python (NumPy/SciPy) package. No MATLAB or GNU Octave runtime is needed to install or run it.

It solves conic programs over a symmetric cone K — one call gives you both sides of the primal-dual pair:

\begin{aligned}
\text{(P)} \quad \min_{x} \;\; & c^\top x
  & \qquad \text{(D)} \quad \max_{y,\,s} \;\; & b^\top y \\
\text{s.t.} \;\; & Ax = b, \;\; x \in K
  & \qquad \text{s.t.} \;\; & A^\top y + s = c, \;\; s \in K^{*}
\end{aligned}

K is a product of blocks of five kinds — free, nonnegative orthant, second-order (Lorentz), rotated Lorentz, and positive semidefinite — so LP, SOCP, and SDP are the cases where every block is of one kind, and a single problem may mix them freely. An LP, for instance:

import numpy as np
import sedumipy

# minimize    7*x1 + 4*x2 + 10*x3
# subject to  3*x1 + 1*x2 +  2*x3 = 9
#             1*x1 + 2*x2 +  4*x3 = 8
#             x1, x2, x3 >= 0
A = np.array([[3.0, 1.0, 2.0],      # one row per equality constraint
              [1.0, 2.0, 4.0]])
b = np.array([9.0, 8.0])            # their right-hand sides
c = np.array([7.0, 4.0, 10.0])      # objective coefficients
K = {"l": 3}                        # all 3 variables are >= 0

x, y, info = sedumipy.sedumi(A, b, c, K)
# x = [2., 3., 0.]   the optimum, costing c @ x = 26

Here x is the primal optimum and y the dual one; K = {"l": 3} says all three variables are nonnegative. This mirrors original SeDuMi's own [x, y, info] = sedumi(A, b, c, K) call.

The usage guide defines each cone and works a mixed LP + SOCP + SDP model end to end, from the written constraints down to A, b, c, and K.

New contributor? Read CONTRIBUTING.md first — it has the current phase-by-phase status, the porting workflow this project follows, known scope limitations, and the prioritized list of remaining work.

Status

LP, second-order-cone (SOCP), and semidefinite (SDP, K.s) problems are all fully ported and verified against original Octave/SeDuMi output, to tight numerical tolerances, including on published SDPLIB and DIMACS benchmark problems (see Benchmarks below). Dense-column preconditioning is also implemented. Wheels are published to PyPI for Linux (manylinux), macOS and Windows by wheels.yml's cibuildwheel job (the Windows build uses an MSYS2/MinGW toolchain and has only been exercised on GitHub Actions' hosted runner, not hand-verified on a real Windows machine) — see CONTRIBUTING.md for the full phase-by-phase status and known limitations.

Use it from cvxpy

Problems can also be written in cvxpy's modeling language rather than as (A, b, c, K) by hand — install cvxpy alongside sedumipy (pip install sedumipy[cvxpy]) and hand solve() an instance of the solver class:

import cvxpy as cp
from sedumipy.cvxpy_interface import SEDUMIPY

x = cp.Variable(3)
problem = cp.Problem(cp.Minimize(c @ x), [A @ x == b, x >= 0])
problem.solve(solver=SEDUMIPY())   # 26.0, with the same A, b, c as above

A stock cvxpy install is enough (this uses cvxpy's own custom-solver hook — nothing has to be merged into cvxpy for it to work), and it covers the same LP/SOCP/SDP scope the solver itself does. See the usage guide for solver options, dual values, and what is out of scope.

Installation

pip install sedumipy

Wheels cover CPython 3.10-3.13 on Linux x86_64 (manylinux), Windows x64 and macOS (Apple silicon), with the compiled kernel library and its BLAS already inside them — no compiler, no BLAS install, no MATLAB or Octave. Anything else falls back to the source distribution and compiles locally, which does need a toolchain: see docs/installation.rst.

Documentation

Full documentation (installation, the problem/solver API, and the internals reference) is published at napinoco.github.io/sedumipy (built with Sphinx from docs/, auto-published to GitHub Pages by .github/workflows/docs.yml on every push to main). To build it locally instead:

pip install -r docs/requirements.txt
sphinx-build -b html docs docs/_build/html

Repository layout

The original MATLAB/Octave/MEX implementation this project ports from is kept as a reference-only git submodule, pinned to the commit the port started from:

sedumipy/
  vendor/sedumi-upstream/   # submodule: sqlp/sedumi (reference only, not built by default)
  examples/sdplib/          # submodule: vsdp/SDPLIB (published benchmark problems + optimal values)
  examples/dimacs/          # submodule: vsdp/DIMACS (published benchmark problems + optimal values)
  csrc/                     # forked, MEX-free standalone C kernels (source for libsedumi.so)
  src/sedumipy/             # the Python package
  tests/                    # test suite + committed Octave-generated oracle fixtures
  tools/                    # libsedumi build script + oracle/golden-reference generators
  docs/                     # Sphinx documentation source

Getting started from a checkout

To work on sedumipy itself (rather than just use it — see Installation above):

git clone --recurse-submodules <this-repo-url>
cd sedumipy
python -m venv .venv
.venv/bin/pip install -e .[test]
.venv/bin/python -m pytest tests/ -q

If you already cloned without --recurse-submodules, run git submodule update --init --recursive first. Building libsedumi.so (the compiled C kernel library) requires a C compiler (e.g. apt install build-essential on Debian/Ubuntu, or nothing extra at all on macOS — Xcode's command line tools provide cc; on Windows, install MSYS2 and its mingw-w64-x86_64-gcc package first — see the Windows note in docs/installation.rst or CONTRIBUTING.md); it's then built automatically the first time sedumipy is imported, via tools/build_libsedumi.sh. It also needs a BLAS. On macOS this is always the system Accelerate framework — nothing to install. On Linux/Windows, run pip install scipy-openblas64==0.3.34.106.0 (a pip-installable, prebuilt BLAS with wheels for both — the same, version-pinned one the published wheels themselves link, see pyproject.toml's [tool.cibuildwheel] comment for why it's pinned) before pip install -e .[test] --no-build-isolation above, or skip that and it falls back to a system BLAS per OS instead (e.g. apt install libopenblas-dev on Linux) — see docs/installation.rst for the full story. The Octave submodule is only needed to regenerate oracle/golden- reference data, not to run the existing test suite.

Benchmarks

tests/test_benchmarks.py solves published SDPLIB and DIMACS problems (added as git submodules under examples/) and checks the result against each collection's own official optimal-value table -- a correctness/regression check against real reference numbers, not a synthetic self-check. It also prints a timing/iteration-count summary and writes it to benchmark_results.csv.

Coverage is essentially the full published set: all 92 SDPLIB problems and every DIMACS problem sedumi() can read directly, minus a documented handful this port can't yet solve in bounded time/memory or that hit a real solver limitation -- see the module's own docstring for the full exclusion list and why each one is excluded.

git submodule update --init --recursive   # if not already done
.venv/bin/python -m pytest tests/test_benchmarks.py -v          # everything, ~101 problems (~10 min)
.venv/bin/python -m pytest tests/test_benchmarks.py -v -m mini  # fastest subset only (~35s)

Problems are grouped by pytest.mark.mini (<2s each) / timing (2-20s) / extended (20s-130s) by measured solve time -- see the module's own docstring for the sign conventions each collection/family needs.

A note on citation and attribution

sedumipy is an independent, unofficial re-implementation of SeDuMi, created without involvement from the original SeDuMi authors or maintainers. Although it aims to reproduce SeDuMi's numerical behavior faithfully, it is a from-scratch port and may differ from the original in ways not yet identified — in short, it may not always behave identically to the original SeDuMi.

If you use this software in research, please cite the original SeDuMi paper to give credit where it is due:

Sturm, J.F. (1999). Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones. Optimization Methods and Software, 11(1-4), 625-653.

At the same time, please make clear in your own work that results were produced using sedumipy, an unofficial Python port — not the original SeDuMi. Any discrepancy, bug, or unexpected numerical behavior you observe here is a property of this port, not of SeDuMi itself, and should not be attributed to the original project or its authors.

License

SeDuMi is licensed under the GNU General Public License v2 (see LICENSE); this port, being a derivative work, is licensed the same way.

Metadata

Release files for sedumipy 0.0.2

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

Source distribution (sdist)

Source distribution for sedumipy 0.0.2
File Size Uploaded Provenance
sedumipy-0.0.2.tar.gz 421.1 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for sedumipy 0.0.2
File
sedumipy-0.0.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
sedumipy-0.0.2-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
sedumipy-0.0.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
sedumipy-0.0.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
sedumipy-0.0.2-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
sedumipy-0.0.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
sedumipy-0.0.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
sedumipy-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
sedumipy-0.0.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
sedumipy-0.0.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
sedumipy-0.0.2-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
sedumipy-0.0.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 62.6 MB

Release files / sedumipy-0.0.2.tar.gz

Download URL sedumipy-0.0.2.tar.gz
Size 421.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6142b8dbb670b3757d796a645920f25e8222f63ed5c648e917f433e581e6384c
BLAKE2b-256 checksum
How to use checksums
f8f153e1090d29a13af6c75e1f939627eed64e477ae4de47945f8406c6501d29
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp313-cp313-win_amd64.whl

Download URL sedumipy-0.0.2-cp313-cp313-win_amd64.whl
Size 6.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7a24d835fb795272b08d7a5552195861c5efbbe392f3f749091768b86fe19038
BLAKE2b-256 checksum
How to use checksums
bc128068c8c4bbf79f088563d774078b17f318019e58ada9f97fb2808a99c455
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL sedumipy-0.0.2-cp313-cp313-manylinux_2_28_x86_64.whl
Size 8.6 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5f3c6f9bdeed0fc83834d2891259e2ec4e6e75a857909a6c78d17f3ef332eecc
BLAKE2b-256 checksum
How to use checksums
d62041570eeac5f12aff875df55b4ee0ae2ec3efabdf49d5d76669641d328e3f
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL sedumipy-0.0.2-cp313-cp313-macosx_11_0_arm64.whl
Size 153.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
090f193c657880fdb96ccda41e616a42da0046c00dd3ac9489c80712092ec334
BLAKE2b-256 checksum
How to use checksums
ad49a5fa8d9dbde38db69f3e0a0f301925ef82b31d3fd6535c94e4e5dd99bdfa
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp312-cp312-win_amd64.whl

Download URL sedumipy-0.0.2-cp312-cp312-win_amd64.whl
Size 6.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
06159128049cde160e42e7229eaced33c30ae1e556101c275073026ba4395eb5
BLAKE2b-256 checksum
How to use checksums
43afedeabc9d080bf905a84f83e27602c19c57b82bf0b9d8bf40be61929f0e9d
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL sedumipy-0.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Size 8.6 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
388b141c4c5d2335a0f6586c19d82afe16b6e5c9356b9c1c92c49413efacd490
BLAKE2b-256 checksum
How to use checksums
13a523c9c15ee2d9d3435f2b016e75845e325d944e14621f1484f0cca54b1633
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL sedumipy-0.0.2-cp312-cp312-macosx_11_0_arm64.whl
Size 153.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
040288d3680c670d009e6537a3c2d74855847f2e506de8f88152640929365452
BLAKE2b-256 checksum
How to use checksums
635848391405a5feb48807622cdc0af6c9c3052b5224e4dd75828185002b545f
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp311-cp311-win_amd64.whl

Download URL sedumipy-0.0.2-cp311-cp311-win_amd64.whl
Size 6.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8cb42a8e531071a2df0e5aaa61496203e162d720e139639a1cb8cb3f2bdae476
BLAKE2b-256 checksum
How to use checksums
0b5272041918c8b90c837815467beed311d0f94baa129648f5534d186b22c8d7
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL sedumipy-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Size 8.6 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1da432ca624a84dd812dcdac6f76cd4aacc9d49c8e7c0f522dbc958880da9ffa
BLAKE2b-256 checksum
How to use checksums
1e7fdec21a77bd19502145085b921a53e112f519baad231b896332f689a18f78
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL sedumipy-0.0.2-cp311-cp311-macosx_11_0_arm64.whl
Size 153.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
53ed6fa208ac28153632efe1a35c13bb09a95e4e9c3801a85bb502824013ef83
BLAKE2b-256 checksum
How to use checksums
4677cb7c5b577e68b91a2a9a71c83d122e6bfedec29580adf6395389a7f19006
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp310-cp310-win_amd64.whl

Download URL sedumipy-0.0.2-cp310-cp310-win_amd64.whl
Size 6.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
323198c702f6650d61b62c501f5cddd2306e6d1847e7ad5ff2af04b61bd96abb
BLAKE2b-256 checksum
How to use checksums
1d8f9e517fceef7a1e509fa339217609904ede7fbfa915823d49bd1c843d4446
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL sedumipy-0.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
Size 8.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
09f99081eb980bbb603270f60a5bc242950ead29037004790a46931d8902828d
BLAKE2b-256 checksum
How to use checksums
82e97f713d25eab503b6a2aafb9ca53ba65604d399dff5a14306540183595924
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 5, 2026.

Transparency log

Release files / sedumipy-0.0.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL sedumipy-0.0.2-cp310-cp310-macosx_11_0_arm64.whl
Size 153.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a897437f7c5a8b419659be6f62fcd0f3f996ad5b0c46b6ec54813ecf577f652e
BLAKE2b-256 checksum
How to use checksums
e3011119f0645c26302cd46ad1b90bb0e5ee36f8ee61c745a19ccdaf8fcf2a93
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 5, 2026.

Transparency log

Security for sedumipy 0.0.2

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

Select from 13 files

Attestation for sedumipy-0.0.2.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 5, 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.

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