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.0

The Definitive Mesopotamian Metrology & Arithmetic Engine for Python.

PyPI - Version PyPI - Status 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.1.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.1-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mesomath-2.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 354da1d79582491398946014349d2165835b7429f927f69a0a440aa20b586feb
MD5 5b5e6ddf0c1616b22b24b1dc6c2a8baf
BLAKE2b-256 498ec62d4d712b385e791caa5fa7b68768082bf3cb1d6baadc074234e78c13e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mesomath-2.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 289c7eba12049bafa5d641e56102bfcfb962bae6818532e090eaaa706579b5ae
MD5 df2efd4440dfbaf08d00e845c15c5bb6
BLAKE2b-256 4cf62e595cf9d55d9cd262dffe278ac70078bdb8a6f620a3d85b142b6b7ae4eb

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