trapdoor


Nametrapdoor JSON
Version 0.6.0 PyPI version JSON
download
home_page
SummaryTurn-key configuration file management for Python packages.
upload_time2023-10-17 13:21:58
maintainer
docs_urlNone
authorClay McLeod
requires_python>=3.7
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <h1 align="center">
    Trapdoor
  </h1>

  <p align="center">
    <a href="https://github.com/claymcleod/trapdoor/actions/workflows/ci.yml" target="_blank">
      <img alt="Actions: CI Status"
          src="https://github.com/claymcleod/trapdoor/actions/workflows/ci.yml/badge.svg" />
    </a>
    <a href="https://github.com/claymcleod/trapdoor/actions/workflows/docs.yml" target="_blank">
      <img alt="Actions: CI Status"
          src="https://github.com/claymcleod/trapdoor/actions/workflows/docs.yml/badge.svg" />
    </a>
    <a href="https://pypi.org/project/trapdoor/" target="_blank">
      <img alt="PyPI"
          src="https://img.shields.io/pypi/v/trapdoor?color=orange">
    </a>
    <a href="https://pypi.org/project/trapdoor/" target="_blank">
      <img alt="PyPI: Downloads"
          src="https://img.shields.io/pypi/dm/trapdoor?color=orange">
    </a>
    <a href="https://codecov.io/gh/claymcleod/trapdoor" target="_blank">
      <img alt="Code Coverage"
          src="https://codecov.io/gh/claymcleod/trapdoor/branch/main/graph/badge.svg" />
    </a>
    <a href="https://github.com/claymcleod/trapdoor/blob/main/LICENSE.md" target="_blank">
    <img alt="License: MIT"
          src="https://img.shields.io/badge/License-MIT-blue.svg" />
    </a>
  </p>


  <p align="center">
    Turn-key configuration file management for Python packages.
    <br />
    <a href="https://claymcleod.github.io/trapdoor/"><strong>Explore the docs »</strong></a>
    <br />
    <br />
    <a href="https://github.com/claymcleod/trapdoor/issues/new?assignees=&labels=&template=feature_request.md&title=Descriptive%20Title&labels=enhancement">Request Feature</a>
    ·
    <a href="https://github.com/claymcleod/trapdoor/issues/new?assignees=&labels=&template=bug_report.md&title=Descriptive%20Title&labels=bug">Report Bug</a>
    ·
    ⭐ Consider starring the repo! ⭐
    <br />
  </p>
</p>

## 🎨 Features


* <b>Config Files.</b> Trapdoor makes it easy to create and maintain TOML configuration files.
* <b>Minimal Configuration.</b> Set your store name and start setting and getting keys from the configuration file. Sane defaults are set and useful for most cases.
* <b>Secure Practices.</b> 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](https://pypi.org/)).

```bash
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**](https://claymcleod.github.io/trapdoor/)</a>.

```python
# 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](https://claymcleod.github.io/trapdoor).

## 🤝 Contributing

Contributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/claymcleod/trapdoor/issues). Please ensure you fill out the entire template for each of these. You can also take a look at the [contributing guide][contributing-md].

## 📝 License

Copyright © 2021 Clay McLeod. This project is [MIT][license-md] licensed.

