Skip to main content

A robust sexagesimal and metrological engine for Babylonian mathematics. From the Eduba to the Jupyter Notebook.

Project description

🏺 MesoMath v2.0.0rc1

The Definitive Mesopotamian Metrology & Arithmetic Engine for Python.

PyPI version Python 3.11+ Documentation Status Binder

MesoMath is a high-precision computational framework designed for epigraphists, historians, and mathematicians working with Sumerian and Babylonian sexagesimal systems.

From the Old Babylonian period (Nippur) to Late Babylonian administrative records, MesoMath bridges the gap between ancient clay tablets and modern data science.


✨ What's New in v2.0.0?

This major release transforms MesoMath from a set of utilities into a fully integrated Metrological Ecosystem.

  • Enhanced ibabcalc Console: New IPython 9-based interactive environment providing a clean, "Scribal Console" workspace for power users.
  • Jupyter Integration: New nb_utils module for high-fidelity rendering of cuneiform tables and academic documentation within notebooks.
  • 🧮 Dimensional Awareness: Perform complex geometric calculations (e.g., Volume / Surface = Height) directly with metrological objects.
  • 🔍 Integrated Lookup: The new MesoM.lookup() engine allows for reverse metrological searches—identify physical measures from abstract sexagesimal values.
  • 🔄 Bidirectional Conversion: seamless translation between SI units and Old Babylonian metrology.
  • 📜 Epigraphic Engine: Native support for professional transliteration and Unicode Cuneiform rendering.
  • 🏗️ Construction Metrology: Dedicated support for Brick Metrology (Bbri) and logistics.

🚀 Quick Start

Installation

$ pipx install mesomath

The Scribal Console

Launch the advanced interactive environment:

$ ibabcalc

Basic Interaction

from mesomath.npvs import Blen, Bsur

# Dimensional arithmetic
width = Blen('3 ninda')
area = Bsur('1 sar')

# The division engine
length = area / width
print(length.prtf())  # Output: '1/3 ninda'

Cuneiform & Transliteration

from mesomath.npvs import Bcap

vol = Bcap('3 bariga 2 ban')
print(vol.translit)     # Output: '3(barig) 2(ban2) še'
print(vol.cuneiform())  # Output: 𒑗 𒑐 𒊺

📚 Documentation & Research

The full documentation is available at ReadTheDocs.

Note: We are currently updating the documentation to reflect the 2.0.0 changes. If you find any discrepancies, please check our Issue Tracker.


🏛️ Acknowledgments

MesoMath's metrological logic is based on the seminal work of Christine Proust (e.g., Tablettes mathématiques de Nippur, 2007) and the standard Babylonian metrological lists.


Developed with 🖋️ and 🏺 by jccsvq

Project details


Download files

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

Source Distribution

mesomath-2.0.0.tar.gz (243.1 kB view details)

Uploaded Source

Built Distribution

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

mesomath-2.0.0-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

Details for the file mesomath-2.0.0.tar.gz.

File metadata

  • Download URL: mesomath-2.0.0.tar.gz
  • Upload date:
  • Size: 243.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.1 cpython/3.11.2 HTTPX/0.28.1

File hashes

Hashes for mesomath-2.0.0.tar.gz
Algorithm Hash digest
SHA256 33f940306a109903cfe20f72729a1b88da38e7d598176139aa39d3075c1557e0
MD5 eeaab84df85b28846ce5bd17cb17180c
BLAKE2b-256 a093cee452ec426377d5f6e63dd07f12e91f5219ace2711d5f32a8e1f7a46643

See more details on using hashes here.

File details

Details for the file mesomath-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: mesomath-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 64.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.1 cpython/3.11.2 HTTPX/0.28.1

File hashes

Hashes for mesomath-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9865f142d823eb0fad1f6c46824780cf47718f039a822b75cc4df33e3d6e31dd
MD5 e2fba95b83f821cac1eabe103641ab39
BLAKE2b-256 8a06e7bea40b4e40afb054722b5ee497835fdd44dcc178fa4d80cac0b7a0dee7

See more details on using hashes here.

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