kernel
The ARC kernel — repo/project name is kernel; the Python package it
provides is arc (flat layout, no src/). This is what every project's
arc.<capability> namespace is ultimately built on.
arc/ # this repo
├── pyproject.toml # name = "arc-kernel" (distribution — "arc" was taken
│ on PyPI), packages = ["arc"]
├── README.md
├── LICENSE
├── .gitignore
└── arc/ # the actual package — `import arc`
├── __init__.py
├── cli.py # the `arc` command: init, install, build, settings, plugin
├── registry.py
├── settings.py
└── secrets.py
Two-tier install model (mirrors frappe-bench / bench)
- Bootstrap globally, once — either
pip install arc-kernel(orpipx install arc-kernel/uv tool install arc-kernel, both preferred over a barepip installfor a CLI tool) from PyPI, oruv tool install --editable .from a local clone of this repo if you're working on the kernel itself. Either way you get thearccommand anywhere on your machine. - Per project —
arc initclones THIS repo into<project>/arc/and wires up a uv workspace. From then on, use<project>/.venv/bin/arcfor project commands — that copy is pinned to the exact commit this project was built against, independent of the global bootstrap CLI's version.
Note: inside a scaffolded project you'll see project/arc/arc/ — the outer
arc/ is this project's kernel slot (a workspace member, named the way
apps/frappe names its slot in a bench); the inner arc/ is the actual
Python package. Two different things, same name for a real reason — not
duplication.
Commands
arc init [project_name] --kernel-repo <git-url-or-path> [--kernel-branch main] [--env dev]
arc install <git-url> [--branch BRANCH] [--name NAME]
arc build [-p/--plugin NAME] [--no-lock]
arc settings get <key> [--reveal]
arc settings set <key> <value> [--secret]
arc settings delete <key>
arc plugin list
arc plugin enable <name>
arc plugin disable <name>
ARC_KERNEL_REPO env var can be set once so --kernel-repo doesn't need to
be typed on every arc init.
Plugin manifest format
Every plugin repo has, at its root:
# plugin.toml — ARC-specific metadata only
[plugin]
name = "psqldb"
version = "0.1.0"
capability = "psqldb" # exported as arc.<capability> at boot
requires = []
optional_requires = ["redix"]
# pyproject.toml — standard Python packaging; real dependencies live HERE
[project]
name = "psqldb"
dependencies = ["asyncpg>=0.29"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
Following this same kernel's convention, plugin packages should also use a
flat layout (psqldb/psqldb/__init__.py inside the plugin's own repo, not
psqldb/src/psqldb/) — same reasoning, same fix, applied consistently.
Metadata
Release files for arc-kernel 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| arc_kernel-0.1.0.tar.gz | 36.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arc_kernel-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.0 kB
Release files / arc_kernel-0.1.0.tar.gz
| Download URL | arc_kernel-0.1.0.tar.gz |
|---|---|
| Size | 36.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
997989f5c2053a9a269bda29be4363c93b82bf4b508609fcedd060453d8eb8a9
|
|
BLAKE2b-256 checksum How to use checksums |
78ea40f24296af6fa41bdb29983656bb861c7a8f8b95e493c625de272894a6eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / arc_kernel-0.1.0-py3-none-any.whl
| Download URL | arc_kernel-0.1.0-py3-none-any.whl |
|---|---|
| Size | 41.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5759b0205653298382e1df2a1a5580b0d927662568c371819fcce70cb153056
|
|
BLAKE2b-256 checksum How to use checksums |
78f5a450e0135139bafe390da90fb0f9093952b3fb3a697982cceb4c7120a920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for arc-kernel 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.