Skip to main content

Serc

An experimental CPython bytecode compiler, written in Rust.

Highlights

  • Compile Python source to CPython .pyc files without a CPython installation.
  • Target Python 3.12, 3.13, 3.14, and 3.15 with a single executable.
  • Check source files and recursively compile packages from the command line.
  • Embed the compiler via the Rust library.

In a single-worker benchmark, Serc compiled NumPy faster than CPython’s built-in bytecode compiler. Serc also produces byte-for-byte identical output on an extensive corpus of real-world Python code, including Django, Airflow, and Transformers.

Project Serc CPython 3.14.5 compileall Speedup
NumPy 2.4.6 (505 files) 1.194 s ± 0.023 s 1.739 s ± 0.060 s 1.46×

However, Serc is also experimental, and so may emit incorrect bytecode in some cases!

Installation

Install from crates.io with Rust 1.96 or later:

cargo install serc-cli --locked

Getting started

Given hello.py:

def greet(name):
    return f"Hello, {name}!"

Compile it to bytecode, emitted at __pycache__/hello.cpython-314.pyc:

serc compile hello.py

Pass a directory to compile its Python files recursively, or use --check to compile without writing cache files:

serc compile path/to/package
serc compile --check path/to/package

Compilation uses the available CPUs by default. Use --jobs (or -j) to set a limit, including --jobs 1 for serial compilation. You can also set the default with RAYON_NUM_THREADS:

serc compile --jobs 4 path/to/package

Python version

Serc emits Python 3.14-compatible bytecode by default, but supports target selection with --python-version. For example, to emit Python 3.15 bytecode:

serc compile --python-version 3.15 path/to/package

Serc supports the following CPython minor versions:

Target Pinned CPython release
3.12 3.12.14
3.13 3.13.15
3.14 3.14.5
3.15 3.15.0rc2

Each target writes its own cache tag and bytecode magic number, so the four versions can coexist under __pycache__.

Optimization

Use -O to remove assertions and set __debug__ to false, matching Python's -O mode. Use -OO to additionally remove module, class, and function docstrings:

serc compile -O hello.py
serc compile -OO hello.py

You can also select the level explicitly with --optimize 0, --optimize 1, or --optimize 2. Level 0 is the default. Optimized caches use Python's naming convention, such as __pycache__/hello.cpython-314.opt-1.pyc and __pycache__/hello.cpython-314.opt-2.pyc, so all three levels can coexist.

Rust library

Add Serc to your Cargo.toml:

[dependencies]
serc = "0.1.0"

Compile Python source and serialize the resulting code object in CPython's marshal format:

let module = serc::compile("print('Hello, world!')\n", "hello.py").unwrap();
let marshaled = module.marshal();

Compilation defaults to Python 3.14. See the library guide for selecting another Python version and generating .pyc files.

License

Serc is licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Serc by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.

Metadata

Release files for serc 0.1.5

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

Source distribution (sdist)

Source distribution for serc 0.1.5
File Size Uploaded Provenance
serc-0.1.5.tar.gz 2.8 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for serc 0.1.5
File
serc-0.1.5-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
serc-0.1.5-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
serc-0.1.5-py3-none-win32.whl Python 3 none Windows x86-32 Details
serc-0.1.5-py3-none-musllinux_1_1_x86_64.whl Python 3 none Linux musl 1.1+ x86-64 Details
serc-0.1.5-py3-none-musllinux_1_1_riscv64.whl Python 3 none Linux musl 1.1+ RISC-V 64 Details
serc-0.1.5-py3-none-musllinux_1_1_i686.whl Python 3 none Linux musl 1.1+ x86-32 Details
serc-0.1.5-py3-none-musllinux_1_1_armv7l.whl Python 3 none Linux musl 1.1+ ARMv7l Details
serc-0.1.5-py3-none-musllinux_1_1_aarch64.whl Python 3 none Linux musl 1.1+ ARM64 Details
serc-0.1.5-py3-none-manylinux_2_31_riscv64.whl Python 3 none Linux glibc 2.31+ RISC-V 64 Details
serc-0.1.5-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
serc-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
serc-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
serc-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
serc-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
serc-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
serc-0.1.5-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
serc-0.1.5-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
serc-0.1.5-py3-none-linux_armv6l.whl Python 3 none linux armv6l Details

