loadfig
One-liner Python pyproject config loader. Lightweight, simple, and VCS-aware with root auto-discovery.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.0%) to scientific vocabulary
Repository
One-liner Python pyproject config loader. Lightweight, simple, and VCS-aware with root auto-discovery.
Basic Info
- Host: GitHub
- Owner: open-nudge
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://open-nudge.github.io/loadfig
- Size: 9.22 MB
Statistics
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
loadfig
One-liner Python pyproject config loader. Lightweight, simple, and VCS-aware with root auto-discovery.
✨ Features 🚀 Quick start 📚 Documentation 🤝 Contribute 👍 Adopters 📜 Legal
Features
loadfig is a Python package designed to load
TOML configuration files adhering to modern standards:
- Unified: Load your configuration either from
.mytool.tomlorpyproject.toml(section[tool.mytool]). - One-liner:
loadfig.config(name="mytool")returns a basic Python dictionary and that is all you need. - No dependencies: Python-only, no third-party dependencies.
- Do one thing well: Only load the configuration,
use other libraries like
python-dotenvfor bells and whistles. - Git-aware: Automatically detects project's
rootusing git (or other VCS), no need to specify the path to your configuration file.
Quick start
Installation
```sh
pip install loadfig ```
Usage
Assume you have the following section in your pyproject.toml
file at the root of your project:
toml
[tool.mytool]
name = "My Tool"
version = "1.0.0"
You can load the configuration for mytool using:
```python import loadfig
config = loadfig.config("mytool") config["name"] # "My Tool" config["version"] # "1.0.0" ```
That is all you will likely need to do to load your configuration for your Python project (in a modern, unified way).
[!IMPORTANT]
pyproject.tomlcan be located at the root of your project, while the loading file can be in a subfolder (e.g.src/mytool/loader.py).
See documentation for more details about the arguments and options available.
Contribute
We welcome your contributions! Start here:
Legal
- This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- This project is copyrighted by open-nudge - the appropriate copyright notice is included in each file.
Owner
- Name: opennudge
- Login: open-nudge
- Kind: organization
- Email: opensource@opennudge.com
- Repositories: 1
- Profile: https://github.com/open-nudge
Citation (CITATION.cff)
# SPDX-FileCopyrightText: © 2024 open-nudge <https://github.com/open-nudge> # SPDX-FileContributor: szymonmaszke <github@maszke.co> # # SPDX-License-Identifier: Apache-2.0 --- cff-version: "1.2.0" abstract: >- One-liner Python pyproject config loader. Lightweight, simple, and VCS-aware with root auto-discovery. message: "If you use this software, please cite it as below." authors: - family-names: "open-nudge" url: "https://github.com/open-nudge/loadfig" repository-code: "https://github.com/open-nudge/loadfig" title: "loadfig" license: "Apache-2.0" keywords: - "python"
GitHub Events
Total
- Create event: 6
- Release event: 1
- Issues event: 2
- Watch event: 3
- Push event: 2
- Pull request event: 2
Last Year
- Create event: 6
- Release event: 1
- Issues event: 2
- Watch event: 3
- Push event: 2
- Pull request event: 2
Packages
- Total packages: 1
-
Total downloads:
- pypi 48 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
- Total maintainers: 1
pypi.org: loadfig
One-liner Python pyproject config loader. Lightweight, simple, and VCS-aware with root auto-discovery.
- Homepage: https://open-nudge.github.io/loadfig
- Documentation: https://open-nudge.github.io/loadfig
- License: other
-
Latest release: 0.1.0
published 8 months ago
Rankings
Maintainers (1)
Dependencies
- open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
- pdm-project/setup-pdm 94a823180e06fcde4ad29308721954a521c96ed0 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- github/codeql-action/upload-sarif fca7ace96b7d713c7035871441bd52efbe39e27e composite
- pdm-project/setup-pdm 94a823180e06fcde4ad29308721954a521c96ed0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- open-nudge/opentemplate/.github/actions/git-setup main composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- open-nudge/opentemplate/.github/actions/pull-request main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- docker://rhysd/actionlint 1.7.1 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/labeler 8558fd74291d67161a8a78ce36a881fa63b766a9 composite
- github/issue-labeler c1b0f9f52a63158c4adc09425e858e87b32e9685 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- siderolabs/conform 43d9fb6d85d5f01b391245805eefd258db160197 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- open-nudge/opentemplate/.github/actions/git-setup main composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- open-nudge/opentemplate/.github/actions/pull-request main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- amannn/action-semantic-pull-request 0723387faaf9b38adef4775cd42cfd5155ed6017 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/attest-sbom 115c3be05ff3974bcbd596578934b3f9ce39bf68 composite
- actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- open-nudge/opentemplate/.github/actions/git-setup main composite
- open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- open-nudge/opentemplate/.github/actions/release-sbom-setup main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- open-nudge/opentemplate/.github/actions/release-sbom-setup main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- pypa/gh-action-pypi-publish 76f52bc884231f62b9a034ebfe128415bbaabdfc composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- suzuki-shunsuke/github-action-renovate-config-validator c22827f47f4f4a5364bdba19e1fe36907ef1318e composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/download-artifact d3f86a106a0bac45b974a628896c90dbdf5c8093 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- open-nudge/opentemplate/.github/actions/git-setup main composite
- open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- google/osv-scanner/actions/scanner a2a23858b9650035f019219937f91ae615474b4d composite
- open-nudge/opentemplate/.github/actions/sarif-upload main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- github/codeql-action/upload-sarif fca7ace96b7d713c7035871441bd52efbe39e27e composite
- ossf/scorecard-action 05b42c624433fc40578a4040d5cf5e36ddca8cde composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- trufflesecurity/trufflehog 90694bf9af66e7536abc5824e7a87246dbf933cb composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- open-nudge/opentemplate/.github/actions/pdm-compatibility main composite
- open-nudge/opentemplate/.github/actions/pdm-setup main composite
- open-nudge/opentemplate/.github/actions/sarif-upload main composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite
- actions/stale 5bef64f19d7facfb25b37b414482c7164d639639 composite
- step-security/harden-runner 0634a2670c59f64b4a01f0f96f84700a4088b9f0 composite