Serc
An experimental CPython bytecode compiler, written in Rust.
Highlights
- Compile Python source to CPython
.pycfiles 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.
Serc produces byte-for-byte identical output on an extensive corpus of real-world Python code, including Django, Airflow, and Transformers, >40% faster than CPython's built-in compiler:
| 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× |
But 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
Use --files-from - to read a list of files from standard input. Paths are
newline-delimited by default; --null accepts NUL-delimited paths, including
filenames that contain newlines:
find path/to/package -type f -name '*.py' -print0 | serc compile --files-from - --null
The list selects individual files without scanning directories. On Unix, paths retain their original bytes; on Windows, the list must use UTF-8.
Current .pyc files are left untouched by default. We compare the target
bytecode format and invalidation mode, then the source's timestamp and size or
its content hash. Pass -f or --force to rebuild every file, including after
changing the compiler or native build profile. --check always compiles the
sources without writing bytecode.
For integrations, --output-format json reports the numbers of compiled and
skipped files:
serc compile --files-from - --null --output-format json
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
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
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.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| serc-0.1.7.tar.gz | 2.8 MB | Without provenance | Details |
Built distributions (wheels)
Total release size: 97.0 MB
Release files / serc-0.1.7.tar.gz
| Download URL | serc-0.1.7.tar.gz |
|---|---|
| Size | 2.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b103771209c72a7e98e3e1465205533deb7f668d0cdd9b3ec1a0c2e24835216f
|
|
BLAKE2b-256 checksum How to use checksums |
a799b7104cb058425fc548bef7e9fbbef67d737d02d069373af56ab23b06f68f
|
| 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.7-py3-none-win_arm64.whl
| Download URL | serc-0.1.7-py3-none-win_arm64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
e9c05bff60b8c1967e87a80b034d086ec18f42abd4c6662db1d3370c07c1e8c1
|
|
BLAKE2b-256 checksum How to use checksums |
db2180b88773bb9ddce9f5bd8649d593357dcbc3b20c979bd07c8442446e7b70
|
| 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.7-py3-none-win_amd64.whl
| Download URL | serc-0.1.7-py3-none-win_amd64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ac104fe09b1da7368726ec4d32930851a135768abb84a0572721abd4c8b33a07
|
|
BLAKE2b-256 checksum How to use checksums |
7a1cd50f980031ebcf61fb5370da6b3812769916a275db01d41bc247c751a1de
|
| 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.7-py3-none-win32.whl
| Download URL | serc-0.1.7-py3-none-win32.whl |
|---|---|
| Size | 4.9 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
4f1f10566ac58050a89713f9afc9ee09d76adc29b8122b3d647e981a891b70fb
|
|
BLAKE2b-256 checksum How to use checksums |
f9ecaba460dd57bd621ec3b222d6831b5ed76178a2f5637668e348a257f64579
|
| 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.7-py3-none-musllinux_1_1_x86_64.whl
| Download URL | serc-0.1.7-py3-none-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux musl 1.1+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
586fb8c45b023cf47a5333853900345dda7a7307a1751b6fa07b8bd92a085a01
|
|
BLAKE2b-256 checksum How to use checksums |
f18d0d61133cba8eb742a6ed3cc593e5cf387432ed1c512157058a508d5795fe
|
| 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.7-py3-none-musllinux_1_1_riscv64.whl
| Download URL | serc-0.1.7-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 |
672cb24aade2aca6ede0aa6dd8491c48df58ef58277862e5901b38463da17065
|
|
BLAKE2b-256 checksum How to use checksums |
d9697808dc2dfbc474e04ad5431433a2e85441e060d182cd05458271ae424345
|
| 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.7-py3-none-musllinux_1_1_i686.whl
| Download URL | serc-0.1.7-py3-none-musllinux_1_1_i686.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Linux musl 1.1+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
b6d1b53fbf0c995e2cdc5b3cfd00ff612649ff649b31ab36d28f86fb39988bbd
|
|
BLAKE2b-256 checksum How to use checksums |
48f17af67dd29a479fe5914f99841e8a2af000f153e0b21680279b93640846bd
|
| 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.7-py3-none-musllinux_1_1_armv7l.whl
| Download URL | serc-0.1.7-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 |
b34699d6111abde6708ec3d328085f8853021085f44929727e781fd1bb9f9959
|
|
BLAKE2b-256 checksum How to use checksums |
478a9de8cc9c7a971bf8222e9aed0b5f0ff53cc33908c7c5522d8f3dc1d587f9
|
| 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.7-py3-none-musllinux_1_1_aarch64.whl
| Download URL | serc-0.1.7-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 |
21a8147f219a8b953b5ea7ac19b85dd84ab60d9ad78a86f83c8a58f3fa25b95f
|
|
BLAKE2b-256 checksum How to use checksums |
0d78503d89b3f1f3457058dae34f40bf68a1beb5606ce1a573667605c1e69075
|
| 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.7-py3-none-manylinux_2_31_riscv64.whl
| Download URL | serc-0.1.7-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 |
fd7550445fe35bb6c54f956040085baabf38a2e409c51a944ac313afc5ab72a5
|
|
BLAKE2b-256 checksum How to use checksums |
2321db48ce181775b9ca5323b6d50abbf584e9f604f066b6db636eb6a48556dd
|
| 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.7-py3-none-manylinux_2_28_aarch64.whl
| Download URL | serc-0.1.7-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
dcb322d407985a1d0595288f4a93d7fa6bca7d42cb541e8e00ea5f4abeaec11d
|
|
BLAKE2b-256 checksum How to use checksums |
4097894a671d0cd247c5c97e83698a9f25dadf721bae9cec451ac95be7cd5a05
|
| 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.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | serc-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
65de04c155d1f27c08de224d9b5eeb31c89643c77aecc723f80152cdafe5db93
|
|
BLAKE2b-256 checksum How to use checksums |
e321f0ab34de6c5b8a26608a2a1ab160363276c1e5b61975fe116000ad17bb9e
|
| 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.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | serc-0.1.7-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 |
4cd5ba1fe4052cb063c4ad6dcd09cc6a1d3528403db9f1a790e52373ca8b1497
|
|
BLAKE2b-256 checksum How to use checksums |
993d10b2dc99376a3ff3915038e08563001536d908a52c10a47f36784e9ccc49
|
| 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.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | serc-0.1.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Linux glibc 2.17+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
a1cefe29c8be9664b561cad115339721b3c480d845f2b64e0b8f072f86ebbf71
|
|
BLAKE2b-256 checksum How to use checksums |
6acc382b4759b05dd5abe4ee95937eb918b662dd07c59e720a74768efe8e5ad2
|
| 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.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | serc-0.1.7-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 |
2005336047f5b2b36fac2177619d8e782d041a3b8045c30a229b416f25e9b719
|
|
BLAKE2b-256 checksum How to use checksums |
18e786d463696ab6d6668212d2d96a04bfa7cbabcf2d9169770fa94375783943
|
| 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.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | serc-0.1.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 4.9 MB |
| Tags | Linux glibc 2.17+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
a8fc34bf295750e0a340161153383780ea2339b7880b443c27710feb8558d1be
|
|
BLAKE2b-256 checksum How to use checksums |
67fb06508c4017c3f36ca3232964e2cce94937f20ba1fe0715d93b24fd00eea2
|
| 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.7-py3-none-macosx_11_0_arm64.whl
| Download URL | serc-0.1.7-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e740c71cc7f826774645a676e8c268e1617a9e7f223d96bb6e66dcd0c3856f5d
|
|
BLAKE2b-256 checksum How to use checksums |
baab0cbb4332b693ed01064d57e724ee263f6e23208c3ae00d0509bb2ead55c7
|
| 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.7-py3-none-macosx_10_12_x86_64.whl
| Download URL | serc-0.1.7-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 |
08749cc54d4334ce0c8446f632b0a6dc35c6ed2375669027ca0a5bb46f942b19
|
|
BLAKE2b-256 checksum How to use checksums |
1c8607f709a0dc3a0b0dec00e3056b75a67bb19bc6339982eb1fa112705076a2
|
| 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.7-py3-none-linux_armv6l.whl
| Download URL | serc-0.1.7-py3-none-linux_armv6l.whl |
|---|---|
| Size | 5.0 MB |
| Tags | Python 3 linux armv6l |
|
SHA-256 checksum How to use checksums |
ce0189f4d3ceeca225e53001ff03af7e164ee0884eb64ab0106e3f77b7c51d8a
|
|
BLAKE2b-256 checksum How to use checksums |
402570d372b60f83efd98445cc842c3e3b46772f8cd1713c1f45da2d130e886f
|
| 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.7
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.