rudiments

Rudiments – Fundamental elements for any Python project.


Keywords
hosted, by, github, python, package, configuration, python-3, utility-library
License
Apache-2.0
Install
pip install rudiments==0.4.1

Documentation

Rudiments

logo Fundamental elements for any Python project, like configuration handling.
Project LibrelistDocumentationLicense
QA Travis CICoverallsGitHub Issues
Release Latest VersionDownloads

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.

💬 To get help or talk about this project, please use the python.rudiments@librelist.com mailing list.

Usage

Rudiments can be installed from PyPI via pip install rudiments as usual, see releases for an overview of available versions – the project uses semantic versioning and follows PEP 440 conventions. To get a bleeding-edge version from source, use these commands:

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 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 Better dates and times for Python – see also Pendulum, Delorean, and Maya
boltons A set of pure-Python utilities augmenting the stdlib
Click Command line interface framework
colorama Cross-platform colored terminal text
github3.py GitHub API v3 client
netifaces Portable network interface information
pyparsing A library of classes that allows to construct a grammar in pure Python code
poyo A pure-Python YAML parser
Requests Anything HTTP
Reusables Utilities that programmers may find themselves often recreating
sh Full-fledged subprocess interface, treat any program as if it were a function
sorted_containers Ordered collections (list, dict, set), pure Python and as fast as C
Soupy Soupy wraps a fluent query interface around BeautifulSoup.

Specifically on the subject of configuration handling, these are the ones to consider…

Project Description
configobj Config file reading, writing and validation
dectate A powerful configuration engine for Python frameworks, based on decorators.
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 The grand unified configuration system from Mozilla
prettyconf Easy separation of configuration and code, following the recomendations for 12 Factor apps
biome Provides painless typed access to namespaced environment variables

The following help you with writing your unit and integration tests.

Project Description
pytest-localserver py.test plugin to test server connections locally
Responses A utility for mocking out the Requests library

Contributing

To create a working directory for this project, call these commands:

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 for more.

References

Tools

Packages

Acknowledgements