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.1

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.1
File Size Uploaded Provenance
serc-0.1.1.tar.gz 2.6 MB Without provenance Details

Built distributions (wheels)

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

Total release size: 88.8 MB

Release files / serc-0.1.1.tar.gz

Download URL serc-0.1.1.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
2f853adf74e3f5f3662d473f20880037676d67197e2650b218eef1a458b95847
BLAKE2b-256 checksum
How to use checksums
a3b2ac11a319f492a1aa351f77032a0e537516d5ca1d47cd1d787887652fa1a4
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.1-py3-none-win_arm64.whl

Download URL serc-0.1.1-py3-none-win_arm64.whl
Size 4.5 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
cfdc895ad215ffd7880023f7ac77570a4f0120ae943925e5214dfa185d0dc44b
BLAKE2b-256 checksum
How to use checksums
98fb47611497a4a2d3cbaf76c8b7060777a2564bb3bf3c8da10b6a4516b4fbab
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.1-py3-none-win_amd64.whl

Download URL serc-0.1.1-py3-none-win_amd64.whl
Size 4.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f27366286a7ca626c9c3ece14c844465371a8071b968dc0398b952339839442c
BLAKE2b-256 checksum
How to use checksums
4604ae44de5b51a75f0fce660eb93d64118c12e5ec6cb66c8f98a69c7ca2c848
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.1-py3-none-win32.whl

Download URL serc-0.1.1-py3-none-win32.whl
Size 4.6 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
fc2ee6ca29e446dcb43f9b0fc9ca48f84fec312f2c53951518f22787851c162c
BLAKE2b-256 checksum
How to use checksums
2b354d14d760179bd955510e1f4c55faa6975d45ebb91d7e2c23a1e1d89e87d9
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.1-py3-none-musllinux_1_1_x86_64.whl

Download URL serc-0.1.1-py3-none-musllinux_1_1_x86_64.whl
Size 4.9 MB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
e6491a6e0b9cc8a1c19de343692c37e2de312570ab8a76ed541b65f81d67fc3f
BLAKE2b-256 checksum
How to use checksums
a00946da280f360dae4b438f2b1079f9d9e0c71d08fd01fda4eaee813f9a23a9
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.1-py3-none-musllinux_1_1_riscv64.whl

Download URL serc-0.1.1-py3-none-musllinux_1_1_riscv64.whl
Size 5.1 MB
Tags Linux musl 1.1+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
aaacd9ba0611257971505dacfcfca1b46a6c6eeee01297dde9d7b1d43b5d66cc
BLAKE2b-256 checksum
How to use checksums
afb45ed420c79552310ecf89d745cca43f33592dc09759689c140bcd410ae198
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.1-py3-none-musllinux_1_1_i686.whl

Download URL serc-0.1.1-py3-none-musllinux_1_1_i686.whl
Size 4.8 MB
Tags Linux musl 1.1+ x86-32 Python 3
SHA-256 checksum
How to use checksums
eedd3cc060bdf0710453b677e6bedc295480b5465e89fc7bf09af6c799432471
BLAKE2b-256 checksum
How to use checksums
fad87b5d5747c5cad2f5b60cb24d2e81fda81456f7aed29488ae89858c8cc614
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.1-py3-none-musllinux_1_1_armv7l.whl

Download URL serc-0.1.1-py3-none-musllinux_1_1_armv7l.whl
Size 4.7 MB
Tags Linux musl 1.1+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
04bbdb7776ea32cf54e1791f2de1af46d8550e3e21aa70cc9d3be4d8e5d8c847
BLAKE2b-256 checksum
How to use checksums
c6e2e0ab9e0f08cca7aa1bc8a19155d65688316dbc2081a5946af91c0e156344
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.1-py3-none-musllinux_1_1_aarch64.whl

