iniconfig
brain-dead simple config-ini parsing
Install
iniconfig on PyPI
pip
pip install iniconfiguv
uv add iniconfigpoetry
poetry add iniconfigPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 299 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: iniconfig-2.3.0-py3-none-any.whl
About iniconfig
from the package's own PyPI description — quoted content, verbatim
iniconfig: brain-dead simple parsing of ini files
iniconfig is a small and simple INI-file parser module having a unique set of features:
- maintains order of sections and entries
- supports multi-line values with or without line-continuations
- supports "#" comments everywhere
- raises errors with proper line-numbers
- no bells and whistles like automatic substitutions
- iniconfig raises an Error if two sections have the same name.
If you encounter issues or have feature wishes please report them to:
https://github.com/RonnyPfannschmidt/iniconfig/issues
Basic Example
If you have an ini file like this:
.. code-block:: ini
# content of example.ini
[section1] # comment
name1=value1 # comment
name1b=value1,value2 # comment
[section2]
name2=
line1
line2
then you can do:
.. code-block:: pycon
>>> import iniconfig
>>> ini = iniconfig.IniConfig("example.ini")
>>> ini['section1']['name1'] # raises KeyError if not exists
'value1'
>>> ini.get('section1', 'name1b', [], lambda x: x.split(","))
['value1', 'value2']...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
iniconfig parses INI configuration files with order preservation, multi-line value support, and line-number error reporting, without automatic substitutions or complex features.
Installation is straightforward with no runtime dependencies and a pure-Python wheel distribution. The package is actively maintained with recent releases and broad Python 3.10+ support across all major platforms.
MIT license permits unrestricted use, modification, and distribution with only attribution required, making it suitable for both open-source and proprietary projects.
Usage
pip install iniconfig
import iniconfig
ini = iniconfig.IniConfig("config.ini")
value = ini['section']['key'] # raises KeyError if not found
default = ini.get('section', 'key', 'default_value', lambda x: x)
Requires Python 3.10 or later.
Verdict: iniconfig is a lightweight, actively maintained INI parser with zero dependencies, MIT licensing, and no known vulnerabilities. It is well-suited for projects needing straightforward configuration file parsing with order preservation and clear error reporting.
Needs verification
- Whether the package is used as a direct dependency or primarily as a transitive dependency of other tools like pytest.
Similar packages
permissive · top 1,000 on PyPI
tree-sitter-languagespermissive · top 1,000 on PyPI
postgrestpermissive · top 1,000 on PyPI
isortpermissive · top 1,000 on PyPI
tomli-wpermissive · top 1,000 on PyPI
xmltodictpermissive · top 1,000 on PyPI
pytest-envpermissive · top 1,000 on PyPI
sqlglotpermissive · top 1,000 on PyPI
strictyamlpermissive · top 1,000 on PyPI
pypermissive · top 1,000 on PyPI