Skip to main content

atrep — Python bindings

Python bindings for atrep, an extensible semantic markup language designed with literary applications in mind. The same Rust core the CLI wraps (atrep on crates.io), surfaced pythonically: strings in, strings out, exceptions instead of exit codes.

pip install atrep

Checking and the two spellings

import atrep

doc = open("apology.atd").read()

# Parse and validate; routes on the declaration.
atrep.check(doc)          # -> "document" | "dialektos"

# The two spellings: brachygraphic (sim symbols; canonical)
# and plerographic (sim names in braces). Both parse to the
# identical structure.
names = atrep.plero(doc)              # @# ... -> @{section} ...
symbols = atrep.brachy(names)         # ... and back
localized = atrep.plero(doc, lang="el")   # glossa sim names

The structural outline

o = atrep.outline(doc)
o["dialektos"]    # "litogramma"
o["blocks"]       # [{"kind", "symbol", "name", "depth",
                  #   "start", "end", "lemma", "onym",
                  #   "genoses"}, ...]
o["milestones"]   # [{"key": "steph:17a", "line": 4}, ...]
o["onyms"]        # located onym anchors
o["deixes"]       # located deixis references

Endo importers

# Foreign formats -> canonical atrep: markdown | html | rst |
# org | djot | docbook | bibtex | jats | tei | usfm | usx | osis |
# fb2 | rnc | opencorpora | proiel | conllu | dsl.
a = atrep.endo("markdown", open("notes.md").read())

# A Lingvo DSL dictionary is UTF-16 (or a code page): decode it
# first, then pass the text; the result is lexigramma.
a = atrep.endo("dsl", open("webster.dsl", encoding="utf-16").read())

# Bytes in: a Word document, or a DSL file as is (decoded here).
a = atrep.endo_bytes("docx", open("report.docx", "rb").read())
a = atrep.endo_bytes("dsl", open("webster.dsl", "rb").read())

# Bytes out: a litogramma document as a Word file; `media` maps
# the enmedia parameters the document uses to their bytes.
data = atrep.exo_docx(a, media={"media/fence.png": open("fence.png", "rb").read()})
open("report.docx", "wb").write(data)

# Versification milestone scheme (usfm/usx/osis only).
a = atrep.endo("usfm", open("john.usfm").read(), scheme="std")

Dialektoi

# Resolve a dialektos and get its canonical serialization.
# The std dialektoi are embedded; `dir` resolves from disk,
# `sources` from in-memory artifacts.
lekt = atrep.dialektos("koine")
lekt = atrep.dialektos("demo", sources={"demo.lektos": dia})
atrep.std_dialektoi()   # ["at-djot", "koine", ..., "litogramma"]

Errors raise atrep.AtrepError, with file:line:col locations in the message where the source provides them. atrep.version() reports the bindings/core version.

Resolution is offline: non-std dialektoi resolve from the directory of the path argument (default doc.atd, i.e. the process working directory). Remote fetching (kanonizo) and the multi-document operations (morphisms, exo rendering, collation) belong to the CLI.

License

MIT or Apache-2.0, at your option.

Metadata

Release files for atrep 0.3.7

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

Source distribution (sdist)

Source distribution for atrep 0.3.7
File Size Uploaded
atrep-0.3.7.tar.gz 19.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for atrep 0.3.7
File
atrep-0.3.7-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
atrep-0.3.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
atrep-0.3.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
atrep-0.3.7-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
atrep-0.3.7-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.2 MB

Release files / atrep-0.3.7.tar.gz

Download URL atrep-0.3.7.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
51e03cc4d4a2db28de781ca10cc534206def53181b7508bf58b20a197b31da92
BLAKE2b-256 checksum
How to use checksums
4a1217f51acdd3376c5654ca256a213d6bc2cec8af871ae16d385b7ae71c5d64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / atrep-0.3.7-cp39-abi3-win_amd64.whl

Download URL atrep-0.3.7-cp39-abi3-win_amd64.whl
Size 1.3 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
244b5d5faf39211b8cf06fc137189ac76d90356882a4bd2708d387507c94fc71
BLAKE2b-256 checksum
How to use checksums
05944271f20a3f6cee80cbbf1583f7645e06314c2799e900a430e5a481310600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / atrep-0.3.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL atrep-0.3.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
502a5ab89549422fc4489c4f343cf11c9408003a0fc46752eb83acc777720250
BLAKE2b-256 checksum
How to use checksums
c169fa2ccd3ae885ed5e849caea547c61f3e7a44538908c75a75de2b59495446
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / atrep-0.3.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL atrep-0.3.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
2158d60835b025d64c16e11eb15f60149a76a837afe164918e71af98264e8e16
BLAKE2b-256 checksum
How to use checksums
6bfd9ce7fea69e2d80b70837764a9b0030be1139919066118497ad25458904cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / atrep-0.3.7-cp39-abi3-macosx_11_0_arm64.whl

Download URL atrep-0.3.7-cp39-abi3-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c63bacff0d3f925172467ae245c726a49b94d67085fdf8589eb0506ae8fa93ec
BLAKE2b-256 checksum
How to use checksums
cce2a6d663e4c54eef639661f8633e201793eec64f603d3c35e032efa67a7d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / atrep-0.3.7-cp39-abi3-macosx_10_12_x86_64.whl

Download URL atrep-0.3.7-cp39-abi3-macosx_10_12_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e2bbdf4da4d6bd566986bdd738aeb91c86457c010a34cd89f86ae0f993d65dec
BLAKE2b-256 checksum
How to use checksums
091928df9b514f26a4a46c528f8eac5b045acfd111fda4cfb558a7d65d265df2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.10

6 release files

0.3.9

6 release files

0.3.8

6 release files

This release

0.3.7 This release

6 release files

0.3.6

6 release files

0.3.5

6 release files

0.3.4

6 release files

0.3.3

6 release files

0.3.1

6 release files

0.3.0

6 release files

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