Skip to main content

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.

Metadata

Release files for check-config 0.9.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for check-config 0.9.12
File Size Uploaded Provenance Actions
check_config-0.9.12.tar.gz 73.1 kB Without provenance Details for check_config-0.9.12.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for check-config 0.9.12
File Actions
check_config-0.9.12-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for check_config-0.9.12-py3-none-win_amd64.whl
check_config-0.9.12-py3-none-win32.whl Python 3 none Windows x86-32 Details for check_config-0.9.12-py3-none-win32.whl
check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl Python 3 none Linux glibc 2.24+ x86-64 Details for check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl
check_config-0.9.12-py3-none-manylinux_2_24_i686.whl Python 3 none Linux glibc 2.24+ x86-32 Details for check_config-0.9.12-py3-none-manylinux_2_24_i686.whl
check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl Python 3 none Linux glibc 2.24+ ARMv7l Details for check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl
check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl Python 3 none Linux glibc 2.24+ ARM64 Details for check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl
check_config-0.9.12-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for check_config-0.9.12-py3-none-macosx_11_0_arm64.whl
check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl

Total release size: 31.1 MB

Release files / check_config-0.9.12.tar.gz

Download URL check_config-0.9.12.tar.gz
Size 73.1 kB
Tags Source
SHA-256 checksum
How to use checksums
018dbb9fea2cd7561cb5d405b120445c259e723621069e0219713d9a2f6ac663
BLAKE2b-256 checksum
How to use checksums
fbb3edc31a4a0cd5db6dcb108a33b1a3b2789b0d498f3168443fd79b771957cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-win_amd64.whl

Download URL check_config-0.9.12-py3-none-win_amd64.whl
Size 2.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0f526496045a4715a08376686c9589cf0f14c7a11a1edaa21d103aca65d99e80
BLAKE2b-256 checksum
How to use checksums
9ad06978a092d0085a5ed447e4b70790452a8de3e18d68653c9e06393ba1478d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-win32.whl

Download URL check_config-0.9.12-py3-none-win32.whl
Size 2.4 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
bb60e313ac7498068a963fa4915ae4c5340cf1cd1aa3757ec7cfb0e66f037136
BLAKE2b-256 checksum
How to use checksums
954c41fc5e64d0dd7bbd72dfd30d5d36958094e3e715f7424938f1c44e222849
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl

Download URL check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl
Size 4.7 MB
Tags Linux glibc 2.24+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a0af02d88a5fc020e8a58fe84c14de86274779a6a76d253b90bcc51aebd93ea4
BLAKE2b-256 checksum
How to use checksums
7ea8574bda32cf3150bd66caabbdce5b80a610160fca4bee95f4076de1b9876c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-manylinux_2_24_i686.whl

Download URL check_config-0.9.12-py3-none-manylinux_2_24_i686.whl
Size 4.7 MB
Tags Linux glibc 2.24+ x86-32 Python 3
SHA-256 checksum
How to use checksums
6f5948567ade61ff86601adc0421d11d21bef942162bb3d5ad661c6d26a20c01
BLAKE2b-256 checksum
How to use checksums
94769dbf615cfddc88365997ceb548f9f01360315553d9f75a521ae8cba694d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl

Download URL check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl
Size 4.0 MB
Tags Linux glibc 2.24+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
d0b3a8c1f14dbd2d4b76d792d748b89edee9b973ecf14f8f1d9d4ee06d1720be
BLAKE2b-256 checksum
How to use checksums
6bb81413967028b20f11376b57a9911ea91300f6943b83b0d9772d86eb4f74f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl

Download URL check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl
Size 4.7 MB
Tags Linux glibc 2.24+ ARM64 Python 3
SHA-256 checksum
How to use checksums
98fd9c47efc3c5e9360feeddd6da79376ef1a744a4950332f288921665299976
BLAKE2b-256 checksum
How to use checksums
bf1e44ac9be7a47402f9249fd60afbbec10b9910b4ec32c51843d0985431e308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-macosx_11_0_arm64.whl

Download URL check_config-0.9.12-py3-none-macosx_11_0_arm64.whl
Size 4.0 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aefcc563d4da3aafaa24c9660cd0f4b04616e97b4dbbaeee24baab9ae7a1f868
BLAKE2b-256 checksum
How to use checksums
c7b699e3d30f462e71f4334fc5e94f16c854af6c5e772ff435630a2abb3b3c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Release files / check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl

Download URL check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl
Size 3.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
dfe9bd2f8290db3cf1cfb817d579281f1dfc45ce02bc832328a72d94c9580b13
BLAKE2b-256 checksum
How to use checksums
951ae8184e31ac04fb495ce0548fc0244a83fdfd77a88955415b65a5441a2c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.2

Security for check-config 0.9.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.9.12 This release

9 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page