{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/5"},{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/7"},{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/3"},{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/4"},{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance"}],"enrichment":{"capability":"Xenon monitors Python code complexity by measuring cyclomatic complexity across your codebase and fails your build when thresholds are exceeded, typically used in CI/CD pipelines and git commit hooks.","skillfed_tags":["code-quality","ci-integration","complexity-analysis"],"use_cases":["Enforce complexity limits in a CI/CD pipeline to prevent code from becoming unmaintainable as features are added.","Block commits via a pre-commit hook when a developer introduces a function or module exceeding your team's complexity threshold.","Monitor average codebase complexity over time to catch gradual increases in technical debt.","Set per-module complexity caps to ensure no single module becomes a maintenance bottleneck."],"what_it_does":"Xenon is a command-line tool that wraps Radon to measure cyclomatic complexity across a Python codebase and enforce complexity thresholds. It calculates three metrics: average complexity across all blocks, per-module complexity, and absolute complexity of individual blocks, each ranked from A (simplest) to F (most complex). You set thresholds for each metric, and xenon exits with a non-zero code if any threshold is violated, making it suitable for blocking commits or failing CI builds when code becomes too complex.\n\nTypically used in two contexts: as a pre-commit hook to prevent overly complex code from entering version control, or as a CI step to monitor complexity trends over time. It accepts glob patterns to exclude or ignore files and directories, and integrates with pre-commit frameworks. The package depends on radon for the actual complexity analysis, requests for potential HTTP operations, and PyYAML for configuration parsing.","worth_installing":"Yes, if you need lightweight complexity enforcement in CI or pre-commit workflows and can accept dormant maintenance. The package is stable and does one job well, but expect no active support or updates; if you require ongoing maintenance or advanced complexity analysis features, consider alternatives. No known vulnerabilities and low install friction make it a low-risk addition to existing pipelines."},"id":"xenon","links":{"html":"https://skillfed.io/packages/xenon","md":"https://skillfed.io/packages/xenon.md","pypi":"https://pypi.org/project/xenon/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-10-21","license_spdx":null,"license_treatment":"permissive","name":"xenon","python_support":"unspecified","summary":"Monitor code metrics for Python on your CI server"},"popularity":{"monthly_downloads":1359618,"position":4004,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.9.3"}
