Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

check_config-0.9.12.tar.gz (73.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

check_config-0.9.12-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

check_config-0.9.12-py3-none-win32.whl (2.4 MB view details)

Uploaded Python 3Windows x86

check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ x86-64

check_config-0.9.12-py3-none-manylinux_2_24_i686.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ i686

check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARMv7l

check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64

check_config-0.9.12-py3-none-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Hashes for check_config-0.9.12.tar.gz
Algorithm Hash digest
SHA256 018dbb9fea2cd7561cb5d405b120445c259e723621069e0219713d9a2f6ac663
MD5 78d7f0471f2fdf9d545a7d643b5f5a4c
BLAKE2b-256 fbb3edc31a4a0cd5db6dcb108a33b1a3b2789b0d498f3168443fd79b771957cd

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0f526496045a4715a08376686c9589cf0f14c7a11a1edaa21d103aca65d99e80
MD5 6aa7492ed639638f44f1074506b9d49b
BLAKE2b-256 9ad06978a092d0085a5ed447e4b70790452a8de3e18d68653c9e06393ba1478d

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-win32.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-win32.whl
Algorithm Hash digest
SHA256 bb60e313ac7498068a963fa4915ae4c5340cf1cd1aa3757ec7cfb0e66f037136
MD5 e95e779c3f3971682fec7ef02bfe1bdb
BLAKE2b-256 954c41fc5e64d0dd7bbd72dfd30d5d36958094e3e715f7424938f1c44e222849

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 a0af02d88a5fc020e8a58fe84c14de86274779a6a76d253b90bcc51aebd93ea4
MD5 c5283859537c63933c6854bc539c599e
BLAKE2b-256 7ea8574bda32cf3150bd66caabbdce5b80a610160fca4bee95f4076de1b9876c

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-manylinux_2_24_i686.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-manylinux_2_24_i686.whl
Algorithm Hash digest
SHA256 6f5948567ade61ff86601adc0421d11d21bef942162bb3d5ad661c6d26a20c01
MD5 0df1cdd340c6733fc3823d0794c75f46
BLAKE2b-256 94769dbf615cfddc88365997ceb548f9f01360315553d9f75a521ae8cba694d4

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-manylinux_2_24_armv7l.whl
Algorithm Hash digest
SHA256 d0b3a8c1f14dbd2d4b76d792d748b89edee9b973ecf14f8f1d9d4ee06d1720be
MD5 e97f3a5a9b2fad75cec7a9e010d806a4
BLAKE2b-256 6bb81413967028b20f11376b57a9911ea91300f6943b83b0d9772d86eb4f74f9

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 98fd9c47efc3c5e9360feeddd6da79376ef1a744a4950332f288921665299976
MD5 f455c833e18de70131bf2e2f6ef287ad
BLAKE2b-256 bf1e44ac9be7a47402f9249fd60afbbec10b9910b4ec32c51843d0985431e308

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aefcc563d4da3aafaa24c9660cd0f4b04616e97b4dbbaeee24baab9ae7a1f868
MD5 f74b58cd7b20ccc240b57c00c52560cd
BLAKE2b-256 c7b699e3d30f462e71f4334fc5e94f16c854af6c5e772ff435630a2abb3b3c1b

See more details on using hashes here.

File details

Details for the file check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for check_config-0.9.12-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dfe9bd2f8290db3cf1cfb817d579281f1dfc45ce02bc832328a72d94c9580b13
MD5 4a40401b99174346e9d2186a1f4f4eaa
BLAKE2b-256 951ae8184e31ac04fb495ce0548fc0244a83fdfd77a88955415b65a5441a2c1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page