Check configuration files.
Project description
Effortless Configuration Management with check-config
Keep your development environment consistent, shareable, and version-controlled
check-config is a fast, lightweight, declarative configuration management tool that ensures your configuration files contain exactly what they should. Instead of managing entire config files, you declare specific parts that must be present - making configurations shareable, maintainable, and verifiable.
How It Works
Define your configuration requirements in simple TOML files, then let check-config ensure they're applied:
# Set your preferred editor
[[lines_present]]
file = "~/.bashrc"
lines = "export EDITOR=hx"
# Ensure git signing is configured
[[lines_present]]
file = "~/.gitconfig"
lines = """
[gpg]
format = ssh
[commit]
gpgsign = true
"""
Run check-config --fix to apply changes, or check-config to verify everything is in sync.
Why check-config?
🔧 Shareable Configuration Snippets
Traditional dotfile repositories force users to adopt entire configuration files. check-config lets you share just the essential parts:
- Share your preferred Python formatting rules without forcing your entire
pyproject.toml - Distribute security settings without overwriting personal aliases
- Collaborate on team standards while preserving individual preferences
✅ Enforce Team Standards
Ensure consistent development environments across your team:
# In CI: Verify configurations are up-to-date
check-config
# For developers: Apply required configurations
check-config --fix
Perfect for ensuring tools like Ruff, Black, and ESLint use consistent settings across all developers and CI pipelines.
📦 Composable Configuration
Combine multiple configuration files to build your complete setup:
- Base configurations for your team
- Personal tweaks and preferences
- Project-specific requirements
- Environment-specific overrides
Beyond Simple Lines
check-config supports multiple checker types for different configuration needs:
- Lines present/absent: Shell configs, text files
- Key-value pairs: TOML, JSON, YAML files
- File existence: Ensure critical files exist
- And more: See docs/checkers.md for all features
Get Started
Make a check-config.toml according your needs:
# Set your preferred editor
[[lines_present]]
file = "~/.bashrc"
lines = "export EDITOR=hx"
And use it:
# Check if configurations match requirements
check-config
# Apply missing configurations
check-config --fix
Documentation
📖 Full Documentation - Complete guides, examples, and API reference
Declare what you need. Share what matters. Keep everything in sync.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file check_config-0.9.12.tar.gz.
File metadata
- Download URL: check_config-0.9.12.tar.gz
- Upload date:
- Size: 73.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
018dbb9fea2cd7561cb5d405b120445c259e723621069e0219713d9a2f6ac663
|
|
| MD5 |
78d7f0471f2fdf9d545a7d643b5f5a4c
|
|
| BLAKE2b-256 |
fbb3edc31a4a0cd5db6dcb108a33b1a3b2789b0d498f3168443fd79b771957cd
|
File details
Details for the file check_config-0.9.12-py3-none-win_amd64.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-win_amd64.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f526496045a4715a08376686c9589cf0f14c7a11a1edaa21d103aca65d99e80
|
|
| MD5 |
6aa7492ed639638f44f1074506b9d49b
|
|
| BLAKE2b-256 |
9ad06978a092d0085a5ed447e4b70790452a8de3e18d68653c9e06393ba1478d
|
File details
Details for the file check_config-0.9.12-py3-none-win32.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-win32.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb60e313ac7498068a963fa4915ae4c5340cf1cd1aa3757ec7cfb0e66f037136
|
|
| MD5 |
e95e779c3f3971682fec7ef02bfe1bdb
|
|
| BLAKE2b-256 |
954c41fc5e64d0dd7bbd72dfd30d5d36958094e3e715f7424938f1c44e222849
|
File details
Details for the file check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 4.7 MB
- Tags: Python 3, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0af02d88a5fc020e8a58fe84c14de86274779a6a76d253b90bcc51aebd93ea4
|
|
| MD5 |
c5283859537c63933c6854bc539c599e
|
|
| BLAKE2b-256 |
7ea8574bda32cf3150bd66caabbdce5b80a610160fca4bee95f4076de1b9876c
|
File details
Details for the file check_config-0.9.12-py3-none-manylinux_2_24_i686.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-manylinux_2_24_i686.whl
- Upload date:
- Size: 4.7 MB
- Tags: Python 3, manylinux: glibc 2.24+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f5948567ade61ff86601adc0421d11d21bef942162bb3d5ad661c6d26a20c01
|
|
| MD5 |
0df1cdd340c6733fc3823d0794c75f46
|
|
| BLAKE2b-256 |
94769dbf615cfddc88365997ceb548f9f01360315553d9f75a521ae8cba694d4
|
File details
Details for the file check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl
- Upload date:
- Size: 4.0 MB
- Tags: Python 3, manylinux: glibc 2.24+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0b3a8c1f14dbd2d4b76d792d748b89edee9b973ecf14f8f1d9d4ee06d1720be
|
|
| MD5 |
e97f3a5a9b2fad75cec7a9e010d806a4
|
|
| BLAKE2b-256 |
6bb81413967028b20f11376b57a9911ea91300f6943b83b0d9772d86eb4f74f9
|
File details
Details for the file check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl
- Upload date:
- Size: 4.7 MB
- Tags: Python 3, manylinux: glibc 2.24+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98fd9c47efc3c5e9360feeddd6da79376ef1a744a4950332f288921665299976
|
|
| MD5 |
f455c833e18de70131bf2e2f6ef287ad
|
|
| BLAKE2b-256 |
bf1e44ac9be7a47402f9249fd60afbbec10b9910b4ec32c51843d0985431e308
|
File details
Details for the file check_config-0.9.12-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.0 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aefcc563d4da3aafaa24c9660cd0f4b04616e97b4dbbaeee24baab9ae7a1f868
|
|
| MD5 |
f74b58cd7b20ccc240b57c00c52560cd
|
|
| BLAKE2b-256 |
c7b699e3d30f462e71f4334fc5e94f16c854af6c5e772ff435630a2abb3b3c1b
|
File details
Details for the file check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfe9bd2f8290db3cf1cfb817d579281f1dfc45ce02bc832328a72d94c9580b13
|
|
| MD5 |
4a40401b99174346e9d2186a1f4f4eaa
|
|
| BLAKE2b-256 |
951ae8184e31ac04fb495ce0548fc0244a83fdfd77a88955415b65a5441a2c1c
|