kenbun
Static application discovery for Python and modern JavaScript/TypeScript repositories.
Decision gist · record as of 2026-08-14
Yes, if you need static application discovery in Python/Node monorepos without executing code. The MIT license and active maintenance are favorable. However, the project is very new (first release May 2026) with minimal adoption (1 star, top 15000 tier), so expect limited community support and possible API changes. Medium install friction (compiled Rust wheels) is manageable on common platforms but may be a blocker on less common architectures. Verify Python 3.12+ support if you need it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.10.
- Compiled Rust extension; pre-built wheels available for common Linux, macOS, and Windows platforms but may require compilation on less common architectures.
- Medium install friction due to compiled Rust bindings, but wheels are pre-built for many platforms (Python 3.10+, 3.11+).
License · maintenance · safety
MIT (permissive) — MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2026-08-06 (8 days) · last repo commit 2026-08-06 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 108,808 downloads/mo, #12,537 on PyPI
Alternatives
Verify before relying
from pathlib import Path
import kenbun
result = kenbun.scan(
Path("."),
ecosystems={"python", "node"},
)
for app in result.applications:
print(app.application_dir)
for tech in app.technologies:
print((tech.name, tech.kind, tech.role))- Whether Python 3.12+ wheels are available or planned, given the friction evidence shows only 3.10 and 3.11 wheels
- Performance characteristics and scalability limits for large monorepos or repositories with many files
- Accuracy and false-positive rates for framework detection across different project structures
What it is and what it does
Kenbun is a Rust-backed Python library that analyzes repository structure to identify applications and their technology stacks without running code. It discovers Python frameworks (FastAPI, Django, Flask), Node.js frameworks (Next.js, Astro, Nuxt, SvelteKit, Remix, Vite), build tools, dependency managers, workspace configurations, and entrypoints. It reports facts as data rather than making deployment decisions, leaving policy choices to the caller.
The library supports two analysis modes: local filesystem scanning via `scan()` and stateful remote analysis via `remote_analysis()` for repositories accessed over a network. Both modes accept ecosystem filters to focus on Python, Node, or both. The output is a deterministic schema v3 `ScanResult` containing applications, technologies, dependency sets, build scripts, and diagnostics. It understands monorepo structures (uv, npm, pnpm, Yarn, Bun workspaces) and can infer cross-framework integrations like Inertia when Python and Node evidence align.
Use it for
- Scan a monorepo to identify all deployable applications and their frameworks without cloning dependencies
- Analyze remote repositories (via GitHub archives or API) to classify applications before deciding how to deploy them
- Detect FastAPI applications and extract static entrypoint information for containerization or serverless deployment
- Identify Node.js frontend frameworks (Next.js, Nuxt, SvelteKit) and their build tooling to determine build commands
- Validate repository structure and report missing or conflicting build scripts and dependency manifests
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need static application discovery in Python/Node monorepos without executing code.
The MIT license and active maintenance are favorable. However, the project is very new (first release May 2026) with minimal adoption (1 star, top 15000 tier), so expect limited community support and possible API changes. Medium install friction (compiled Rust wheels) is manageable on common platforms but may be a blocker on less common architectures. Verify Python 3.12+ support if you need it.
Install
kenbun on PyPI
Before you install
Medium install friction due to compiled Rust bindings, but wheels are pre-built for many platforms (Python 3.10+, 3.11+). Active maintenance with a release 8 days old suggests ongoing support, though the project is early (first release May 2026) and has minimal community adoption (1 star).
Requires Python >= 3.10. Compiled Rust extension; pre-built wheels available for common Linux, macOS, and Windows platforms but may require compilation on less common architectures.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
from pathlib import Path
import kenbun
result = kenbun.scan(
Path("."),
ecosystems={"python", "node"},
)
for app in result.applications:
print(app.application_dir)
for tech in app.technologies:
print((tech.name, tech.kind, tech.role))
Verify before relying
- Whether Python 3.12+ wheels are available or planned, given the friction evidence shows only 3.10 and 3.11 wheels
- Performance characteristics and scalability limits for large monorepos or repositories with many files
- Accuracy and false-positive rates for framework detection across different project structures
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Actively maintained 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 108,808 / month, #12,537 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust |
Evidence: kenbun-0.9.3-cp310-cp310-macosx_10_12_x86_64.whl; kenbun-0.9.3-cp310-cp310-macosx_11_0_arm64.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_31_riscv64.whl; kenbun-0.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; kenbun-0.9.3-cp310-cp310-musllinux_1_2_aarch64.whl; kenbun-0.9.3-cp310-cp310-musllinux_1_2_armv7l.whl; kenbun-0.9.3-cp310-cp310-musllinux_1_2_i686.whl; kenbun-0.9.3-cp310-cp310-musllinux_1_2_x86_64.whl; kenbun-0.9.3-cp310-cp310-win32.whl; kenbun-0.9.3-cp310-cp310-win_amd64.whl; kenbun-0.9.3-cp311-cp311-macosx_10_12_x86_64.whl; kenbun-0.9.3-cp311-cp311-macosx_11_0_arm64.whl; kenbun-0.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; kenbun-0.9.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; kenbun-0.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.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 › “static application discovery”
- kenbunKenbun statically discovers and analyzes applications in Python and…
- mypy-boto3-discoveryProvides type annotations and IDE autocomplete support for boto3's…
- google-api-python-client-stubsProvides type stubs for google-api-python-client, enabling static…
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 entrypoints · deno · python-discovery · moviepilot-rust · puccinialin · maturin · pyproject-dependencies · setuptools-rust · django-vite · trailmark