Package Manifest Reference¶
Complete Shape¶
> package: reports:
author: Kedi Team
contact: maintainers@example.com
version: 1.2.0
source: src/reports
python: python@3.11-3.14
license: MIT
python_dependencies:
pydantic>=2
httpx[http2]>=0.27
The file must be named exactly package.kedi, contain exactly one package
directive, and contain no imports, exports, procedures, types, Python, values,
or executable statements. Comments are allowed.
Fields¶
| Field | Required | Validation |
|---|---|---|
| package name | yes | [a-z][a-z0-9_]* |
source |
installable package: yes | literal relative directory containing main.kedi |
version |
no | valid PEP 440 version |
python |
no | fixed version or inclusive closed range |
python_dependencies |
no | one list of valid PEP 508 requirements |
author |
no | metadata text |
contact |
no | metadata text |
license |
no | metadata text |
Unknown fields, duplicate scalar fields, a second dependency block, or a second package directive fail validation.
Python Requirement¶
Accepted forms:
The range includes both endpoints and its upper bound cannot precede its lower
bound. Installation compares it with the interpreter running kedi install.
This field does not create or select a virtual environment.
Source Tree¶
For source: src/reports, installation requires:
The package root import loads main.kedi; nested imports load sibling .kedi
files. Absolute paths, .., symlink escapes, sparse-checkout patterns, special
files, missing roots, and oversized source trees are rejected.
Dependencies¶
python_dependencies records and validates dependency requirements. Kedi does
not install them into the active Python environment. Package setup must satisfy
them separately.
Installation¶
kedi install
kedi install path/to/package.kedi
kedi add package_name
kedi add git+https://github.com/owner/repository.git
Installed content and .kedi-install.json receipts live below the Kedi home
registry. Registry installation can identify a verified source commit; this
proves identity/integrity, not safety. Imported packages may execute Python with
the host process's authority.