Skip to main content

Akrophonobolos

Python package for handling Ancient Athenian monetary values in talents, drachmas and obols, including input and output in Greek acrophonic numerals (such as 𐅎, 𐅍, 𐅌, 𐅋, 𐅊, etc.)

Installation

pip install akrophonobolos

Usage

Read the full documentation on Read the Docs

Akrophonobolos provides functions for parsing, manipulating, and formatting Greek acrophonic numerals. It also provides a class, Khremata encapsulating these methods. Interally, the python fractions library is used to minimize issues caused by floating point arithmetic.

>>> import akrophonobolos as obol
>>> cash = obol.parse_greek_amount("Τ𐅅ΗΗΗΔ𐅂𐅂𐅂Ι𐅁")
>>> cash
Fraction(81759, 2)
>>> obol.format_amount(cash)
'1t 813d 1½b'
>>> obol.format_amount(cash, obol.Fmt.ENGLISH)
'1 talent, 813 drachmas, 1½ obols'
>>> obol.format_amount(cash, obol.Fmt.GREEK)
'Τ𐅅ΗΗΗΔ𐅂𐅂𐅂Ι𐅁'
>>> obol.format_amount(cash * 2)
'2t 1626d 3b'

Using the class:

>>> cash1 = obol.Khremata('1t')
>>> cash2 = obol.Khremata('300d 3b')
>>> cash1 + cash2
Khremata (1t 300d 3b [= 37803.0 obols])
>>> cash1 - cash2
Khremata (5699d 3b [= 34197.0 obols])
>>> cash1/cash2
Fraction(12000, 601)

There are functions for working with the sort of interest we see in inscriptions such as IG I³ 369.

>>> rate = obol.interest_rate("5t", 1, "1d")
>>> rate
Fraction(1, 30000)
>>> obol.loan_term("𐅊", "ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ", rate)
1397

The first line calculates the rate required for 1 drachma interest on 1 talent in 1 day. The last applies it to the amounts found on line 7 of that inscription for the principal (𐅊, 50 talents) and interest (ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ, 2 talents 1,970 drachmas) to determine that the loan term was 1,397 days.

This package also provides two command lin scripts. obol performs conversion and simple math:

$ obol 𐅉𐅉𐅈 348d "1d 5.5b" 14T1800D4O
𐅉𐅉𐅈 = 25 talents
348d = ΗΗΗΔΔΔΔ𐅃𐅂𐅂𐅂
1d 5.5b = 𐅂ΙΙΙΙΙ𐅁
14T1800D4O = 𐅉ΤΤΤΤΧ𐅅ΗΗΗΙΙΙΙ

$ obol 1t + 1000d
ΤΧ = 1t 1000d
$ obol 1t - 1000d
𐅆 = 5000d

logistes does loan calculations:

$ logistes -p 50t -d 1397
𐅊 (50t) at 10 drachmas per day for 1397 days = ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ (2t 1970d) interest
$ logistes -p 50t -i ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ
𐅊 (50t) at 10 drachmas per day for 1397 days = ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ (2t 1970d) interest
$ logistes -d 1397 -i ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ
𐅊 (50t) at 10 drachmas per day for 1397 days = ΤΤΧ𐅅ΗΗΗΗ𐅄ΔΔ (2t 1970d) interest

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/seanredmond/akrophonobolos

Metadata

Release files for akrophonobolos 1.0.0

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

Source distribution (sdist)

Source distribution for akrophonobolos 1.0.0
File Size Uploaded Provenance
akrophonobolos-1.0.0.tar.gz 24.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for akrophonobolos 1.0.0
File Interpreter ABI Platform
akrophonobolos-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.3 kB

Release files / akrophonobolos-1.0.0.tar.gz

Download URL akrophonobolos-1.0.0.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c382ad321cbec796aa0c6382dda014362352d94ca0deb0238e29e1a02dcb319d
BLAKE2b-256 checksum
How to use checksums
f4cf6d0b96ea63577b9b0a5960526452102f0a5cc5b00f31155b1078125e7839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17

Release files / akrophonobolos-1.0.0-py3-none-any.whl

Download URL akrophonobolos-1.0.0-py3-none-any.whl
Size 25.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5852b6c99b1aef4682867936e3df05c6ac92aa2a24bcf724c1485c3625f2892
BLAKE2b-256 checksum
How to use checksums
d15d7b9e34bd0c4bae87827dcfc172015591f4c46b9c756ecba6d7675b61d3e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17

Security for akrophonobolos 1.0.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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