Download URL serc-0.1.1-py3-none-musllinux_1_1_aarch64.whl
Size 4.5 MB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
79105923de89f8b002f50dbd77d3e0cc4798f02ace379877d6ae1243e513ab58
BLAKE2b-256 checksum
How to use checksums
947a40ffac9841549f5134a87f3df1ba4fedba914fe7d9e62a39abcc2cf92bb6
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.1-py3-none-manylinux_2_31_riscv64.whl

Download URL serc-0.1.1-py3-none-manylinux_2_31_riscv64.whl
Size 4.9 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
f15dfff17cc3fb7c9e5afe2e166ea04e18af9f949b4b9bc3c1ec231284f9a075
BLAKE2b-256 checksum
How to use checksums
c6f7246f8a8a8b2bd341a29e857468a53c994cb65066edf648d8b238d4a86450
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.1-py3-none-manylinux_2_28_aarch64.whl

Download URL serc-0.1.1-py3-none-manylinux_2_28_aarch64.whl
Size 4.5 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
240e9ad0e9e8c3ed99f37b9d71e2d7d26492dba3cab6dda6a0d5094805481872
BLAKE2b-256 checksum
How to use checksums
8e67ca9c15a1780762b8928de3b3886b601455b61d115c24fccbb943b532c97c
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.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL serc-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.8 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
bcb884d5862f6693eff53e990ecc8c57699e87a399a4943a2bf20db58352761f
BLAKE2b-256 checksum
How to use checksums
032b60ff2d08e4788a4d2c238d51fabb14cd4531f3aece1472b23ba1d4de0231
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.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL serc-0.1.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 5.4 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
61c524c20ee8f239ade4d5689393d7bf23dd23b9cb501ac72066be12fef2cc70
BLAKE2b-256 checksum
How to use checksums
728dea6cf3bb9936dfddfaa7a8b7074df18245ba3fe8eb80efac37d8b5585690
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.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL serc-0.1.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 5.2 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
0ec2fd43fdb14177e17adac1ca2d32dcc509b281d06621bb402450cda9728dc0
BLAKE2b-256 checksum
How to use checksums
d042120f20da5015a8ac6ef8be9644621dc52bcae5e059241cdcdf241b8fcbb3
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.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL serc-0.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 4.9 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
cf127e0b654f857e3369e5427f13c70cf2dcf2192e92d44ecdb2ece282524097
BLAKE2b-256 checksum
How to use checksums
ae299a83a4549eec1cf40853eaff77f3da0f7becf0d57b90c4e890ca05ee1cf7
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.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL serc-0.1.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 4.6 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
f52380ca59622f5ee5645441541876a5bcdc3885635c907b4bc5011176a95a8d
BLAKE2b-256 checksum
How to use checksums
fd6cb18599e6f7a30eb0cb2ed15219b78f8c819722e1fc97543dddca8fe0182a
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.1-py3-none-macosx_11_0_arm64.whl

Download URL serc-0.1.1-py3-none-macosx_11_0_arm64.whl
Size 4.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ca23b8e9ec286af7d5788994f92840882dee6129661c115b101d6a27861b5e15
BLAKE2b-256 checksum
How to use checksums
a2742b738cfaa8000f79879560531837dd37d5605f7ae50d0c0d41f6d7997984
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.1-py3-none-macosx_10_12_x86_64.whl

Download URL serc-0.1.1-py3-none-macosx_10_12_x86_64.whl
Size 4.7 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2988246633d28b862fe6d76040a7ac5a6c1d19bf02ccca0ad17f91c2f7a54c7c
BLAKE2b-256 checksum
How to use checksums
a2fc9f627e4be7b6b81e3620293ba39dc382fed8df5e694f86f4ecb666492a4f
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.1-py3-none-linux_armv6l.whl

Download URL serc-0.1.1-py3-none-linux_armv6l.whl
Size 4.8 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
5a2b73a66d06804cc3967061ce65f2b231f0cf095f159452cd219c05172f080f
BLAKE2b-256 checksum
How to use checksums
51af3691ee6f6e3a8e380375c8261e7fcf6d34a59a70ed7b80be81d1ee54b04d
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.1

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