Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 21 Python Configuration Management Projects
-
SaltStack
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
-
I'm not yet a Git Wizard yet, you'll find me being very sloppy with my commits as I'm learning it. But you can see me editing my config files very frequently. To copy-paste from the website of yadm.io:
-
Sonar
Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
pyinfra
pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.
I’ve replaced Ansible with PyInfra where ever possible. https://pyinfra.com/ is very clean, and fast but lacks the shear amount of automation that can be found with Ansible.
-
autorandr
Auto-detect the connected display hardware and load the appropriate X11 setup using xrandr
-
Project mention: hydra VS gin-config - a user suggested alternative | libhunt.com/r/facebookresearch/hydra | 2022-07-05
Lightweight configuration framework for Python (created and maintained by Google) - Good combination of "easy to use" and "expressive API" - Directed support for TensorFlow and PyTorch - Maintained by Google
-
you can stick to a subset of YAML syntax (e.g. strictYAML)
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
-
Project mention: Front-End GUI for Ansible Playbooks - Network Automation? | reddit.com/r/networking | 2022-11-30
Other less common free options include https://www.ansible-semaphore.com and https://github.com/eNMS-automation/eNMS
-
You can also use KAS for versioning (https://github.com/siemens/kas). It's a pretty neat solution, that also provides a docker-build container. The basic principle is that you store your layers with commit hashes and local.conf files in a single .yaml format
-
Project mention: Two different ways to write configuration files in Python | reddit.com/r/Python | 2023-03-07
-
parse_it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
-
spock
spock is a framework that helps manage complex parameter configurations during research and development of Python applications (by fidelity)
(Note: I wrote a library called spock that was originally based on dataclasses and then shifted to attrs. In the end attrs was just the better and more fully fledged library for what I needed so I’ve always preferred attrs over dataclasses since then)
-
-
Let me share with you "Transible" - the tool which converts your cloud to Ansible playbooks, with Openstack and Amazon AWS EC2 & VPC currently supported. Try it and generate Ansible playbooks from your cloud infrastructure. More details in this Medium article and the repository is: https://github.com/sshnaidm/transible
-
-
-
filetailor
Dotbot alternative to copy *and modify* plain text files to a folder based on YAML for syncing between devices
I didn't discover Chezmoi until seeing this thread (sigh). I developed a tool, [filetailor](https://github.com/k4j8/filetailor), with an almost identical goal (dotfile management while accounting for differences across machines). It uses Python and YAML, but from what I can tell is similar in concept to Chezmoi.
One thing I like about filetailor I didn't see in Chezmoi was the ability to surround code with a comment specifying which machines it should be commented/uncommented for. It's easier than templates in some situations.
It works great, but there's probably tons of bugs that occur when used by someone other than me. I don't have a CS background and this was my first big hobby project.
-
Project mention: confs: List tools for which the given project has configs | reddit.com/r/coding | 2022-09-15
-
kitten
Kitten is a free and open-source network scanner. Currently only runs on Linux. (by karastift)
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Python Configuration Management related posts
- Git Aliases - My way of learning Git
- Two different ways to write configuration files in Python
- Benchmarking ansible-core 2.11 vs 2.14 and python 3.9 vs 3.11 along with ara's database backends
- Attempting to get more organized on my machines
- Salt issue on FreeBSD
- Use TOML for .env files?
- Yet Another Dotfiles Manager
-
A note from our sponsor - InfluxDB
www.influxdata.com | 26 Mar 2023
Index
What are some of the best open-source Configuration Management projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | SaltStack | 13,110 |
2 | yadm | 4,002 |
3 | dynaconf | 2,959 |
4 | pyinfra | 2,217 |
5 | autorandr | 2,098 |
6 | gin-config | 1,775 |
7 | strictyaml | 1,215 |
8 | yacs | 1,122 |
9 | eNMS | 745 |
10 | kas | 237 |
11 | ConfZ | 184 |
12 | parse_it | 98 |
13 | spock | 75 |
14 | rubric | 25 |
15 | transible | 25 |
16 | sitri | 20 |
17 | fora | 13 |
18 | filetailor | 7 |
19 | confs | 2 |
20 | kitten | 2 |
21 | pipcs | 2 |