skillfed

iniconfig

brain-dead simple config-ini parsing

iniconfig Permissive license MIT Active 62 v2.3.0 released

Install

iniconfig on PyPI

pip

pip install iniconfig

uv

uv add iniconfig

poetry

poetry add iniconfig

Package 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

Development Status :: 4 - BetaIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: LibrariesTopic :: Utilities

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.
ini file parserconfig file parsingini config readersimple configuration parserordered ini parsingmulti-line ini valuesini file with comments

Similar packages