👖 SnapEnv Core package¤
Awesome snapenv_core created by snapenv
It was created having in mind SnapEnv people and what the most common use-cases would be. Following its structure you'll get into developing your next FastAPI server in no time!
- a configuration module made using pydantic-settings
- a handful of Pydantic schemas to make your life as a programmer easier
Features¤
- 🍬 Sklearn meta-estimator: add conformal prediction of quantiles and intervals to any scikit-learn regressor
- 📃 Documentation: Documentation structure using mkdocs
- 🌡️ Conformally calibrated: accurate quantiles, and intervals with reliable coverage
- 🚦 Coherent quantiles: quantiles increase monotonically instead of crossing each other
- 👖 Tight quantiles: selects the lowest dispersion that provides the desired coverage
- 🎁 Data efficient: requires only a small number of calibration examples to fit
- 🐼 Pandas support: optionally predict on DataFrames and receive DataFrame output
Using¤
Quick links¤
Installing¤
Contributing¤
Prerequisites
-
Set up Git to use SSH 1. Generate an SSH key and add the SSH key to your GitHub account.
2. Configure SSH to automatically load your SSH keys:
-
Install Docker Desktop. - Linux only: - Export your user's user id and group id so that files created in the Dev Container are owned by your user:
-
Install VS Code or PyCharm 1. Install VS Code and VS Code's Dev Containers extension. Alternatively, install PyCharm. 2. Optional: install a Nerd Font such as FiraCode Nerd Font and configure VS Code or configure PyCharm to use it.
Development environments
The following development environments are supported:
- ⭐️ GitHub Codespaces: click on Code and select Create codespace to start a Dev Container with GitHub Codespaces.
- ⭐️ Dev Container (with container volume): click on Open in Dev Containers to clone this repository in a container volume and create a Dev Container with VS Code.
- Dev Container: clone this repository, open it with VS Code, and run Ctrl/⌘ + ⇧ + P → Dev Containers: Reopen in Container.
- PyCharm: clone this repository, open it with PyCharm, and configure Docker Compose as a remote interpreter with the
dev
service. - Terminal: clone this repository, open it with your terminal, and run
docker compose up --detach dev
to start a Dev Container in the background, and then rundocker compose exec dev zsh
to open a shell prompt in the Dev Container.
Developing
- This project follows the Conventional Commits standard to automate Semantic Versioning and Keep A Changelog with Commitizen.
- Run
poe
from within the development environment to print a list of Poe the Poet tasks available to run on this project. - Run
poetry add {package}
from within the development environment to install a run time dependency and add it topyproject.toml
andpoetry.lock
. Add--group test
or--group dev
to install a CI or development dependency, respectively. - Run
poetry update
from within the development environment to upgrade all dependencies to the latest versions allowed bypyproject.toml
. - Run
poe docs
,poe lint
andENVIRONMENT=dev poe test
before any commit, or your git push can fail.poe docs
generate any new documentation for changes/additions in the python modules. - Run
cz --name cz_gitmoji commit
to commit files using conventional commits with emojis. - Run
cz --name cz_gitmoji bump --changelog
to bump the package's version, update theCHANGELOG.md
, and create a git tag. - Run
git push --tags
to push the new tag to github.