Skip to main content

a Python library to add hyphens in the right place to an ISBN (International Standard Book Number)

Project description

isbn_hyphenate is a Python library to add hyphens in the right place to an ISBN (International Standard Book Number). Example:
>>> import isbn_hyphenate
>>> isbn_hyphenate.hyphenate("9781590593561")
'978-1-59059-356-1'

Most libraries for handling ISBNs can not do hyphenation because it requires using a list of prefixes, available from the International ISBN Agency.

isbn_hyphenate can handle both 10 and 13 digit ISBNs, and will keep the number of digits. If the ISBN is malformed (wrong length or invalid characters) an IsbnMalformedError exception is raised. If the correct hyphen positions cannot be determined, an IsbnUnableToHyphenateError exception is raised. This can mean that the input ISBN is wrong, or it is in a range that is not yet in the known list.

isbn_hyphenate is compatible with both Python 2 and 3.

To update the prefix list:
  1. Download a new RangeMessage.xml file from http://www.isbn-international.org/agency?rmxml=1

  2. Convert it to Python format: ./isbn_xml2py.py RangeMessage.xml > isbn_lengthmaps.py

These alternative Python libraries can also hyphenate:

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

isbn_hyphenate-1.0.3.tar.gz (11.2 kB view details)

Uploaded Source

File details

Details for the file isbn_hyphenate-1.0.3.tar.gz.

File metadata

File hashes

Hashes for isbn_hyphenate-1.0.3.tar.gz
Algorithm Hash digest
SHA256 26ecb281947965f96c5bbb5b136a9f1bdf40d4e992c6b9a74c426d3dcb0e1a59
MD5 916f14e1e85c3c805e64c66c1595806e
BLAKE2b-256 0cc796e8151dab9038a7fd9d86e0d40541ad11ced0642fe95f96450a9a13cc65

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