claymcleod / trapdoor

Turn-key configuration file management for Python packages.

Home Page:https://claymcleod.github.io/trapdoor/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Trapdoor

Actions: CI Status Actions: CI Status PyPI PyPI: Downloads Code Coverage License: MIT

Turn-key configuration file management for Python packages.
Explore the docs »

Request Feature · Report Bug · ⭐ Consider starring the repo! ⭐

🎨 Features

  • Config Files. Trapdoor makes it easy to create and maintain TOML configuration files.
  • Minimal Configuration. Set your store name and start setting and getting keys from the configuration file. Sane defaults are set and useful for most cases.
  • Secure Practices. By default, configuration directories are created to be only readable by the user who created them.

📚 Getting Started

Installation

Python Package Index

You can also install trapdoor using the Python Package Index (PyPI).

pip install trapdoor

🚌 A Quick Tour

At its foundation, trapdoor is meant to ease the process of creating and maintaining configuration files within your Python tool. Commonly, you will want to use it to create a configuration store, get existing configuration keys, and set configuration keys.

If you're interested in a complete overview of trapdoor's capabilities, please see the documentation pages.

# import trapdoor
from trapdoor import Trapdoor

t = Trapdoor('trapdoor-test')           # create a store at ~/.trapdoor-test/config.yml (by default)
t.set('some.nested.key.hello', 'world') # set a key in the configuration file
t.get('some.nested.key.hello')          # get a key from the configuration file

For more information, please see the documentation.

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. Please ensure you fill out the entire template for each of these. You can also take a look at the contributing guide.

📝 License

Copyright © 2021 Clay McLeod. This project is MIT licensed.

About

Turn-key configuration file management for Python packages.

https://claymcleod.github.io/trapdoor/


Languages

Language:Python 100.0%