validate configs using json schema
Project description
schematized config
Install
pip install python_schematized_config
usage
from schematized_config.core import ConfigValidator
import os
import os.path as _p
if _p.exists('.env') and 'CONFIG_VALIDATOR_JSON_SCHEMA' in os.environ:
ConfigValidator.load_dotenv() # use defaults of .env and CONFIG_VALIDATOR_JSON_SCHEMA
development
entering the development environment
assuming you have nix installed and
ready, make sure nix-command
and flake
are enabled (oneliner: run
export NIX_CONFIG="experimental-features = nix-command flakes"
in the
terminal), then enter the dev shell using nix develop
start the jupyter notebook using the provided alias or just
jupyter notebook
, and hack away
nbdev
this package is developed using nbdev, so we
use an nbdev-centric development flow. For a quick guide, we recommend
checking out the end-to-end
walkthrough. But in
short: edit notebooks, then run the nbdev_*
management commands. The
most essential flow is as follows:
- edit the notebook files (core fore core, and cli for the command line interface)
python setup.py install
# note we don’t usenbdev_install
because we managequarto
usingnix
nbdev_prepare
- run code using the package
nbdev_release
nbdev_pypi
running tests
if you share variables between cells in your test blocks, this causes
trouble during nbdev_prepare
as it tries to run cells in isolation,
leading to e.g.
NameError: name 'example_properties_schema' is not defined
to deal with this, you can merge cells that use a common variable
updating package dependencies
note that package dependencies are specified in
settings.ini; you shouldn’t be editing setup.py
by
hand. To add a requirement, add it to the requuirements
entry in
settings.ini
, then run python setup.py install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python-schematized-config-0.0.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddd2f8bd9314d8c8f4e13ed9f5e67619e87bd05574805fd4b79253def0d00b8e |
|
MD5 | b2299705bdd1e491400bed5691a79beb |
|
BLAKE2b-256 | 05265eb2863335be0f6d85ac858f9b540c1e1f6aefafba068ef10c96577612ee |
Hashes for python_schematized_config-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce37a9bd9c534762f2686a6d22ca57d0943d2f046b75d3d488efa182b15bb171 |
|
MD5 | 2236a7edef6278e2f087b437c8fa7b0b |
|
BLAKE2b-256 | 3a1f42d2f7a654f5d1bc606249a01ed2b103b61cdb78948d55c4b5e83d35b66c |