pycep-parser
A Python based Bicep parser
Decision gist · record as of 2026-08-14
Yes, if you need to parse Bicep files programmatically. The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. Be aware that support for some Bicep language features is still incomplete; check the capabilities documentation to confirm it handles your template syntax before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; Lark 1.1.2 or later must be available.
- Low friction install with three lightweight runtime dependencies (lark, regex, typing-extensions).
- Active maintenance with a release within the last week and ongoing development; requires Python 3.10 or later.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restrictions.
last release 2026-08-09 (5 days) · last repo commit 2026-08-09 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,641,204 downloads/mo, #2,265 on PyPI
Alternatives
Verify before relying
pip install pycep-parser
from pycep_parser import parse_file
ast = parse_file('template.bicep')- Whether the parser handles all current Bicep language features or only a subset (docs reference incomplete support for decorators, union types, and some functions).
- Performance characteristics when parsing large or complex Bicep templates.
- Whether the AST output is stable across releases or subject to breaking changes.
What it is and what it does
pycep-parser is a Python library that parses Azure Bicep files—a domain-specific language for defining Azure infrastructure—into an abstract syntax tree (AST) using the Lark parser framework. It lets you programmatically read and analyze Bicep templates rather than treating them as opaque text, enabling tooling, validation, and transformation workflows.
The package is actively maintained and supports modern Python versions (3.10–3.14). Its three runtime dependencies are all lightweight and widely used. However, the documentation notes that support is still incomplete for some Bicep features (custom data types with decorators, union types in objects, and certain built-in functions like CIDR and Lambda), so it may not parse every valid Bicep file yet.
Use it for
- Validate Bicep templates programmatically before deployment to catch syntax or structural errors early.
- Extract metadata from Bicep files (parameters, outputs, resource definitions) for documentation or inventory tools.
- Build linting or code-quality tools that analyze Bicep templates for best practices and compliance.
- Integrate Bicep parsing into CI/CD pipelines to gate deployments on template analysis results.
- Generate reports or visualizations of infrastructure defined in Bicep files.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse Bicep files programmatically.
The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. Be aware that support for some Bicep language features is still incomplete; check the capabilities documentation to confirm it handles your template syntax before relying on it in production.
Install
pycep-parser on PyPI
Before you install
Low friction install with three lightweight runtime dependencies (lark, regex, typing-extensions). Active maintenance with a release within the last week and ongoing development; requires Python 3.10 or later.
Requires Python 3.10 or later; Lark 1.1.2 or later must be available.
License in practice
Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restrictions.
Quickstart
pip install pycep-parser
from pycep_parser import parse_file
ast = parse_file('template.bicep')
Verify before relying
- Whether the parser handles all current Bicep language features or only a subset (docs reference incomplete support for decorators, union types, and some functions).
- Performance characteristics when parsing large or complex Bicep templates.
- Whether the AST output is stable across releases or subject to breaking changes.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packageslarkregextyping-extensions |
| Maintenance | Actively maintained 5 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,641,204 / month, #2,265 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: pycep_parser-0.7.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 › “bicep file parser”
- pycep-parserParses Azure Bicep infrastructure-as-code files into a structured…
- INIToolsINITools parses and manipulates INI-style configuration files through…
- iniparseiniparse is an INI file parser that preserves formatting (comments,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also lark-parser · lark-js · lark · bc-python-hcl2 · pycobertura · azure-mgmt-resource-templatespecs · openstep-parser · pyjsparser · rfc3987-syntax · lark-oapi