oelint-parser
Alternative parser for bitbake recipe
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive license. It fills a specific niche—programmatic BitBake parsing—that few alternatives address. Install it if you need to parse, query, or analyze BitBake recipes in Python; skip it if you work outside the OpenEmbedded/Yocto ecosystem.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low install friction with a pure-Python wheel.
- Actively maintained with a release within the last month.
License · maintenance · safety
BSD-2-Clause (permissive) — BSD-2-Clause is a permissive license allowing commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-07-20 (25 days) · last repo commit 2026-08-11 · 18 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,972 downloads/mo, #14,568 on PyPI
Alternatives
Verify before relying
from oelint_parser.cls_stash import Stash
from oelint_parser.cls_item import Variable
_stash = Stash()
_stash.AddFile("/path/to/recipe.bb")
_stash.Finalize()
for item in _stash.GetItemsFor(attribute=Variable.ATTR_VAR, attributeValue="PV"):
print(item.VarValue)- Whether the package handles malformed or non-standard BitBake syntax gracefully.
- Performance characteristics when parsing very large recipe files or stashes with thousands of items.
- Whether the Deprecated dependency indicates planned API changes or removal of features.
What it is and what it does
oelint-parser is a Python library that parses BitBake recipe files—the configuration and build metadata format used by OpenEmbedded and Yocto—and exposes their contents through a queryable object model. It loads recipe files into a Stash object, resolves cross-file dependencies, and allows you to filter and extract variables, functions, and other metadata by attribute. The library handles variable expansion (both raw and evaluated), inline conditional branches, and provides access to a curated set of BitBake constants like known functions, machines, and distros.
Typical use is loading one or more recipe files, calling Finalize() to resolve dependencies, then querying the Stash for specific items using GetItemsFor() with attribute filters. You can expand variable values, extract list items, and reduce result sets further. The package supports modern Python (3.10–3.14) and depends only on regex and Deprecated, keeping installation lightweight.
Use it for
- Extract and analyze variable definitions (e.g., PV, BPV) from a collection of BitBake recipes to audit or validate build metadata.
- Resolve variable references and cross-file dependencies to determine the effective value of a recipe variable after all expansions.
- Build tooling that inspects or lints BitBake recipes by querying the parsed metadata for compliance with project standards.
- Automate recipe migration or refactoring by programmatically identifying and modifying specific variables or functions across multiple files.
- Generate documentation or reports from BitBake metadata by extracting and filtering recipe contents into structured formats.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive license. It fills a specific niche—programmatic BitBake parsing—that few alternatives address. Install it if you need to parse, query, or analyze BitBake recipes in Python; skip it if you work outside the OpenEmbedded/Yocto ecosystem.
Install
oelint-parser on PyPI
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a release within the last month. Depends only on regex and Deprecated, both lightweight runtime dependencies.
Requires Python 3.10 or later.
License in practice
BSD-2-Clause is a permissive license allowing commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
from oelint_parser.cls_stash import Stash
from oelint_parser.cls_item import Variable
_stash = Stash()
_stash.AddFile("/path/to/recipe.bb")
_stash.Finalize()
for item in _stash.GetItemsFor(attribute=Variable.ATTR_VAR, attributeValue="PV"):
print(item.VarValue)
Verify before relying
- Whether the package handles malformed or non-standard BitBake syntax gracefully.
- Performance characteristics when parsing very large recipe files or stashes with thousands of items.
- Whether the Deprecated dependency indicates planned API changes or removal of features.
Package facts
| License | BSD-2-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesregexDeprecated |
| Maintenance | Actively maintained 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,972 / month, #14,568 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: oelint_parser-8.12.1-py3-none-any.whl
Tags
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 › “bitbake recipe parser”
- oelint-parserParses BitBake recipe files and provides programmatic access to…
- recipe-scrapersExtracts structured recipe data (ingredients, instructions, cooking…
- rust-justrust-just is a Python wrapper around the just command runner, letting…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also recipe-scrapers · magic-filter · openrewrite · referencing · parameter-expansion-patched · sttable · opack2 · uri-template · stashai · xacro