Skip to main content

Import JSON/YAML like importing .py files

Project description

Build Status Supported Python versions Latest Version Development Status

ezcf stands for easy configuration, it allows you to import JSON/YAML like importing .py files, which is very useful for reading conf files with these formats.

OK, stop talking, show us some code!

On the left is what you’ll normally do, on the right is the ezcf way. Much more elegant isn’t it?

Install

pip install ezcf

If you run into error: yaml.h: No such file or directory, don’t worry, you can still use ezcf without any problem.

Sample Usage

ezcf supports all kinds of valid import statements, here’s an example:

├── subdir
│   ├── __init__.py
│   └── sample_yaml.yaml
├── test_normal.py
└── sample_json.json

Various ways to use configurations in sample_yaml.yaml and sample_json.json:

import ezcf

from subdir.sample_yaml import *
# or
from subdir.sample_yaml import something
# or
import subdir.sample_yaml as sy

from sample_json import *
# or
from sample_json import something
# or
import sample_json as sj

You can assume they’re just regular python files.(Currently ezcf only supports files with utf-8 encoding)

What about relative import? Yes, ezcf supports relative import, as long as you use it correctly. See tests2 for an example.

Something to note before using ezcf:

  1. ezcf is still in developement. If you find any bug, please report it in issues;

  2. Be careful importing YAML which contains multiple documents: if there exists keys with the same name, only one of them will be loaded;

  3. Namespace package is not supported yet, pull requests are welcome.

Roadmap

  • [x] Use dot to seperate folder/subfolder/file

  • [x] Unicode support

  • [x] JSON support

  • [x] YAML support

  • [ ] INI support

  • [ ] Auto encoding detect?

  • [x] CI

  • [ ] coverage

  • [x] pypi

License

MIT

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

ezcf-0.0.1.post1.zip (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezcf-0.0.1.post1-py2.py3-none-any.whl (7.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ezcf-0.0.1.post1.zip.

File metadata

  • Download URL: ezcf-0.0.1.post1.zip
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ezcf-0.0.1.post1.zip
Algorithm Hash digest
SHA256 22416d9e3985b161f1f8892bd30be0b698df45fd3ea3b1130863d516d4133ac1
MD5 fb86b5097e5c71abd54a06390357dfb0
BLAKE2b-256 7718bebda2deb7b6ad2624c3a72745d9011d046bab632d4f0dfc8de140544318

See more details on using hashes here.

File details

Details for the file ezcf-0.0.1.post1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ezcf-0.0.1.post1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e062819694b9acadb38cd88133f9013e6e2cd97ad73ee290cafac2e1c3a3fdb9
MD5 401345a8f0698b212b8aec32a0a3a206
BLAKE2b-256 821088cb8e5db6b417226f740d50f0082da831f082694f471349b03c588c7254

See more details on using hashes here.

Supported by

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