Skip to main content

Elegant time manipulation and reasoning library

Project description

Eones

Python PyPI Pylint Coverage Build Tox


Compatible with Python 3.8+ · No external dependencies · Portable and lightweight


✨ What is Eones?

Eones is a minimalist, dependency-free library for expressive, clear, and powerful date/time manipulation. Inspired by natural language semantics, it allows you to manipulate, compare, and transform dates as if they were living entities.

“That is not dead which can eternal lie, and with strange aeons even death may die.”
Abdul Alhazred, Necronomicon


📦 Installation

pip install "eones"

If you're working with timezones on Windows or containers:
⚠️ Also install tzdata:

pip install tzdata

🧪 Basic Example

from eones import Eones

z = Eones("2025-06-15")
z.add(months=1, days=3)  # -> add 3 days and 1 month
print(z.format("%Y-%m-%d"))  # → 2025-07-18

🔍 Key Features

  • ✅ Automatic parsing for str, dict, datetime, Eones
  • ✅ Add/subtract days, months, years, minutes, seconds
  • ✅ Date comparison (same week, within year, between ranges)
  • ✅ Full day/month/year ranges
  • ✅ Truncation and rounding by unit
  • ✅ Full support for ZoneInfo (PEP 615)
  • ✅ Zero external dependencies
  • ✅ Conversion to datetime, date, and native types

🧾 Comparison with other libraries

Feature Eones Pendulum Arrow Delorean dateutil pytz
Modern, consistent API ⚠️
Date arithmetic (add/subtract)
Flexible parsing (string, dict, dt) ⚠️
Native timezone support ⚠️
No external dependencies
Coverage tested ≥ 97%
Can replace native datetime directly
Permissive license (MIT / BSD)
Actively maintained ⚠️

📚 Advanced Examples

You can find more usage examples in:


🔧 Tests & Coverage

tox
coverage html && open htmlcov/index.html

📖 Requirements

  • Python 3.8 or higher
  • (Optional) tzdata if using timezones in systems without a local zoneinfo database

📝 License

MIT © 2025 — Rodrigo Ezequiel Roldán
View full license

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

eones-1.0.2.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

eones-1.0.2-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file eones-1.0.2.tar.gz.

File metadata

  • Download URL: eones-1.0.2.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for eones-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0898c40af280409e3185df2bff7624d9bb121da0a9b046cd80ac4da8937c835a
MD5 d80c8b72aaa19ef92781af7fc7b4bf0c
BLAKE2b-256 072ff03b52c742598f617422c016d6c1c564ff00eabd1bd4decb670ce80389c8

See more details on using hashes here.

File details

Details for the file eones-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: eones-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for eones-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 663af37e051d6b5f1f8a03167af426e0ed2a5435419bf938498871df9117874c
MD5 2ce9e9b62c27c4a8fdcf3415db970c2b
BLAKE2b-256 c1906419c8bf03d07aaae730b84adba77904136c83cf3b2ca067a259e6eb3bdc

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