Skip to main content

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
hike-icon

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)

Source distribution for ihike 0.1.0
File Size Uploaded
ihike-0.1.0.tar.gz 43.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ihike 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page