Add your description here
Project description
Erech 🗿
“The Dead awaken; for the hour is come for the oathbreakers: at the Stone of Erech they shall stand again and hear there a horn in the hills ringing.”
— Malbeth the Seer
Erech is a declarative, expressive assertion library for Python, inspired by the style of Chai.js and forged in the spirit of Middle-earth.
Named after the Stone of Erech, the ancient Númenórean relic upon which oaths were sworn and long-awaited reckoning was called, this library is built for readability and expressiveness, helping you write tests that read like plain English — with the flowing elegance of Elvish. No more tests written in plain python, with repetetive cryptic dictionary references in the tongue of Mordor (which we will not utter here). Just as Isildur once bound oathbreakers at the Stone of Erech with a curse that echoed through the ages, your tests are bound to declare their intent — and to stand accountable.
Features
- ✅ Chainable, readable assertions like
should,have,that,match, and more. - 🔁 Multiple assertions on a single object, in a single
expect().should[...]expression. - 🧙 Structured and semantic – makes your tests easier to understand and reason about.
- 📏 Built-in matchers for common types like
uuid,email, etc.
Example
from erech import expect, have
from uuid import uuid4
expect({
"gameId": str(uuid4()),
"userId": str(uuid4()),
"c": 3
}).should[
have("gameId").that.matches.uuid,
have("userId").that.matches.uuid,
]
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file erech-0.0.8.tar.gz.
File metadata
- Download URL: erech-0.0.8.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9073038f172a6d2e59e0f13d12b406882aa148b52e998442bebb3811572daa3e
|
|
| MD5 |
f2842c666af9a3633029210bed06f76a
|
|
| BLAKE2b-256 |
67741ce845e5392b19f733906788b8f7e04778e3fa5acafd7220830ed4285a41
|
File details
Details for the file erech-0.0.8-py3-none-any.whl.
File metadata
- Download URL: erech-0.0.8-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d68608108966982968e149d74e178bbc6bdecc53bec4d23432f7d554abb6352a
|
|
| MD5 |
e240e91cd639f542876c412f80653967
|
|
| BLAKE2b-256 |
a9963f717ef626ce7b52d55b00b67fd73d0bdaf654a7acccf24d937bdb874963
|