Total release size: 92.6 MB

Release files / serc-0.1.5.tar.gz

Download URL serc-0.1.5.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
d210b264b4c0c2512f3b89d10c5b10a9641c03edbd7d98fd10cd6722b4a2925c
BLAKE2b-256 checksum
How to use checksums
155140ee794dc04518be3f49f0c81cd6de8ab0bd94477c5409f76bee28179d78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-win_arm64.whl

Download URL serc-0.1.5-py3-none-win_arm64.whl
Size 4.7 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
a8cc76320af1f22007ed62c4f577e41d3027d2f96c03eaeb8dd7e9ed3d610944
BLAKE2b-256 checksum
How to use checksums
19e22c9ed0a3ab13c676476d410787e819d4c98741b0e7ea6602fbb7da015653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-win_amd64.whl

Download URL serc-0.1.5-py3-none-win_amd64.whl
Size 5.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
50e3431c3e7cda0130f8dac6ece8cd913dc6c666dd79bfc393a84306e26b8aff
BLAKE2b-256 checksum
How to use checksums
98c7b753a3b4874aa20d7f9539dfb8b7ba3af8d2ed8dba97e80321f9072a32e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-win32.whl

Download URL serc-0.1.5-py3-none-win32.whl
Size 4.8 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
b0ae50d71b5661315c0afdf3ce7f5fe45f76100328e8bb0440bbd66f2a9f1a27
BLAKE2b-256 checksum
How to use checksums
b6178367412896996c3b9c91082621cc3a7d4bb8286c35a89e80972b9e720b39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-musllinux_1_1_x86_64.whl

Download URL serc-0.1.5-py3-none-musllinux_1_1_x86_64.whl
Size 5.1 MB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
207e84aa3ee10bb7b9e358eaa73f67f6b65e8a994c0b4b67265cfcaec249545d
BLAKE2b-256 checksum
How to use checksums
201a58faf9b3d36152da92040a1cf65c847ee805f8a193155331ffcaa7e18184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-musllinux_1_1_riscv64.whl

Download URL serc-0.1.5-py3-none-musllinux_1_1_riscv64.whl
Size 5.3 MB
Tags Linux musl 1.1+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
64c905b33f2b3585c7d409c8d619d867fc37a18758b6a7c9d227dc3ec61187ea
BLAKE2b-256 checksum
How to use checksums
5a074833ed5d37683d711c2cc5514fc057be3eab0f7de51a5d6ac84e40b5b867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-musllinux_1_1_i686.whl

Download URL serc-0.1.5-py3-none-musllinux_1_1_i686.whl
Size 5.0 MB
Tags Linux musl 1.1+ x86-32 Python 3
SHA-256 checksum
How to use checksums
14f157ee6af93bfe9fef448d839ff9008518da0949a43ace823683b535b96e36
BLAKE2b-256 checksum
How to use checksums
ddc95940beabb2565250c3c9f1b60f14048a1f9c10cfe7dfe46b5793de54a0d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-musllinux_1_1_armv7l.whl

Download URL serc-0.1.5-py3-none-musllinux_1_1_armv7l.whl
Size 4.9 MB
Tags Linux musl 1.1+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
4bd14440ee3361efeaa9d6f881bbebad221b3053e4cd92b458febe2f768c4ce9
BLAKE2b-256 checksum
How to use checksums
8366be0bdd1e90f5588d8dc709e8f329b0734ee63fbab024ca65062013ef718d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-musllinux_1_1_aarch64.whl

