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 pip or uv:

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 FIRST_NAME
  -l LAST_NAME, --last-name LAST_NAME
  -t TITLE, --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
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.1.1.tar.gz (68.6 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.1.1-py3-none-any.whl (68.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: csan-0.1.1.tar.gz
  • Upload date:
  • Size: 68.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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.1.1.tar.gz
Algorithm Hash digest
SHA256 edb6d873d9c12c29fb48e8a48c8a5d3289550ea9a493a0de37ef491c7df97ae3
MD5 15a91f37c11e931d60fbb18c66abe5ee
BLAKE2b-256 d6d68651a636ac28e96d8b5c0e040acb0aae6a1b84286bfa6bff068be9cb523d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: csan-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 68.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f637029889a3124d40f29153b16fdff74ca36cb66d740d5ea18c704aab047b1
MD5 e745536292e50a882018476fdc84c217
BLAKE2b-256 934c08cf300d81ef3c2bc0556bedf90d33a588cf4df40a448fcb21179aba6221

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