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

Built distributions (wheels)

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

Total release size: 90.4 MB

Release files / serc-0.1.2.tar.gz

Download URL serc-0.1.2.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
c421c298e6d7bd60cee93c4aeef12aa90aa1f2ca5b758cae312f14e504bd41e6
BLAKE2b-256 checksum
How to use checksums
af637a9e9e09b359b7e73d37c066c2e9c31c92e6177743a6a1af9fb11ff1cd75
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.2-py3-none-win_arm64.whl

Download URL serc-0.1.2-py3-none-win_arm64.whl
Size 4.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
50f66b3c25a318109e5dff9da49f040e7489e49de52fc6082de5ab59255cd4f3
BLAKE2b-256 checksum
How to use checksums
a58e6f409652739dc35d490e8b96d1555a98e876f7a95f7d479690fdc80c022c
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.2-py3-none-win_amd64.whl

Download URL serc-0.1.2-py3-none-win_amd64.whl
Size 4.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
210596c74d6d3ed1b16ac68dc012ce125fa9799c80f4492372b7f6b4fe6051bc
BLAKE2b-256 checksum
How to use checksums
860a6c6e544e778145445bbf0736ef8e8d043745721b7a02c3d9e8b84114261c
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.2-py3-none-win32.whl

Download URL serc-0.1.2-py3-none-win32.whl
Size 4.7 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
e79951d980655fb16ea2b150188972cb2483a389871ea0feb41f610542a82306
BLAKE2b-256 checksum
How to use checksums
5909d09cbd7570fd4c74d38d281fdd65774a420cf5237179665fa100ed502fb9
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.2-py3-none-musllinux_1_1_x86_64.whl

Download URL serc-0.1.2-py3-none-musllinux_1_1_x86_64.whl
Size 5.0 MB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
16f1a352a1d9308bbe27ac945ead5ec7d0cac6827a4256d33d361c91e1688274
BLAKE2b-256 checksum
How to use checksums
3e7df3341e1f9bac53e93058ff9f37ef84d40d7fa5ca48d05238d1e1b4273503
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.2-py3-none-musllinux_1_1_riscv64.whl

Download URL serc-0.1.2-py3-none-musllinux_1_1_riscv64.whl
Size 5.2 MB
Tags Linux musl 1.1+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
cd162f9d88e1321258ca4d016180354d316d23949d097eb7d3bd551aeb160c48
BLAKE2b-256 checksum
How to use checksums
30540427a071e413201eadbab782abe04a40e0c536bf9ab9f8de0e55a13dca85
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.2-py3-none-musllinux_1_1_i686.whl

Download URL serc-0.1.2-py3-none-musllinux_1_1_i686.whl
Size 4.9 MB
Tags Linux musl 1.1+ x86-32 Python 3
SHA-256 checksum
How to use checksums
35922739072b161c354db5cafe123578cca3117b45e8ff38847c58c40e578060
BLAKE2b-256 checksum
How to use checksums
0892e5952b367ac10f2818fd022ddfeb0e81561d30f1b8fa3d5b661f7d853150
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.2-py3-none-musllinux_1_1_armv7l.whl

Download URL serc-0.1.2-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
e9171d5b02d47d87c60d965a2e4ffd33b2a1087cfb9b354bfefefbe991d7fd6a
BLAKE2b-256 checksum
How to use checksums
5408480cd79d263427ecf3d04d38876f656dec468e71eada64b4455068a55ab6
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.2-py3-none-musllinux_1_1_aarch64.whl

Download URL serc-0.1.2-py3-none-musllinux_1_1_aarch64.whl
Size 4.6 MB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
77afb4285fb01e60faac29f1ca5af5bd756994142dc25c48208bcd659c8156e3
BLAKE2b-256 checksum
How to use checksums
8374d77a10b9a163be96beea33b9c56ad136a3b556ec72b5d3b95a01a95160f0
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.2-py3-none-manylinux_2_31_riscv64.whl

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

Download URL serc-0.1.2-py3-none-manylinux_2_28_aarch64.whl
Size 4.6 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
ba7ecb38e5f94574578d3ff0f1c8c8b0c29da47ccb7b122a3cee8a69e0f1ff4b
BLAKE2b-256 checksum
How to use checksums
ec4c354a908c48915d585c91f77be4703739a78d2b25fe9a0aa522c7e7d0cf65
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.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL serc-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.9 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a1c961124311af97468ef4acaf4efb478c922681f844103f3286ffaf0dca18ec
BLAKE2b-256 checksum
How to use checksums
0f7d23d748d2f23051d23832b7a8c148cc79bfced5e2e3020fc78e2f892d9ac8
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.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL serc-0.1.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 5.5 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
58cbdf2200ed49766e3c801418b0c4bef189b053076b8fe24cf893903c046393
BLAKE2b-256 checksum
How to use checksums
daa0d51916e4a791c00e9d110a03dd834f6e2711bb155c7db459499a822dd639
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.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL serc-0.1.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 5.3 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
35f223faf85a9d4e5825b276ef24053cc79dcce1237499ee39d5c25b908363fe
BLAKE2b-256 checksum
How to use checksums
6b417053b88ec5eb0ff8be214dea36d5cde6d172909e914fc7cc83483cb8f4fd
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.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL serc-0.1.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 5.0 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
e5ba5b8b5496ee21dc41bbce688b82c47049b9bb6438ee76e4b6096f18b1adde
BLAKE2b-256 checksum
How to use checksums
7e396313c72e797d9e4cd640e41c7a43cfb21d4ba39e18d678205954b81e4b1a
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.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL serc-0.1.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 4.7 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
b20562a8f7c8d2d6a735d9f330d02290b7404d5a68df243300044898f9e73baf
BLAKE2b-256 checksum
How to use checksums
14afc09e4ce75bbbe03bc76e7802087e51b29d699443469cde1a7a19095c8066
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.2-py3-none-macosx_11_0_arm64.whl

Download URL serc-0.1.2-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
ea7df6c023f3bf7396c06d24d7db5cde9f863626a951d52a4018a5997e92288c
BLAKE2b-256 checksum
How to use checksums
59a985a2a2c1e3ba5a881f7af5febd832b0502562691c26a7d4ba90d5c546183
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.2-py3-none-macosx_10_12_x86_64.whl

Download URL serc-0.1.2-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
d80843c43697322f9815789e8a5ffb8295b04185b85a69abccf918cdaf93ee60
BLAKE2b-256 checksum
How to use checksums
b0ac7bdbe3d62821f758230cb084d9163d5df2769a29b26df5b6b6ffe2910c32
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.2-py3-none-linux_armv6l.whl

Download URL serc-0.1.2-py3-none-linux_armv6l.whl
Size 4.9 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
b1bc4bbcbad11141d12468e4d6e1de6dac656e153b22138aa272dc3e840c5621
BLAKE2b-256 checksum
How to use checksums
25849fc36eb2237b05b2a9588848ade35871003b02bd402d1e5cc2fff5050bb0
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.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.

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