Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jhermann/rudiments
:package: Fundamental elements for any Python project, like configuration handling.
https://github.com/jhermann/rudiments
package python python-3 utility-library
Last synced: 2 days ago
JSON representation
:package: Fundamental elements for any Python project, like configuration handling.
- Host: GitHub
- URL: https://github.com/jhermann/rudiments
- Owner: jhermann
- License: apache-2.0
- Created: 2015-03-29T19:11:38.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-07-31T09:39:29.000Z (about 3 years ago)
- Last Synced: 2024-09-16T00:28:09.227Z (18 days ago)
- Topics: package, python, python-3, utility-library
- Language: Python
- Homepage: https://rudiments.readthedocs.io/
- Size: 157 KB
- Stars: 11
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Rudiments
![logo](https://raw.githubusercontent.com/jhermann/rudiments/master/docs/img/logo.png) | Fundamental elements for any Python project, like configuration handling.
:----: | :----
**Project** | [![Librelist](https://img.shields.io/badge/Librelist-python.rudiments-orange.svg)](http://librelist.com/browser/python.rudiments) [![Documentation](https://readthedocs.org/projects/rudiments/badge/?version=latest)](https://readthedocs.org/projects/rudiments/?badge=latest) [![License](https://img.shields.io/pypi/l/rudiments.svg)](https://github.com/jhermann/rudiments/blob/master/LICENSE)
**QA** | [![Travis CI](https://api.travis-ci.org/jhermann/rudiments.svg)](https://travis-ci.org/jhermann/rudiments) [![Coveralls](https://img.shields.io/coveralls/jhermann/rudiments.svg)](https://coveralls.io/r/jhermann/rudiments) [![GitHub Issues](https://img.shields.io/github/issues/jhermann/rudiments.svg)](https://github.com/jhermann/rudiments/issues)
**Release** | [![Latest Version](https://img.shields.io/pypi/v/rudiments.svg)](https://pypi.python.org/pypi/rudiments/) [![Downloads](https://img.shields.io/pypi/dw/rudiments.svg)](https://pypi.python.org/pypi/rudiments/)## Overview
This library collects ‘miscellaneous’ functionality that is unspecific in nature and shared among many projects.
It also collects small extensions to other support packages that don't warrant their own project,
in the ``rudiments.reamed`` package.See “Other Packages” below for problem domains that are already covered by good to excellent solutions.
:speech_balloon: | To get help or talk about this project, please use the [email protected] mailing list.
---- | :----## Usage
*Rudiments* can be installed from PyPI via ``pip install rudiments`` as usual,
see [releases](https://github.com/jhermann/rudiments/releases) for an overview of available versions
– the project uses [semantic versioning](http://semver.org/)
and follows [PEP 440](https://www.python.org/dev/peps/pep-0440/) conventions.
To get a bleeding-edge version from source, use these commands:```sh
repo="jhermann/rudiments"
pip install -r "https://raw.githubusercontent.com/$repo/master/requirements.txt"
pip install -UI -e "git+https://github.com/$repo.git#egg=${repo#*/}"
```See [Contributing](#contributing) on how to create a full development environment.
## Other Packages
This is a list of packages that solve a certain problem domain
and are (hopefully) best-of-breed.Project | Description
----: | :----
[Arrow](https://arrow.readthedocs.io/) | Better dates and times for Python – see also [Pendulum](https://github.com/sdispater/pendulum), [Delorean](https://github.com/myusuf3/delorean), and [Maya](https://github.com/kennethreitz/maya)
[boltons](https://boltons.readthedocs.io/en/latest/) | A set of pure-Python utilities augmenting the stdlib
[Click](http://click.pocoo.org/) | Command line interface framework
[colorama](https://pypi.python.org/pypi/colorama) | Cross-platform colored terminal text
[github3.py](http://github3py.readthedocs.io/) | GitHub API v3 client
[netifaces](https://bitbucket.org/al45tair/netifaces) | Portable network interface information
[pyparsing](https://pyparsing.wikispaces.com/) | A library of classes that allows to construct a grammar in pure Python code
[poyo](https://github.com/hackebrot/poyo) | A pure-Python YAML parser
[Requests](http://docs.python-requests.org/en/latest/) | Anything HTTP
[Reusables](https://github.com/cdgriffith/Reusables) | Utilities that programmers may find themselves often recreating
[sh](http://amoffat.github.io/sh/) | Full-fledged subprocess interface, treat any program as if it were a function
[sorted_containers](https://github.com/grantjenks/sorted_containers) | Ordered collections (list, dict, set), pure Python and as fast as C
[Soupy](http://soupy.readthedocs.io/) | Soupy wraps a fluent query interface around BeautifulSoup.Specifically on the subject of configuration handling, these are the ones to consider…
Project | Description
----: | :----
[configobj](http://configobj.readthedocs.io/en/latest/) | Config file reading, writing and validation
[dectate](https://github.com/morepath/dectate) | A powerful configuration engine for Python frameworks, based on decorators.
[dynaconf](https://github.com/rochacbruno/dynaconf) | OSM (Object Settings Mapper) reading from a set of different data stores such as Python settings files, environment variables, Redis, Memcached, INI files, JSON files, YAML files, or your custom extension
[configman](https://github.com/mozilla/configman) | The grand unified configuration system from Mozilla
[prettyconf](https://github.com/osantana/prettyconf) | Easy separation of configuration and code, following the recomendations for 12 Factor apps
[biome](https://github.com/darvid/biome) | Provides painless typed access to namespaced environment variablesThe following help you with writing your unit and integration tests.
Project | Description
----: | :----
[pytest-localserver](https://pypi.python.org/pypi/pytest-localserver) | *py.test* plugin to test server connections locally
[Responses](https://github.com/getsentry/responses) | A utility for mocking out the *Requests* library## Contributing
To create a working directory for this project, call these commands:
```sh
git clone "https://github.com/jhermann/rudiments.git"
cd "rudiments"
. .env --yes --develop
invoke build --docs test check
```Contributing to this project is easy, and reporting an issue or
adding to the documentation also improves things for every user.
You don’t need to be a developer to contribute.
See [CONTRIBUTING](https://github.com/jhermann/rudiments/blob/master/CONTRIBUTING.md) for more.## References
**Tools**
* [Cookiecutter](http://cookiecutter.readthedocs.io/en/latest/)
* [PyInvoke](http://www.pyinvoke.org/)
* [pytest](http://pytest.org/latest/contents.html)
* [tox](https://tox.readthedocs.io/en/latest/)
* [Pylint](http://docs.pylint.org/)
* [twine](https://github.com/pypa/twine#twine)
* [bpython](http://docs.bpython-interpreter.org/)
* [yolk3k](https://github.com/myint/yolk#yolk)**Packages**
* [Rituals](https://jhermann.github.io/rituals)
* [keyring](http://pythonhosted.org/keyring/)## Acknowledgements
* Documentation hosted by [Read the Docs](https://readthedocs.org/).