Basic calendar functions for the classical Mayan calendar
Project description
mayacal
WORK IN PROGRESS - Implementation of some calendrical features for Classical Maya calendar
Requires Python 3.5+
Installation
pip install mayacal
Example Usage:
Import:
>>> import mayacal as mc
Basic conversions and additions:
>>> lc = mc.LongCount(9, 0, 0, 0, 0) >>> lc.get_calendar_round() 8 Ajaw 13 Keh >>> dist = mc.DistanceNumber(mc.LongCount(0, 0, 13, 2, 10), sign=1) >>> new_lc = lc + dist >>> new_lc 9.0.13.2.10 >>> new_lc.get_mayadate() 9.0.13.2.10 6 Ok 18 Sak >>> print(new_lc.to_julian()) Nov 19, 448 CE >>> print(new_lc.to_gregorian()) Nov 20, 448 CE
Get all Long Count dates corresponding to a given Calendar Round:
>>> cr = mc.CalendarRound(mc.Tzolkin(6, "Ok"), mc.Haab(18, "Sak")) >>> min_lc = mc.LongCount(9,0,0,0,0) >>> max_lc = mc.LongCount(10,0,0,0,0) >>> cr.get_long_count_possibilities(min_lc, max_lc) [9.0.13.2.10, 9.3.5.15.10, 9.5.18.10.10, 9.8.11.5.10, 9.11.4.0.10, 9.13.16.13.10, 9.16.9.8.10, 9.19.2.3.10]
Find the distance between two Long Count dates:
>>> lc_1 = mc.LongCount(9, 12, 13, 0, 5) >>> lc_2 = mc.LongCount(8, 0, 0, 0, 0) >>> diff = (lc_1 - lc_2) >>> diff 1.12.13.0.5 >>> diff.get_total_kin() 235085 >>> diff.to_approx_years(pretty_print=True) '643 years, 7 months, 16 days'
Infer missing date components:
>>> cr = mc.CalendarRound(mc.Tzolkin(4, "Ajaw"), mc.Haab(8, "Kumku")) >>> lc = mc.LongCount(9, 4, None, 10, None) >>> date = mc.Mayadate(lc, cr) >>> date.infer_mayadates() [9.4.10.10.0 4 Ajaw 8 Kumku]
>>> lc = mc.LongCount(9,None,None,None,None) >>> cr = mc.CalendarRound(mc.Tzolkin(4, "Ajaw"), mc.Haab(8, "Kumku")) >>> date = mc.Mayadate(lc, cr, glyph_g='G3') >>> date.infer_mayadates() [9.1.17.15.0 4 Ajaw 8 Kumku]
>>> lc = mc.LongCount(10,None,8,10,None) >>> cr = mc.CalendarRound(mc.Tzolkin(4, "Ajaw"), haab=None) >>> date = mc.Mayadate(lc, cr) >>> date.infer_long_count_dates() [10.1.8.10.0, 10.14.8.10.0]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size mayacal-0.2.4a0-py3-none-any.whl (17.9 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size mayacal-0.2.4a0.tar.gz (13.1 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for mayacal-0.2.4a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a3bdf46a0e8f9053001b90953212b9430ef54d00ff109bc67e92fb2103ecf7d |
|
MD5 | 889ba3693eefd0658e527bab1374b0ca |
|
BLAKE2-256 | 16d803dc3a6023a7537f36d0a797797c66f482e8968921272465c90db2b2c20b |