curvtools package
CLI tools for the Curv RISC-V CPU project.
Prerequisites
- Follow the developer setup instructions including installing
uvand runningmake setup(only needed once per machine).
Development/testing of CLI tools
We'll use the memmap2 tool as an example. Here are some common tasks:
-
Run one of the CLI tools (they're in your
PATHaftermake setup):curv-memmap2 --help -
Run tests just for one tool using
pytestfrom its source directory:# from the repo root $ cd packages/curvtools/src/curvtools/cli/memmap2 $ pytest
curvcfg
curvcfg is a command line tool for managing the configuration of the Curv CPU. It is used to merge and generate configuration files for the CPU.
Here is a quick rundown of how to use it (paths below are representative—set CURV_ROOT_DIR per the curvcpu/curv docs and point CURV_BUILD_DIR at a scratch build dir like ./build):
-
Board flow: merge board config, then generate HDL/make artifacts
CURV_BUILD_DIR=build curvcfg [-vv] board merge \ --board=ulx3s --device=85f \ --schema=$CURV_ROOT_DIR/boards/schema/schema.toml \ --schema=$CURV_ROOT_DIR/boards/schema/schema_flash.toml
[
CURV_BUILD_DIR=build curvcfg [-vv] board generate
--merged-board-toml build/generated/config/merged_board.toml
--template=$CURV_ROOT_DIR/boards/templates/boardpkg.sv.jinja2
```
Representative outputs: `generated/config/merged_board.toml`, `generated/make/board.mk(.d)`, `generated/hdl/boardpkg.sv`, `generated/hdl/board.svh`, `generated/shell/board.env`.
-
Configuration variables flow:
merge cfgvars, then generate remaining artifactsCURV_BUILD_DIR=build curvcfg [-vv] cfgvars merge \ --profile=default \ --schema=$CURV_ROOT_DIR/config/schema/schema.toml \ --schema=$CURV_ROOT_DIR/config/schema/tb-extras-schema.toml \ --overlay=$CURV_ROOT_DIR/config/profiles/overlays/tb.toml CURV_BUILD_DIR=build curvcfg [-vv] cfgvars generate \ --merged-config-toml build/generated/config/merged_cfgvars.toml
Representative outputs:
generated/config/merged_cfgvars.toml,generated/make/config.mk.d+curv.mk,generated/hdl/curvcfgpkg.sv,generated/hdl/curvcfg.svh,generated/shell/curv.env. -
Show derived paths from
scripts/make/paths_raw.envin the curvcpu/curv repoCURV_BUILD_DIR=build curvcfg [-vv] show curvpaths \ --board=ulx3s --device=85f --profile=default
-
Inspect merged variables for any merged
*.tomlCURV_BUILD_DIR=build curvcfg [-vv] show vars \ --merged-toml=build/generated/config/merged_board.toml CURV_BUILD_DIR=build curvcfg [-vv] show vars \ --merged-toml=build/generated/config/merged_cfgvars.toml
Metadata
Release files for curvtools 0.0.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| curvtools-0.0.19.tar.gz | 155.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| curvtools-0.0.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 298.7 kB
Release files / curvtools-0.0.19.tar.gz
| Download URL | curvtools-0.0.19.tar.gz |
|---|---|
| Size | 155.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d13b69bb764d186328aa1f75ef4c47776f88d1bd5dd76dc916c7cfcbccfe078
|
|
BLAKE2b-256 checksum How to use checksums |
48cf76aaf4150ef904d237790909c787520e9c4199f7e2c737b35fe53eab7104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 23, 2025.
Transparency logRelease files / curvtools-0.0.19-py3-none-any.whl
| Download URL | curvtools-0.0.19-py3-none-any.whl |
|---|---|
| Size | 142.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
774aab130be9843cb26d11aa60c75afaaf8e0ee7077c7159d0005ceeda0eaaed
|
|
BLAKE2b-256 checksum How to use checksums |
6777136bafe7d37475c1dc2af10a5f7ab2144aae983c317b8bef4f5c81d642fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 23, 2025.
Transparency log