Hike
Running the examples
Clone the repo and install dependencies (requires Python 3.14+ and uv):
uv sync
This installs hike from the local source in editable mode — no PyPI needed. Run any example with:
uv run python examples/value_objects.py # ValueObject basics
uv run python examples/overall.py # Entity + Field
uv run python examples/entities.py # Entity identity and specifications
uv run python examples/specification.py # Specification pattern
uv run python examples/aggregates.py # Aggregates, rules, @command, invariants
uv run python examples/uow.py # Unit of Work with in-memory repository
DDD
Implement entity, aggregate, value object(?via descriptors) MAYBE: create descriptors for common value object validations
Repository
there should be a generic repository and a repository for aggregates that auto-fill a lot of the functions
make specification type checked by using a generic specification that accepts model attributes as filter parameters. in order to handle
MyAggregate.MyEntity.Price > 3
Each '.' should be a ForeignKey in SqlAlchemy, which is joined at runtime. Each '.' should be an inner dictionary in PyMongo, no joining needed.
create Async repository DBContext object unit of work - only one that is generic via the DBContext!!!
MAYBE in the future: create IInsertionStrategy that would
Event driven
event handlers, bus, mapper ? create a repository that calls the event handlers
hexagonal architecture
explain in docs create interface for sending notifications(e.g. mail) and event(e.g. saga pattern)
Other
implement CQRS: command(command, command handler, command mapper, maybe a command history) and query create automatic services. for example: https://knucklesuganda.github.io/py_assimilator/services/ create a yaml configuration standard for things used here(i.e. database adapter)
Resources and inspiration
These resources are used to give this library inspiration:
SQLAlchemy - https://docs.sqlalchemy.org/en/20/ C# Entity FrameWork Core - https://learn.microsoft.com/en-us/ef/ PyAssimilator - https://knucklesuganda.github.io/py_assimilator/
TODO
just write the code I want it to look like put claude code in plain mode tell him to look at sqlalchemy write tests so claude could check itself tell him he can rewrite whatever he wants.
Metadata
Release files for ihike 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ihike-0.1.0.tar.gz | 43.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ihike-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.7 kB
Release files / ihike-0.1.0.tar.gz
| Download URL | ihike-0.1.0.tar.gz |
|---|---|
| Size | 43.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff0144a8b83824502d5c5a9e76776428680f332fba6bebfc1743691b6f564752
|
|
BLAKE2b-256 checksum How to use checksums |
633775b3a59432377bf80d84ee37957e661b6504a90b5af634c018d62348bbae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency logRelease files / ihike-0.1.0-py3-none-any.whl
| Download URL | ihike-0.1.0-py3-none-any.whl |
|---|---|
| Size | 65.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
153fd9d8c1c78e3edc243ede654b3c8d22feb17096b3a82b1df7947af6f2a485
|
|
BLAKE2b-256 checksum How to use checksums |
cdc7edb483b73b15047a38cd2fdd9e33ba0c1cd56c23219d3f7cd2b55a85a4bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency log