Skip to main content

iscn-authenticator

ISCN 2024 karyotype validation — parser, rule engine, and AST types. Pure Python, zero runtime dependencies, supports Python 3.10–3.13.

Validates karyotype strings against the 2024 International System for Human Cytogenomic Nomenclature (ISCN) and returns a structured AST alongside any rule violations.

Install

pip install iscn-authenticator

Quick start

from iscn_authenticator import is_valid_karyotype, validate_karyotype

is_valid_karyotype("46,XX")                              # True
is_valid_karyotype("47,XY,+21")                          # True
is_valid_karyotype("46,XX,t(9;22)(q34;q11.2)")           # True
is_valid_karyotype("47,XY,+21[8]/46,XY[12]")             # True (mosaic)
is_valid_karyotype("garbage")                            # False

result = validate_karyotype("46,XX,del(5)(q13q33)")
# result.valid   -> True
# result.errors  -> []
# result.parsed  -> KaryotypeAST(...)

API surface

  • validate_karyotype(s: str) -> ValidationResult — full validation, returns {valid, errors, parsed}.
  • is_valid_karyotype(s: str) -> bool — boolean convenience wrapper.
  • KaryotypeAST, Abnormality, Breakpoint, CellLine — dataclasses describing the parsed structure.
  • ParseError — raised by the parser on malformed syntax; validate_karyotype catches it and surfaces it through errors.

Supported nomenclature

ISCN 2024 grammar covered:

  • Numerical aberrations: +21, -X, ...
  • Structural rearrangements: del, dup, inv, t (translocation), ins (insertion).
  • Specialized rearrangements: i (isochromosome), idic (isodicentric), der (derivative), dic (dicentric), r (ring), rob (Robertsonian), trp (triplication).
  • Marker chromosomes: mar.
  • Uncertainty (?), inheritance suffixes (mat, pat, dn), mosaicism (cell lines split on /).

ISCN 2024 reference

Implementation tracks the 2024 edition of the International System for Human Cytogenomic Nomenclature. See the ISCN publication.

Cross-implementation parity

A TypeScript port (@iscn/core) lives in the iscn-authenticator monorepo under packages/core/, and consumes the same fixture corpus shipped in this repo at fixtures/validity.json. Parity is enforced via CI in both repos.

Contributing

git clone https://github.com/nuin/iscn-authenticator-py.git
cd iscn-authenticator-py
pip install pre-commit ruff
pre-commit install
python3 -m unittest discover tests

License

MIT — see LICENSE.

Metadata

Release files for iscn-authenticator 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iscn-authenticator 0.2.1
File Size Uploaded Provenance Actions
iscn_authenticator-0.2.1.tar.gz 27.0 kB With provenance Details for iscn_authenticator-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for iscn-authenticator 0.2.1
File Interpreter ABI Platform Actions
iscn_authenticator-0.2.1-py3-none-any.whl Python 3 none any Details for iscn_authenticator-0.2.1-py3-none-any.whl

Total release size: 46.5 kB

Release files / iscn_authenticator-0.2.1.tar.gz

Download URL iscn_authenticator-0.2.1.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
604c2a8182fc1b32787cc19e68db352a9eea8f29f6a762c9d13df2aca7952142
BLAKE2b-256 checksum
How to use checksums
824fc874937d5ac58e66b33824b97398e6316bf98c9e46eb37c2c30a7924241b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

Release files / iscn_authenticator-0.2.1-py3-none-any.whl

Download URL iscn_authenticator-0.2.1-py3-none-any.whl
Size 19.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a09039427dbce4c3f6319913a3627814b80778c1c085e155d43ae4f20372473
BLAKE2b-256 checksum
How to use checksums
20def7c23d5d36eb4ec7356d3c58f31143c14824e965992ebf315effc4b9cf00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

Security for iscn-authenticator 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for iscn_authenticator-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page