Skip to main content

A module for working with 10- and 13-digit ISBNs

Project description

Development status Test state on main Current PyPI release Supported Python versions Documentation Recent developments

Introduction

pyisbn is a GPL v3 licensed module for working with various book identification numbers. It includes functions for conversion, verification and generation of checksums. It also includes basic classes for representing ISBNs as objects.

See the doc directory for installation instructions and usage information, you can also view the content online.

Requirements

pyisbn does not depend on any modules that aren’t included in Python’s standard library, and as such should run with Python 3.11 or newer [1]. If pyisbn doesn’t work with the version of Python you have installed, open an issue and I’ll endeavour to fix it.

The module have been tested on many UNIX-like systems, including Linux and OS X, but it should work fine on other systems too.

Example

The simplest way to show how pyisbn works is by example, and here goes:

>>> import pyisbn
>>> Permutation_City = "1-85798-218-5"
>>> pyisbn.validate(Permutation_City)
True
>>> pyisbn.convert(Permutation_City)
'9781857982183'

or using the object pattern use:

>>> Permutation_City = pyisbn.Isbn10("1-85798-218-5")
>>> Permutation_City.validate()
True
>>> Permutation_City.convert()
'9781857982183'
>>> print(Permutation_City)
ISBN 1-85798-218-5

All independent functions and classes contain (hopefully) useful docstrings.

API Stability

Now that pyisbn 1.0 has been released the API will is frozen, and any changes which aren’t backwards compatible will force a major version bump.

Contributors

I’d like to thank the following people who have contributed to pyisbn.

Patches

  • Christopher Wells

Bug reports

  • James Gaffney

  • hbc (bcho)

  • Wen Heping

  • Max Klein (notconfusing)

  • Matt Leighy

  • Nathaniel M. Beaver (nbeaver)

  • Randy Syring (rsyring)

  • Stephen Thorne

Ideas

  • Kevin Simmons

If I’ve forgotten to include your name I wholeheartedly apologise. Just drop me a mail and I’ll update the list!

Bugs

If you find any problems, bugs or just have a question about this package either file an issue or drop me a mail.

If you’ve found a bug please attempt to include a minimal testcase so I can reproduce the problem, or even better a patch!

Download files

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

Source Distribution

pyisbn-1.4.1.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

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

pyisbn-1.4.1-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file pyisbn-1.4.1.tar.gz.

File metadata

  • Download URL: pyisbn-1.4.1.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyisbn-1.4.1.tar.gz
Algorithm Hash digest
SHA256 17e4d05b111d7cdc1fb8656c782c047ebca9b6a19f34f83c5defb56a51141b9d
MD5 6bf19f953ba457a2ead73a359025ac78
BLAKE2b-256 276bbe86403adcf0771d506e5fca2e7c5919a4b9d7a5a24513196191d3d4a676

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyisbn-1.4.1.tar.gz:

Publisher: release.yml on JNRowe/pyisbn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyisbn-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: pyisbn-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyisbn-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b23042083035b410fe8d7550580afa1329ce17050f3c285683a8a4463c6ce9f1
MD5 b436ff6d3737095f980fbd5b76667af7
BLAKE2b-256 99d804209475e20c1393dc82d31d6b0584fba90ff9e5809894b0e2c2db10e4f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyisbn-1.4.1-py3-none-any.whl:

Publisher: release.yml on JNRowe/pyisbn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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