Metadata-Version: 2.4
Name: kenbun
Version: 0.2.2
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
License-File: LICENSE
Summary: Static analysis for Python projects: detect web apps, frameworks, and entrypoints without importing user code.
Keywords: fastapi,static-analysis,deployment,detection,uv,workspace
Author-email: Patrick Arminio <patrick.arminio@gmail.com>
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Issues, https://github.com/patrick91/kenbun/issues
Project-URL: Repository, https://github.com/patrick91/kenbun

# kenbun

`kenbun` (見聞 — "seeing and hearing") is a static-analysis library that
identifies what kind of Python project lives inside a directory: which
projects exist, whether they are web apps or libraries, which framework they
use, and where their entrypoint is — **without ever importing user code**.

It is designed for tools that need to inspect a codebase and decide what to
do with it, such as a cloud deploy CLI, a project setup wizard, or a repo
analysis service. It understands uv workspaces and is built to also analyze
partial file sets (for example, a few files fetched from the GitHub API)
rather than only directories on disk.

The full design is in [`docs/spec.md`](docs/spec.md).

> **Status:** early development. The detection engine described in the spec
> is being built; the current package only exposes a placeholder API.

## Development

Build the extension and run the tests with:

```bash
uv run maturin develop --uv
uv run pytest
```

