--- id: configobj version: "5.0.9" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # configobj — Config file reading, writing and validation. License: permissive · Maintenance: active · Downloads: 7.2M/mo ## What it is and what it does ConfigObj is a mature configuration file library that reads and writes INI-format files with a focus on ease of use and round-trip fidelity—it preserves comments and key order. It handles nested sections to arbitrary depth, list values, multiline values, and full Unicode. The library includes a validation subsystem with automatic type conversion, default values, and support for repeated sections. It also offers an unrepr mode for serializing and deserializing Python data types. The package is designed for developers who need straightforward configuration management without complex dependencies. It's commonly used in system administration tools, application configuration, and any context where INI files are the preferred format. Recent versions dropped Python 2 support and patched a ReDoS vulnerability. Use it for: - Reading and writing application configuration files in INI format with automatic preservation of comments and structure - Validating configuration values with automatic type conversion and default fallbacks during application startup - Building admin tools or sysadmin utilities that need to parse and modify INI-based config files - Storing nested configuration hierarchies in a human-readable format that users can edit directly - Serializing Python data structures into config files and deserializing them back via unrepr mode ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. ConfigObj reads, writes, and validates INI-format configuration files with support for nested sections, list values, string interpolation, and automatic type checking. Yes. ConfigObj is a stable, actively maintained library with zero known vulnerabilities, low install friction, and a permissive license. It solves a well-defined problem—INI file handling with validation—and is widely used. Install it if your application needs configuration file support; the lack of dependencies makes it a lightweight choice. ## Install pip install configobj uv add configobj poetry add configobj ## Installing configobj Before you install: Low install friction with no runtime dependencies. Actively maintained with recent security fix (CVE-2023-26112 in 5.0.9) and last commit 2026-08-01. License in practice: BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install configobj from configobj import ConfigObj config = ConfigObj('settings.ini') config['section']['key'] = 'value' config.write() Requires Python 3.7 or later (supports 3.7 through 3.12) Verify before relying: - Whether the ReDoS fix in 5.0.9 affects existing validation patterns or performance - Specific validation system capabilities beyond type checking and defaults mentioned ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 7.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags ini file reader writer, config file parser, configuration validation, nested config sections, ini file round trip, config interpolation, python config management, config-management, ini-format, validation [View on SkillFed](https://skillfed.io/packages/configobj) · [View on PyPI](https://pypi.org/project/configobj/)