Skip to main content

csan (Python package)

Cutter call numbers for library cataloging — Cutter-Sanborn three-figure and Library of Congress — as fast Rust-powered Python bindings, including the csan command-line tool.

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', 'numeric': 732, 'alpha_suffix': None,
#  'entry': 'Borg', 'formatted': 'B732'}

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 --cutter-sanborn --cutter-loc \
  --forename Charles --surname Dickens --title "Oliver Twist"

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

Releases are published to PyPI automatically: each GitHub release carries abi3 wheels (CPython 3.9+) for Linux (manylinux and musllinux), macOS, and Windows on x86_64 and aarch64, plus the sdist, and the Publish to PyPI workflow uploads them once the release succeeds.

License

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

Metadata

Release files for csan 0.6.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.6.1
File Size Uploaded Provenance
csan-0.6.1.tar.gz 114.3 kB With provenance Details

Built distributions (wheels)

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

Download URL csan-0.6.1.tar.gz
Size 114.3 kB
Tags Source
SHA-256 checksum
How to use checksums
27625cd12b18bb3abe271dc86de9004d84271de52c28b503231d1b09fedd180d
BLAKE2b-256 checksum
How to use checksums
a974a8839988d84bdcfa07e0c26068c974c91752cc18e691a8e02dd75afde14d
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.6.1-cp39-abi3-win_arm64.whl

Download URL csan-0.6.1-cp39-abi3-win_arm64.whl
Size 364.7 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
f372cdaadb9a252a44586296ef9c02fed0541f3cd1eb617324868fc5081dd29c
BLAKE2b-256 checksum
How to use checksums
e0de582e43ef5a7b8caa07e5505ffd367b81b64e9b1f303a386f1d15be3c909e
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.6.1-cp39-abi3-win_amd64.whl

Download URL csan-0.6.1-cp39-abi3-win_amd64.whl
Size 378.9 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3f3394ccfbc1d3ca3d0c2b1595d559d729c59f49594bb1079b19ab6c66c32f3f
BLAKE2b-256 checksum
How to use checksums
c2f3caae433f972a9bb73f83d68b472b52ac0378cac77e301c05fea1b015acd4
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.6.1-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL csan-0.6.1-cp39-abi3-musllinux_1_2_x86_64.whl
Size 731.5 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
bb5c750efcd46217941abda2fa67f9930325be5a12f19b24f29a9e1c3532b224
BLAKE2b-256 checksum
How to use checksums
adf04c0397ebc5b51578040168be5255b6e8c31c00c27f68addf4d2f0e2452ab
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.6.1-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL csan-0.6.1-cp39-abi3-musllinux_1_2_aarch64.whl
Size 679.2 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
00f397c98151a3f5ed66cb50acb0a42259015f810a8ceb414a442571c6ac4858
BLAKE2b-256 checksum
How to use checksums
8125fe5f582e9ad79d16c43e34a871a30b852865bd2e64d359376eb2dd1a2af2
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.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL csan-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 496.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
7bf9988a51b2e0b3dbc32fa487da48140367bad352598ee0f0a4403d55afa4c3
BLAKE2b-256 checksum
How to use checksums
f199072da494cbb530a9560b1547371e932cbe045e805a5e68c1cc9fbb62bcd7
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.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL csan-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 500.8 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
2da95877f291d71a6f8833e7dd9a52696d771fc61568a6ccd4fccff6f70aa7dc
BLAKE2b-256 checksum
How to use checksums
761f14225940b7aa21bacbbefb1b6b47d50b07f730772c4498b583ef8de975d9
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.6.1-cp39-abi3-macosx_11_0_arm64.whl

Download URL csan-0.6.1-cp39-abi3-macosx_11_0_arm64.whl
Size 434.7 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
964a81b04ff33ab943d1e0dc424ea2329203f2053e5a91d5c0f3b1a7baaf1f3e
BLAKE2b-256 checksum
How to use checksums
e92f7a0297fdec773a3417846851d35a4cde1e80b9e26e65918e25a6c60eed95
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.6.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL csan-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl
Size 457.4 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
95988e57f334f8bbaadd7e2fc563912b83421e7f4a22f856fa2b3187d785c24e
BLAKE2b-256 checksum
How to use checksums
dcd59ad28928f470e8c2ae0317b5754e820cc976a4bb347b6059aeddea8bb293
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.6.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.6.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