Unleashing Project Configuration and Organization


Keywords
configuration, package, python
License
MIT
Install
pip install omnifig==0.5.7

Documentation

omni-fig

Unleashing Project Configuration and Organization in Python

omni-fig

Documentation Status Unit-Tests JOSS status

omni-fig is a lightweight package to help you organize your python projects to make everything clear and easy to understand to collaborators and prospective users, while also offering unparalleled features to accelerate development.

The proposed general-purpose project structure is well suited for both small and large projects, and is designed to be easily extensible to fit your needs. Most importantly, with the powerful configuration system, you never have to worry about any boilerplate code to parse command line arguments, read config files, or even import the top-level project components ever again!

For lots of examples in how the config system works check out the documentation or examples/.

Install

Everything is tested with Python 3.8 on Ubuntu 20.04 and Windows 11, but in principle it should work on any system that can handle the dependencies.

The easiest way to install the stable release is with pip:

pip install omnifig

If you want to explore the examples or contribute to the project, you can install the latest version by cloning the repository and installing it with pip: If you want to explore the examples or want to contribute to the project, you can clone the repository and install the package in development mode:

git clone https://github.com/felixludos/omni-fig
pip install -e ./omni-fig

Key Features

Here is an overview of some of the core features of omni-fig with links to more detailed guides.

docs/_static/img/vignettes/Slide1.PNG docs/_static/img/vignettes/Slide2.PNG docs/_static/img/vignettes/Slide3.PNG docs/_static/img/vignettes/Slide4.PNG docs/_static/img/vignettes/Slide5.PNG docs/_static/img/vignettes/Slide6.PNG docs/_static/img/vignettes/Slide7.PNG docs/_static/img/vignettes/Slide8.PNG

Citation

If you used omni-fig in your work, please cite it using:

@misc{leeb2022omnifig,
  title = {Omni-fig: Unleashing Project Configuration and Organization in Python},
  author = {Leeb, Felix},
  publisher = {GitHub},
  year = {2022}
}

Contributions

Feedback and contributions are very welcome! Please feel free to open an issue or pull request.

Thank you to Amanda Leeb for designing the logo!