[contributing-md]: https://github.com/claymcleod/trapdoor/blob/main/CONTRIBUTING.md
[license-md]: https://github.com/claymcleod/trapdoor/blob/main/LICENSE.md

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "trapdoor",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Clay McLeod",
    "author_email": "clay.l.mcleod@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/cc/ba/a08321dd9c328ab3185cbf82552b1b67fc2276dfaa2102305758832968ae/trapdoor-0.6.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <h1 align=\"center\">\n    Trapdoor\n  </h1>\n\n  <p align=\"center\">\n    <a href=\"https://github.com/claymcleod/trapdoor/actions/workflows/ci.yml\" target=\"_blank\">\n      <img alt=\"Actions: CI Status\"\n          src=\"https://github.com/claymcleod/trapdoor/actions/workflows/ci.yml/badge.svg\" />\n    </a>\n    <a href=\"https://github.com/claymcleod/trapdoor/actions/workflows/docs.yml\" target=\"_blank\">\n      <img alt=\"Actions: CI Status\"\n          src=\"https://github.com/claymcleod/trapdoor/actions/workflows/docs.yml/badge.svg\" />\n    </a>\n    <a href=\"https://pypi.org/project/trapdoor/\" target=\"_blank\">\n      <img alt=\"PyPI\"\n          src=\"https://img.shields.io/pypi/v/trapdoor?color=orange\">\n    </a>\n    <a href=\"https://pypi.org/project/trapdoor/\" target=\"_blank\">\n      <img alt=\"PyPI: Downloads\"\n          src=\"https://img.shields.io/pypi/dm/trapdoor?color=orange\">\n    </a>\n    <a href=\"https://codecov.io/gh/claymcleod/trapdoor\" target=\"_blank\">\n      <img alt=\"Code Coverage\"\n          src=\"https://codecov.io/gh/claymcleod/trapdoor/branch/main/graph/badge.svg\" />\n    </a>\n    <a href=\"https://github.com/claymcleod/trapdoor/blob/main/LICENSE.md\" target=\"_blank\">\n    <img alt=\"License: MIT\"\n          src=\"https://img.shields.io/badge/License-MIT-blue.svg\" />\n    </a>\n  </p>\n\n\n  <p align=\"center\">\n    Turn-key configuration file management for Python packages.\n    <br />\n    <a href=\"https://claymcleod.github.io/trapdoor/\"><strong>Explore the docs \u00bb</strong></a>\n    <br />\n    <br />\n    <a href=\"https://github.com/claymcleod/trapdoor/issues/new?assignees=&labels=&template=feature_request.md&title=Descriptive%20Title&labels=enhancement\">Request Feature</a>\n    \u00b7\n    <a href=\"https://github.com/claymcleod/trapdoor/issues/new?assignees=&labels=&template=bug_report.md&title=Descriptive%20Title&labels=bug\">Report Bug</a>\n    \u00b7\n    \u2b50 Consider starring the repo! \u2b50\n    <br />\n  </p>\n</p>\n\n## \ud83c\udfa8 Features\n\n\n* <b>Config Files.</b> Trapdoor makes it easy to create and maintain TOML configuration files.\n* <b>Minimal Configuration.</b> Set your store name and start setting and getting keys from the configuration file. Sane defaults are set and useful for most cases.\n* <b>Secure Practices.</b> By default, configuration directories are created to be only readable by the user who created them.\n\n## \ud83d\udcda Getting Started\n\n### Installation\n\n#### Python Package Index\n\nYou can also install `trapdoor` using the Python Package Index ([PyPI](https://pypi.org/)).\n\n```bash\npip install trapdoor\n```\n\n## \ud83d\ude8c A Quick Tour\n\nAt 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.\n\nIf you're interested in a complete overview of trapdoor's capabilities, please see [**the documentation pages**](https://claymcleod.github.io/trapdoor/)</a>.\n\n```python\n# import trapdoor\nfrom trapdoor import Trapdoor\n\nt = Trapdoor('trapdoor-test')           # create a store at ~/.trapdoor-test/config.yml (by default)\nt.set('some.nested.key.hello', 'world') # set a key in the configuration file\nt.get('some.nested.key.hello')          # get a key from the configuration file\n```\n\nFor more information, please see [the documentation](https://claymcleod.github.io/trapdoor).\n\n## \ud83e\udd1d Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/claymcleod/trapdoor/issues). Please ensure you fill out the entire template for each of these. You can also take a look at the [contributing guide][contributing-md].\n\n## \ud83d\udcdd License\n\nCopyright \u00a9 2021 Clay McLeod. This project is [MIT][license-md] licensed.\n\n[contributing-md]: https://github.com/claymcleod/trapdoor/blob/main/CONTRIBUTING.md\n[license-md]: https://github.com/claymcleod/trapdoor/blob/main/LICENSE.md\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Turn-key configuration file management for Python packages.",
    "version": "0.6.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aeb0a5407f0d9c237fd00ad503d796f814183572d55bfb2606843882723b2a51",
                "md5": "988b05a888f8d585731542fc826302a9",
                "sha256": "f654fdfa07e64fbc1134cff268e0162b1d351de9caa16c9a379b231a92e2fda0"
            },
            "downloads": -1,
            "filename": "trapdoor-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "988b05a888f8d585731542fc826302a9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8629,
            "upload_time": "2023-10-17T13:21:57",
            "upload_time_iso_8601": "2023-10-17T13:21:57.138245Z",
            "url": "https://files.pythonhosted.org/packages/ae/b0/a5407f0d9c237fd00ad503d796f814183572d55bfb2606843882723b2a51/trapdoor-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ccbaa08321dd9c328ab3185cbf82552b1b67fc2276dfaa2102305758832968ae",
                "md5": "9e0439503730c18f58022aa2752f4e9f",
                "sha256": "ae822e4b39b7b6221be6a11a72975cf193139df299f951deb057438041a3a884"
            },
            "downloads": -1,
            "filename": "trapdoor-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9e0439503730c18f58022aa2752f4e9f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7788,
            "upload_time": "2023-10-17T13:21:58",
            "upload_time_iso_8601": "2023-10-17T13:21:58.817286Z",
            "url": "https://files.pythonhosted.org/packages/cc/ba/a08321dd9c328ab3185cbf82552b1b67fc2276dfaa2102305758832968ae/trapdoor-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-17 13:21:58",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "trapdoor"
}
        
Elapsed time: 1.90680s