Download URL serc-0.1.5-py3-none-musllinux_1_1_aarch64.whl
Size 4.7 MB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
948bb3770edb8a836ab0223cad2d73b087c1771694d80120f72238e0b4f643e3
BLAKE2b-256 checksum
How to use checksums
8fa1e81cd9b3080cfb1c23aaa8068c74eaadc5d6abe0dedd3202d2783f178eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_31_riscv64.whl

Download URL serc-0.1.5-py3-none-manylinux_2_31_riscv64.whl
Size 5.1 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
85ed27a52c76ee5bd7bb0bc0e4d380123a17b288bf16c4d4640f9199d7e519a8
BLAKE2b-256 checksum
How to use checksums
bd97bf9cba123f2e0891f097e40a47957e8459dcda5a0eecbd230b2d2cc84700
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_28_aarch64.whl

Download URL serc-0.1.5-py3-none-manylinux_2_28_aarch64.whl
Size 4.7 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
03730533220d8693beb29ea0f802a2843d14f2d90cea3de325f8830f2f131bac
BLAKE2b-256 checksum
How to use checksums
429aeb8802259d996538e1539cdc029bab4f7962668c3c449e5859ef8deef1bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL serc-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3c4f64443e26dc196cc022612a0b312e41c863c5e98f7bb278097aa23507b7aa
BLAKE2b-256 checksum
How to use checksums
ef9095152828705f80bf25d548e8cb7db3ac925af314902cbe5b0cf2a1099cc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL serc-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 5.6 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
c65748ecd437e5240b44432bf618ffdbf03e63238f4387c88f1db3bb3d206900
BLAKE2b-256 checksum
How to use checksums
2bd10371e206d3cb524ab2ed460a9c1b3c355115a26b698d636a05d180982042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL serc-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 5.4 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
b409cfc4fbd05b2083a33a1e9c8b070fbde7642c1a5b839f93c49dbb8a2d707a
BLAKE2b-256 checksum
How to use checksums
05e44c6184c5a5cc8d5648ca69976e761b3935830215bc1fd9f278b8724b1fa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL serc-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 5.1 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
daea2f7adb6978141b71681371140698f9cc16e6df4406153ca4477ebe889397
BLAKE2b-256 checksum
How to use checksums
d606c40fd890b31dd9dcb414a8e3e73848ad29248de32cac62b0b6a187696962
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL serc-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 4.8 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
6bc7fb5aa14d7e63ce482414683be5f1dfa23c848a7f1b3a14d252f66d1b41b2
BLAKE2b-256 checksum
How to use checksums
59271b93c5aa7b945a03990f70b93435665c516f0ce80a170926691c0520d758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-macosx_11_0_arm64.whl

Download URL serc-0.1.5-py3-none-macosx_11_0_arm64.whl
Size 4.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
10b64a67d239d7759de30dc547835af7408841b6e1f00aa6e5612e993bda411e
BLAKE2b-256 checksum
How to use checksums
409e7923a3fc85e8cead00d693d3ec0646fc630d2fdc8ebf52062eb039fe4dad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-macosx_10_12_x86_64.whl

Download URL serc-0.1.5-py3-none-macosx_10_12_x86_64.whl
Size 4.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
64b34540ada39a200158f07f9e95314151e47c4ed2bfc9c9bde9e9bc7c77e2af
BLAKE2b-256 checksum
How to use checksums
0ffb045da1f676db8ae75875a9b35dc6c72ac46c6017bfff26e6f5ad88f3ba57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / serc-0.1.5-py3-none-linux_armv6l.whl

Download URL serc-0.1.5-py3-none-linux_armv6l.whl
Size 5.0 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
0b606de1345245b061854f236767064a669eb35d4d12f3eccebe23d07eb8247a
BLAKE2b-256 checksum
How to use checksums
a1caa164ada1ec6e15b35495db10cf4f32015341044de6c04d596ac540ef6009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for serc 0.1.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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