Skip to main content

curvtools package

CLI tools for the Curv RISC-V CPU project.

Prerequisites

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 PATH after make setup):

    curv-memmap2 --help
    
  • Run tests just for one tool using pytest from 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 artifacts

    CURV_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.env in the curvcpu/curv repo

    CURV_BUILD_DIR=build curvcfg [-vv] show curvpaths \
      --board=ulx3s --device=85f --profile=default
    
  • Inspect merged variables for any merged *.toml

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

Source distribution for curvtools 0.0.19
File Size Uploaded
curvtools-0.0.19.tar.gz 155.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for curvtools 0.0.19
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.0.19 This release

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page