crc-rust (Rust mirror of Nicoretti/crc)
Stage-1 Rust mirror of Nicoretti/crc
(BSD-2-Clause, original by Nicola Coretti). Behavior-identical port of
src/crc/_crc.py exposed as the crc._crc extension module via PyO3, with
thin crc/__init__.py + crc/__main__.py re-export shims preserving the
original public API (Calculator, Register, TableBasedRegister,
Crc8/16/32/64, create_lookup_table, main, ...).
Layout (publishable)
One implementation, two distributions:
crc-core/— reusable pure-Rust core cratecrc-rust-core(crates.io). No Python dependency:rlib,cargo testclean, miri-clean. Rust consumers depend on this crate directly.src/lib.rs— thin PyO3 binding cratecrc-rustcalling that same core. Ships on PyPI as distributioncrc-rust; the import name is unchanged (import crc), so users swap the install with zero code changes:pip install crc-rustinstead ofpip install crc.crc/— Python shims (__init__.py,__main__.py).release.toml— release configuration (names, version, platforms, Python versions, publishing repo + workflow identity, license, upstream attribution). Read byrustsmith release-prep; seedocs/RELEASE.md.
No redesign: byte-at-a-time table lookup ships, same as the original. Slice-by-8/16 is a Stage-2 optimization candidate, not part of the mirror.
Install
pip install crc-rust # Python (import crc)
cargo add crc-rust-core # Rust
Release
Publishing is a manual step after review; rustsmith never pushes.
Prepare and verify everything locally, then follow the generated setup
instructions:
rustsmith release-prep --project mirror/crc --fork <fork> --opt <opt> \
--recon-out <recon> --out <dist>
See docs/RELEASE.md (releasing converted projects) and the generated
TRUSTED_PUBLISHING_SETUP.md in the output directory.
Metadata
Release files for crc-rust 0.1.0
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 | |
|---|---|---|---|---|
| crc_rust-0.1.0.tar.gz | 164.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crc_rust-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
Total release size: 480.2 kB
Release files / crc_rust-0.1.0.tar.gz
| Download URL | crc_rust-0.1.0.tar.gz |
|---|---|
| Size | 164.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
117117b750c16f2a29d80e0ce22e5c6d50d75d5d3af32c71d06c467bb514a294
|
|
BLAKE2b-256 checksum How to use checksums |
7206f7aecd3f9cc942632dcb14d3c932d334411f9e06a78dd0e5e057b91e2be2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","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 / crc_rust-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | crc_rust-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 315.9 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
437c8c404883ad658fad9547b4beb7d1e1d6178117d5e72c4d16c885ebfbeafa
|
|
BLAKE2b-256 checksum How to use checksums |
561f9344ea8d14ee2fddecbb725f45ee4e80f7a27f09c88828387b78aef6426c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","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 crc-rust 0.1.0
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.