yacore
Yet Another CORE library
Reason
- Reduce daily routine to start new service.
- Reduce errors on copy/paste things from previous projects.
Features
- Build on top of
facet
,cock
andgiveme
. This means services, configuration and dependency injection. - Flexible installation (install only what you need for current service, e.g.
pip install yacore[db-postgresql,net-http]
) - Couple backends for databases, logging, networking and whatever in strict service-like style.
Current implementation matrix
database | logging | network | executors |
---|---|---|---|
postgres | stdlib | httpx + fastapi + hypercorn | thread pool executor |
loguru |
Requirements
- python 3.9+
Usage
You can start new project from scratch with cookiecutter template via:
cookiecutter gh:pohmelie/cookiecutter-yacore
Read more at cookiecutter-yacore.
Documentation
TBD
License
yacore
is offered under MIT license.
Development
Installation
pip install -e ./[dev]
Run tests
Since coverage issue/feature, plugins coverage is broken by default. Workaround:
COV_CORE_SOURCE=yacore COV_CORE_CONFIG=.coveragerc COV_CORE_DATAFILE=.coverage.eager pytest