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
  -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
Lord Sith 622
Emile Zola 86

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.2.0.tar.gz (68.8 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.2.0-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: csan-0.2.0.tar.gz
  • Upload date:
  • Size: 68.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","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.2.0.tar.gz
Algorithm Hash digest
SHA256 42b26504a8b18514dd03f6b7c95d505d1a66e7ed9e8e1c733826a6d6cb8a743d
MD5 8e187523d2d61541347914b76081ccb0
BLAKE2b-256 7680cc9b75b85c8ef2698baec29f33c7fc0b21ab2417b30eb9947e4e8b2b9f3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: csan-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 68.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe2a002d7cdd21108b8bd07898ad2a68e46a17d998380f62fdfadce70d03c3f7
MD5 7e83d5158b9d4020a9e7665473886b10
BLAKE2b-256 6a5a212ecebd233daf0774464d34b58543dc636983c46f052253733952968227

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