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, while compiling
2.9-4.1× faster than CPython’s
compileall.
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. Existing bytecode destinations must be regular
files; compilation rejects symlinks and special files, including with --force.
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.10
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 | Actions |
|---|---|---|---|---|
| serc-0.1.10.tar.gz | 3.1 MB | Without provenance | Details for serc-0.1.10.tar.gz |
Built distributions (wheels)
Total release size: 104.5 MB
Release files / serc-0.1.10.tar.gz
| Download URL | serc-0.1.10.tar.gz |
|---|---|
| Size | 3.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e5b7a03c9a5eccb229d232884e3fb6e627ed97acf96e3d39563a0027a486419
|
|
BLAKE2b-256 checksum How to use checksums |
3e928c6323d4a8170237ec8ff14193b00f726039fdd537d6be6e508809c671b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-win_arm64.whl
| Download URL | serc-0.1.10-py3-none-win_arm64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
44fd2fb15c2db85caaf133220db823b9ac9a9b86f1b80d7165ccbe31801183ff
|
|
BLAKE2b-256 checksum How to use checksums |
b7951d521b801674d6192547aad235896ad12109a7d877a71c8126d26442fbb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-win_amd64.whl
| Download URL | serc-0.1.10-py3-none-win_amd64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cae129c0093f7f04e494290b52ddf30e7fce019dbb01b2a7eff7917a2ca8e1db
|
|
BLAKE2b-256 checksum How to use checksums |
fe6446f545073e99ba1a0f90c9999721dda4b53b959d0bb383d7609210efcaed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-win32.whl
| Download URL | serc-0.1.10-py3-none-win32.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
64dc021433b4701c4afe5359dfb81a046e17894001299f2d5b2604abb9736c9d
|
|
BLAKE2b-256 checksum How to use checksums |
3b8ce25914fb1b51fdbed93dab203aab76779a9c25d9854db4fc7af7bd5d5d29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-musllinux_1_1_x86_64.whl
| Download URL | serc-0.1.10-py3-none-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Linux musl 1.1+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
051ca74a99b3c623dc9979e66452a969fccba4bf2eb911617a0ac044946978bd
|
|
BLAKE2b-256 checksum How to use checksums |
c91b9442ebb753c34311dd32f17889f328e21d9b73df23c9bcf04be588299610
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-musllinux_1_1_riscv64.whl
| Download URL | serc-0.1.10-py3-none-musllinux_1_1_riscv64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | Linux musl 1.1+ RISC-V 64 Python 3 |
|
SHA-256 checksum How to use checksums |
6edbf679634b21c3a31d7698b789e269dfc8b7c2a5a963c914eef2c8a48e0c09
|
|
BLAKE2b-256 checksum How to use checksums |
e767de58dceb021e239e60ac63b512f7dc393ad2ead72f93ac35b5b921267c08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-musllinux_1_1_i686.whl
| Download URL | serc-0.1.10-py3-none-musllinux_1_1_i686.whl |
|---|---|
| Size | 5.4 MB |
| Tags | Linux musl 1.1+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
dab9744b53782955633533da729b7f7d17147f715dbea0901c518fe3b8c658ce
|
|
BLAKE2b-256 checksum How to use checksums |
b309c35cb4b41e28d921775dee028abdc4770b9590e0edc598c83992e3f33bdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-musllinux_1_1_armv7l.whl
| Download URL | serc-0.1.10-py3-none-musllinux_1_1_armv7l.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux musl 1.1+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
dbc3351265ad0e7fcf5a52271018d1b75d22439d27220f811da194fbd085c92b
|
|
BLAKE2b-256 checksum How to use checksums |
f31f35b2cb89dddbeb1c4873344e38eb5e71b2be68559ece8a26a3a091531c45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-musllinux_1_1_aarch64.whl
| Download URL | serc-0.1.10-py3-none-musllinux_1_1_aarch64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Linux musl 1.1+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
9a5b352cc975216f2fb39c45b91ee2f77da49a86940d1066779527f96322f36d
|
|
BLAKE2b-256 checksum How to use checksums |
298bccc1f0e90ac5513fc87db9f16634f4fd78129798edfa558db280695e19da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_31_riscv64.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_31_riscv64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Linux glibc 2.31+ RISC-V 64 Python 3 |
|
SHA-256 checksum How to use checksums |
790b52a02d7579be9f7de159db7f2eae3f9f588b025e01efc31d62a8a5a89b90
|
|
BLAKE2b-256 checksum How to use checksums |
b54de0ef1219ba831ffb7958b4d075d79ec0688bc209222987c3b9115610b4de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_28_aarch64.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
8de1d30d9b8ca6f37245c383c2e960ef94984a386a2d2e7e8dde361b45254e3d
|
|
BLAKE2b-256 checksum How to use checksums |
9a537fc4dfa77d2125d007e490a681be790cabb9853a9caeaed493bb8a189a56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
154938634e5aff909080e633ccf832db89047279a010a1d75d112eeff7ff071e
|
|
BLAKE2b-256 checksum How to use checksums |
cb333aba9aae1d85e23a7688a8e4394f930c6cc484e7807d15d582e90a587cf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 6.1 MB |
| Tags | Linux glibc 2.17+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
062b43d73759c2fc553404aeb19745f430292fdf80fb8acb277354d45a69f9f2
|
|
BLAKE2b-256 checksum How to use checksums |
6dcad2113dd5f4d577859f0ba9f0b21cc5da9273862b2de5bc8b4739457560fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 5.9 MB |
| Tags | Linux glibc 2.17+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
89c445326cca478ab713822ad606f2844c1b92a3039f8235b46b917cea38ff4f
|
|
BLAKE2b-256 checksum How to use checksums |
ef9cb13840190e6a27353f1c37b05cb5939ae05989406414a15bd65a5a6497d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Linux glibc 2.17+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
a062c5aeb2a43a41890376a383e6ecf81aac853152b63b57085b898d2c7af488
|
|
BLAKE2b-256 checksum How to use checksums |
24877bf6a1cfa0a5e37d6015aa5f370539539fee5d0e81d0776e4e21a0467bd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | serc-0.1.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux glibc 2.17+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
242d5848d9198d102ec0626f8781571d7cad1bdf62de768bc0dfa9754c209f65
|
|
BLAKE2b-256 checksum How to use checksums |
69611e3eab008898d400a9e4d91e89468f8b84d1adf980c55b5c2d56367ea226
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-macosx_11_0_arm64.whl
| Download URL | serc-0.1.10-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
13d1dfc69a0d7a50749db4cc743e411b2ba9391577ae8140b2a04c91429ca673
|
|
BLAKE2b-256 checksum How to use checksums |
91d87d3fe84d4bd553435af6f22ff7d6382f0b59de6f30863799fcf0e4387d94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-macosx_10_12_x86_64.whl
| Download URL | serc-0.1.10-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0339c2863f470fe136b88a14aee3937b4a1836d9a77e8e97b6b4c427c2f02ea0
|
|
BLAKE2b-256 checksum How to use checksums |
ae8bba5e63dea5c04998f9859915ece178f9c0aff5f10a9c7132b2446bbc5fa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10-py3-none-linux_armv6l.whl
| Download URL | serc-0.1.10-py3-none-linux_armv6l.whl |
|---|---|
| Size | 5.4 MB |
| Tags | Python 3 linux armv6l |
|
SHA-256 checksum How to use checksums |
0755c2b1be2378e4b6135f225e8113204a5c05adc3f9544cf66db2c94c51103c
|
|
BLAKE2b-256 checksum How to use checksums |
6408b750d46f604793e3667fef2fc53fa7929b33ba3255bc736deefb726f0157
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.10
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.