Skip to main content

yet another core library

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yacore-0.4.0.tar.gz (16.3 kB view hashes)

Uploaded source

Built Distribution

yacore-0.4.0-py3-none-any.whl (13.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page