yacore

yet another core library


License
MIT
Install
pip install yacore==0.4.0

Documentation

yacore

yacore


Github actions status for master branch Codecov coverage for master branch Pypi version Pypi downloads count

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 and giveme. 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