Skip to main content

csan (Python package)

Generate Cutter-Sanborn three-figure and Library of Congress cutter numbers for library cataloging from author names and titles. The package provides Python bindings to the Rust csan-core library and the csan command-line tool, as abi3 wheels for CPython 3.9+ on Linux, macOS, and Windows.

pip install csan        # library + CLI
uv tool install csan    # just the CLI, isolated
import csan

csan.cutter_sanborn(forename="Charles", surname="Dickens",
                    title="Oliver Twist")  # 'D548o'
csan.cutter_loc(surname="Carter")  # 'C378'

csan.cutter_sanborn_detailed(surname="Borges")
# {'alpha_prefix': 'B', 'alpha_suffix': None, 'entry': 'Borg',
#  'formatted': 'B732', 'numeric': 732}

Every function accepts forename, surname, and title keyword arguments (at least one must be non-blank; blank strings count as absent). cutter_sanborn* also take prefix_len and suffix_len; cutter_loc* take max_len (clamped to 4). The *_detailed variants return a dict of the number's parts plus the rendered call number under "formatted". Unusable input raises ValueError.

The console script is the same interface as the standalone Rust binary:

csan --forename Charles --surname Dickens --title "Oliver Twist"   # D548o
csan --method cutter-loc --surname Carter                         # C378

Building from source

Built with maturin from crates/csan-py in the main repository (Rust toolchain required):

pip install maturin
maturin develop -m crates/csan-py/Cargo.toml       # editable install
maturin build --release -m crates/csan-py/Cargo.toml

Each GitHub release carries the wheels (Linux manylinux and musllinux, macOS, and Windows, on x86_64 and aarch64) and the sdist that are published to PyPI.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Metadata

Release files for csan 0.7.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 csan 0.7.1
File Size Uploaded Provenance
csan-0.7.1.tar.gz 120.1 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for csan 0.7.1
File
csan-0.7.1-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
csan-0.7.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
csan-0.7.1-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
csan-0.7.1-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
csan-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
csan-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
csan-0.7.1-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
csan-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.2 MB

Release files / csan-0.7.1.tar.gz

Download URL csan-0.7.1.tar.gz
Size 120.1 kB
Tags Source
SHA-256 checksum
How to use checksums
49e1ae5a93f07caf43718a9da2e8b69aa11f316026de4aa020a6b093eac796cb
BLAKE2b-256 checksum
How to use checksums
fe45709b86485b5ff676b6d07ba61900c22c898559260330b4b71f5b51393254
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-win_arm64.whl

Download URL csan-0.7.1-cp39-abi3-win_arm64.whl
Size 368.1 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
55045e48926e64f2b58b0032bf011a88e2fe8e84695b440ff3329df28bf9cf9a
BLAKE2b-256 checksum
How to use checksums
ca1b2f5e1e65283cee5592133011aa6b400878c901d831050f7aa5577dbe99c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-win_amd64.whl

Download URL csan-0.7.1-cp39-abi3-win_amd64.whl
Size 383.5 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
bfd5457c7e7ecb3b54fc319d89cea77f9aeb7c57cbbd40313380017002d3dff4
BLAKE2b-256 checksum
How to use checksums
577a2f55f3329e3a13ac172168b6a27d0f018bf90ca9f2f01b96fc21fbb71123
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL csan-0.7.1-cp39-abi3-musllinux_1_2_x86_64.whl
Size 737.9 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
7148cc8e60faf2074d9ff09976d13bd94654abf697c100aa434f103559269341
BLAKE2b-256 checksum
How to use checksums
9065c1d71800a4b8b7d3fc4397c09a594a3842123fa4e16ea1a0a473953c56d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL csan-0.7.1-cp39-abi3-musllinux_1_2_aarch64.whl
Size 682.9 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
d72ec81adfe4aca2c358e954c5126487f39a03c2e9f6b553c5b765e89e722967
BLAKE2b-256 checksum
How to use checksums
e51b9bd919b06412c5f89ce15fbca4d495348eb6f380fc0755df134e6252fccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL csan-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 501.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
d44cff27cb67823aeb29f60440aaa28f91bc881080e8d01dab2e62eb20a228e1
BLAKE2b-256 checksum
How to use checksums
284f0e45695ac2cc0abecdaac836fcc633ed0c14014a500cf36193a1744d1606
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL csan-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 503.5 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
1203dd98a0297225d46a2ea7ad53903e652fb0858ada9f6413352deeb5a9f9d2
BLAKE2b-256 checksum
How to use checksums
d7e61f2b6b2c7524d05a2b402c1874df0171fcbf9abe9520441c36a4441ad122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-macosx_11_0_arm64.whl

Download URL csan-0.7.1-cp39-abi3-macosx_11_0_arm64.whl
Size 436.9 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d8acf036fbaa04247aa1610c7aa6fd97052287a9d7910fdb25567d19329975e0
BLAKE2b-256 checksum
How to use checksums
36b560392c718158ee032accd17433f1e2b39d543f4d7728ea0d7b3fe9a3935c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / csan-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL csan-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl
Size 460.8 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
39c20ccce7266c8b85a0c0325464dbcb981a7bdf9709ef13f5a0147fdb93c3b2
BLAKE2b-256 checksum
How to use checksums
238074fd4d3588082d83404d59dfdff5f0acf2286db115275cbf52bda25fbd41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for csan 0.7.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.

Full provenance

All 9 files in this release have been uploaded with provenance metadata.

Select from 9 files

Attestation for csan-0.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

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.

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