$npx skillfedfor your agent

kconfiglib

A flexible Python Kconfig implementation

With conditionsPyPI SystemReleased Jan 20201.4M downloads / moISCPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — kconfiglib-14.1.0-py2.py3-none-any.whl
v14.1.0 · released 2020-01-31 · Python >=2.7,!=3.0.*,!=3.1.*

Yes, if you work with Kconfig files in embedded systems, kernel builds, or projects using Zephyr, esp-idf, or similar frameworks. The package is production-stable, dependency-free, and widely trusted. No, if you require active maintenance or compatibility guarantees with the latest kernel versions—the last release was January 2020 and maintenance is dormant. For most use cases, the stable feature set and lack of dependencies make it a safe choice despite the age.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • For terminal menuconfig on Windows, windows-curses must be installed separately (no longer bundled); on other platforms, curses is typically available in the standard library.
  • Low friction: pure Python with no runtime dependencies.
  • Dormant maintenance (last release January 2020, last commit September 2023), but the package is marked Production/Stable and widely used by established projects like Zephyr, esp-idf, and ACRN, suggesting it is feature-complete rather than abandoned.

License · maintenance · safety

ISC (permissive) — ISC license is permissive and poses no restrictions on commercial or proprietary use. You may use, modify, and distribute this package freely with minimal obligations.

last release 2020-01-31 (2387 days) · last repo commit 2023-09-22 · 514 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,376,652 downloads/mo, #3,985 on PyPI

Verify before relying

pip install kconfiglib

import kconfiglib
kconf = kconfiglib.Kconfig('path/to/Kconfig')
for symbol in kconf.defined_symbols:
    print(symbol.name, symbol.str_value)
  • Whether the dormant maintenance status (2+ years since last release) affects compatibility with recent Linux kernel versions or modern Python environments.
  • Current test coverage and whether the package is actively tested against Python 3.9+.
Same gist for agents: .md · .json

What it is and what it does

Kconfiglib is a complete Kconfig parser and implementation written in pure Python, designed to replace or supplement the C-based Kconfig tools used in Linux kernel builds and embedded systems projects. It parses Kconfig files, evaluates configuration dependencies and constraints, and provides both programmatic access via its library API and interactive command-line interfaces (menuconfig, guiconfig) for editing configurations. The library supports the Kconfig preprocessor syntax, environment variable expansion, and generates C headers from configuration selections—making it suitable for build automation, documentation generation, and embedded system configuration workflows.

The package is self-contained with no third-party dependencies, runs on Python 2.7 and 3.2+, and is used in production by major projects like Zephyr RTOS, ESP-IDF, and ACRN. It includes a suite of command-line utilities (oldconfig, defconfig, allnoconfig, genconfig, setconfig, and others) that mirror the behavior of traditional Kconfig tools, allowing developers to script configuration workflows or integrate Kconfig handling into custom build systems.

Use it for

  • Parse and programmatically query Kconfig files in embedded firmware projects to extract symbol definitions and dependencies.
  • Generate C configuration headers at build time from Kconfig selections using the genconfig utility.
  • Provide an interactive terminal or GUI menuconfig interface for end-users to configure embedded systems or kernel options.
  • Automate configuration management in CI/CD pipelines by setting or validating Kconfig symbols via the setconfig or oldconfig utilities.
  • Generate Kconfig cross-reference documentation by leveraging the library's robust parser instead of brittle ad-hoc text parsing.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work with Kconfig files in embedded systems, kernel builds, or projects using Zephyr, esp-idf, or similar frameworks.

The package is production-stable, dependency-free, and widely trusted. No, if you require active maintenance or compatibility guarantees with the latest kernel versions—the last release was January 2020 and maintenance is dormant. For most use cases, the stable feature set and lack of dependencies make it a safe choice despite the age.

Install

kconfiglib on PyPI

Before you install

Low friction: pure Python with no runtime dependencies. Dormant maintenance (last release January 2020, last commit September 2023), but the package is marked Production/Stable and widely used by established projects like Zephyr, esp-idf, and ACRN, suggesting it is feature-complete rather than abandoned.

For terminal menuconfig on Windows, windows-curses must be installed separately (no longer bundled); on other platforms, curses is typically available in the standard library.

License in practice

ISC license is permissive and poses no restrictions on commercial or proprietary use. You may use, modify, and distribute this package freely with minimal obligations.

Quickstart

pip install kconfiglib

import kconfiglib
kconf = kconfiglib.Kconfig('path/to/Kconfig')
for symbol in kconf.defined_symbols:
    print(symbol.name, symbol.str_value)

Verify before relying

  • Whether the dormant maintenance status (2+ years since last release) affects compatibility with recent Linux kernel versions or modern Python environments.
  • Current test coverage and whether the package is actively tested against Python 3.9+.

Package facts

LicenseISC permissive
Python supportSupports the current Python release >=2.7,!=3.0.*,!=3.1.*
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 2,387 days since the last release
Last repo commit
First released
Downloads1,376,652 / month, #3,985 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Operating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Build ToolsTopic :: System :: Operating System Kernels :: Linux

Evidence: kconfiglib-14.1.0-py2.py3-none-any.whl

Tags

Capabilities
kconfig parser pythonkernel configuration managementmenuconfig terminal interfacekbuild configuration toolembedded system configkconfig implementationconfiguration file generation
Topics
kconfig-parserembedded-systemsbuild-automation
PyPI keywords
kconfigkbuildmenuconfigconfiguration-management

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “kconfig parser python”

  • kconfiglibKconfiglib is a Python implementation of the Kconfig configuration…
  • esp-idf-kconfigProvides kconfig language support and IDE tooling for configuring…
  • dparseParses Python dependency files (requirements.txt, conda.yml, tox.ini,…

Give your agent the search over MCP, or paste the wish link into any chat.

More System packages

filelock Worth it
PyPI · Libraries · released Aug 2026

Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.

MITpure Python · 3.10+
717.1Mdownloads / mo
distro Worth it
PyPI · Python Modules · released Dec 2023

Distro provides a reliable, machine-readable API to query the Linux or BSD distribution name, version, codename, and other OS platform details, replacing Python's deprecated `platform.linux_distribution` function.

Install it if you need to detect or report the Linux/BSD distribution your code runs on.

Apache-2.0pure Python · 3.6+
417.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
aiofile Worth it
PyPI · Libraries · released Aug 2026

Provides asynchronous file I/O operations for asyncio programs, with automatic selection of the best available backend (io_uring, libaio, thread-based, or pure Python) depending on your system.

Apache-2.0pure Python · 3.11+
75.4Mdownloads / mo
portalocker Worth it
PyPI · Libraries · released Aug 2026

Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.

Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.

BSD-3-Clausepure Python · 3.10+
65.1Mdownloads / mo

See also esp-idf-kconfig · kernels · esp-coredump · sglang-kernel · pyobjc-framework-KernelManagement · cpm-kernels · pyconfigurator · jupyter-kernel-gateway · metakernel · kcidb-io