Skip to main content

CLI tool that generates a Cutter-Sanborn identifier, given a first and a last name.

Project description

CSAN: Cutter-Sanborn Number Generator

csan is a CLI tool that generates a Cutter-Sanborn identifier, given a first and a last name.

The Cutter-Sanborn identifier, commonly called "Cutter number", is an alphanumeric code that forms part of the call number in library classification systems in order to arrange books alphabetically by author. It consists of the first letter of the author's last name followed by three-digit number derived from a predefined table. This system was originally developed by Charles Cutter, and revised by Kate Sanborn.

Installation

You can install this tool using uv or pip:

uv tool install csan
pip install csan

Usage

usage: csan [-h] [-f FIRST_NAME] -l LAST_NAME [-t TITLE] [-v]

Cutter-Sanborn identifier generator.

options:
  -h, --help            show this help message and exit
  -f, --first-name FIRST_NAME
  -l, --last-name LAST_NAME
  -t, --title TITLE
  -v, --verbose

For instance:

  • csan -f John -l Doe -> D649
  • csan -f John -l Doe -t "My Book" -> D649m
  • csan -f First -l Last -v -> L349, with log output to the console
  • csan -f Jorge -l "De la Cruz" -> D332

Examples

The following cutter numbers are expected, for their respective names. This is achieved with cutter_number function from csan.cutter. When run via CLI, the output is the cutter identifier (cutter_identifier function), which also includes the cutter number.

First Name Last Name Cutter Number
Charles Dickens 548
Jane Austen 933
Mark Twain 969
Samuel Clemens 625
George Orwell 79
Eric Blair 635
Virginia Woolf 913
Leo Tolstoy 654
Fyodor Dostoyevsky 724
Herman Melville 531
Emily Dickinson 553
William Shakespeare 527
Agatha Christie 555
Stephen King 52
Jorge De la Cruz 332
Ivan Smith 649
William Smith 664
Emile Zola 86
VERA LVX 979
Lord Sith 622

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csan-0.3.0.tar.gz (69.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csan-0.3.0-py3-none-any.whl (69.2 kB view details)

Uploaded Python 3

File details

Details for the file csan-0.3.0.tar.gz.

File metadata

  • Download URL: csan-0.3.0.tar.gz
  • Upload date:
  • Size: 69.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","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}

File hashes

Hashes for csan-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e1eaa204cc5f57f0e12e7a12226f1af2afbcfb703aea5d02cb64412da1d23f10
MD5 4e69163e12be44a4cd66598e2f7c7d45
BLAKE2b-256 67dcbe77533b48b9a0e55cd8716bfe65f99cf99322d17b68c28592fe5fb3d8ec

See more details on using hashes here.

File details

Details for the file csan-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: csan-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 69.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","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}

File hashes

Hashes for csan-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2a0ac3dc63d1e629e92b5a21b52c8429c7e872bfacff7bec6effc223aa02320
MD5 75a5f62c4684554515d564fa11645918
BLAKE2b-256 9fca050f9e030eb4526962596d884f3e3204868379952b91c691d146f2637963

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page