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.8.0

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.8.0
File Size Uploaded Provenance
csan-0.8.0.tar.gz 121.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for csan 0.8.0
File
csan-0.8.0-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
csan-0.8.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
csan-0.8.0-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
csan-0.8.0-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
csan-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
csan-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
csan-0.8.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
csan-0.8.0-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.8.0.tar.gz

Download URL csan-0.8.0.tar.gz
Size 121.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d45dced181553a9b5c6c6c05f1691fab88c592dc411a7151ed29b18394104456
BLAKE2b-256 checksum
How to use checksums
902a9c4108e837c0dd3f3ac7eb9ddd806f09b7743fee642e8cef232f0b618c38
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-cp39-abi3-win_arm64.whl
Size 368.0 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
95f8e43b0701664cb8d3efe428274acadc446ca4a482da99617af099ad901c41
BLAKE2b-256 checksum
How to use checksums
e56fe8d6328d4c49cbfac6d2ff8578571dfe7532ba092a21257df30abfe72608
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-cp39-abi3-win_amd64.whl
Size 383.5 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6a1f9e7a08a77d3bc8e3acb17182533694c85ac940302932c78e581585d527cb
BLAKE2b-256 checksum
How to use checksums
a4aeb811e2b46d2dc7f8ba9e0ce0f2aeef2ecda5eff98fe74944e5aaf4fef3e0
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-cp39-abi3-musllinux_1_2_x86_64.whl
Size 738.0 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
144ce3f04e8a91e511c587548e1445a60c5b94793d746ed4225bbf37d817d554
BLAKE2b-256 checksum
How to use checksums
0f8a9d6c9941938681ddf6265a89b32343a81cc69513b434df767d95f13d2fe6
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-cp39-abi3-musllinux_1_2_aarch64.whl
Size 682.8 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
c24f560b26e227458def574a1b52b3870a5382facc8b548f7e8b9bf31031b51d
BLAKE2b-256 checksum
How to use checksums
0bbc3ce67f770b3a616f25333e544c5a4f3a049b2216d033e6f1a92f2bf431fe
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-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
f12aece3d333f26817d4dc11b0dface73bf7af77e1062e2d69dbeb19db731105
BLAKE2b-256 checksum
How to use checksums
1e183273774bde1a22efb28530156a4ff3e5092c59cf3f8c0a1286257ba6c7f3
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-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
72e185ab951a344e5c6e3745758eda0d8ef915d63328b3ec9d47dbd67594be62
BLAKE2b-256 checksum
How to use checksums
d33bf5fee51bab04aaa4a4e34d289e24c02153d619fa4cc6f7fe84ac48214db3
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-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
68e63b98249bfab06accca802c7aab88c2ca6eacb259eec97cb35ab2049f9d84
BLAKE2b-256 checksum
How to use checksums
4e12346acd5a0cd40326c348361df110762f61700bb817255858aed7e07dcdb5
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 24, 2026.

Transparency log

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

Download URL csan-0.8.0-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
3b6d8e637deaa95835b1ce2b255dbb7048c4dce15ba1aff8d1df17f19c536687
BLAKE2b-256 checksum
How to use checksums
de8dfe3fed9c0dcc0968cea74e6876d354fcce1fd52adc683aba0952623882cf
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 24, 2026.

Transparency log

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

Full provenance

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

Select from 9 files

Attestation for csan-0.8.0.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 24, 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