skillfed

kenbun

Static application discovery for Python and modern JavaScript/TypeScript repositories.

kenbun v0.9.3 108.8K downloads/30d#12,537 on PyPI1
Permissive license MIT Active released

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

Kenbun statically discovers and analyzes applications in Python and JavaScript/TypeScript repositories, reporting frameworks, dependencies, build scripts, and entrypoints without executing code or installing dependencies.

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

pip

pip install kenbun

uv

uv add kenbun

poetry

poetry add kenbun

Installing kenbun

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).

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))

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.

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 — typing-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)

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

Keywords: static-analysis, application-detection, fastapi, javascript, typescript, monorepo

Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Tags

static application discoveryrepository analysis without executionfastapi django flask detectionjavascript typescript framework detectionmonorepo application boundariesdependency manifest discoverybuild script detection
static-analysismonorepo-toolsframework-detection

More Build Tools packages