Providers
Providers are hexkit’s concrete implementations of its protocols, each binding a protocol to a specific technology. Application code is written against the protocols; which provider is wired in decides the actual infrastructure. Each provider family lives behind an optional extra (e.g. pip install hexkit[akafka,mongodb]), so services only pull in the dependencies they need.
Currently Implemented Providers
- Apache Kafka: event publishing and consumption —
KafkaEventPublisher,KafkaEventSubscriber, and the KafkaOutboxSubscriber — plus test utilities. - MongoDB: document-database implementations of the DAO and key-value-store protocols, plus migration tooling for evolving stored data alongside the data model.
- MongoDB + Kafka: the outbox publisher (
MongoKafkaDaoPublisher) and the PersistentKafkaPublisher, combining both backends. - S3: object storage and key-value stores on any S3-compatible backend.
- Redis: key-value stores for fast access to hot values.
- Vault: key-value stores for secrets.
- Testing: in-memory implementations for unit tests, such as the mock DAO and in-memory key-value stores.