Skip to main content

compconf

CI GitHub stars PyPi DOI

compconf enables flexible, type-rich comptime configuration of Cerebras Software Language (CSL) projects

  • Free software: MIT license

Usage

compconf wraps the cslc compiler, forwarding all non-compconf flags.

python3 -m compconf --compconf-jq '. += {"baz:f32": 42.0}'

Access configuration values in csl code using the compconf module.

const compconf = @import("compconf.zig");

fn main() void {
    @comptime_print(compconf.get_value("baz", f32));
    @comptime_print(compconf.get_value_or("bar", @as(f16, 24.0)));
}

The compconf module provides the following functions:

fn get_value(comptime field_name: comptime_string, comptime T: type) T

fn get_value_or(
    comptime field_name: comptime_string, comptime default_value: anytype
) @type_of(default_value)

Available options:

usage: __main__.py [-h] [--compconf-cslc COMPCONF_CSLC] [--compconf-data COMPCONF_DATA] [--compconf-dump COMPCONF_DUMP] [--compconf-jq COMPCONF_JQ] [--compconf-verbose]
                   [--import-path IMPORT_PATH]

compconf enables flexible, type-rich comptime configuration of csl projects.

options:
  -h, --help            show this help message and exit
  --compconf-cslc COMPCONF_CSLC
                        compiler command to run
  --compconf-data COMPCONF_DATA
                        json data file to read, if any
  --compconf-dump COMPCONF_DUMP
                        path to dump the final json data
  --compconf-jq COMPCONF_JQ
                        jq command to add/modify data (e.g., '. += {"foo:u32": 42}')
  --compconf-verbose    enable verbose logging
  --import-path IMPORT_PATH
                        additional import paths for cslc

JSON data must be formatted according to `@import_comptime_value` conventions from Cerebras SDK v1.X. See
<https://web.archive.org/web/20260108221709/https://sdk.cerebras.net/csl/language/builtins#import-comptime-value>. Requires Cerebras SDK >= 2.10. DISCLAIMER: Cerebras Software
Language is the intellectual property of Cerebras Systems, Inc. This project is not an official Cerebras project and is not affiliated with or endorsed by Cerebras Systems, Inc.
in any way. All trademarks, logos, and intellectual property associated with Cerebras Systems remain the exclusive property of Cerebras Systems, Inc.

Installation

To install from PyPi with pip, run

python3 -m pip install compconf

Citing

If compconf contributes to a scholarly work, please cite it as

Matthew Andres Moreno. (2026). mmore500/compconf. Zenodo. https://doi.org/10.5281/zenodo.19288520

@software{moreno2026compconf,
  author = {Matthew Andres Moreno},
  title = {mmore500/compconf},
  month = mar,
  year = 2026,
  publisher = {Zenodo},
  doi = {10.5281/zenodo.19288520},
  url = {https://doi.org/10.5281/zenodo.19288520}
}

And don't forget to leave a star on GitHub!

Disclaimer

Cerebras Software Language is the intellectual property of Cerebras Systems, Inc. This project is not an official Cerebras project and is not affiliated with or endorsed by Cerebras Systems, Inc. in any way. All trademarks, logos, and intellectual property associated with Cerebras Systems remain the exclusive property of Cerebras Systems, Inc.

Metadata

Release files for compconf 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compconf 1.0.0
File Size Uploaded Provenance Actions
compconf-1.0.0.tar.gz 6.7 kB Without provenance Details for compconf-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for compconf 1.0.0
File Interpreter ABI Platform Actions
compconf-1.0.0-py3-none-any.whl Python 3 none any Details for compconf-1.0.0-py3-none-any.whl

Total release size: 13.7 kB

Release files / compconf-1.0.0.tar.gz

Download URL compconf-1.0.0.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4daff72461d4ecc32027014bf10083a4ca1398b41a92565508ddd06e82548a9d
BLAKE2b-256 checksum
How to use checksums
1ad4b208d1de4d8a45ef5e4edf868143981e83e584ea18b128c6c64854f28be2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / compconf-1.0.0-py3-none-any.whl

Download URL compconf-1.0.0-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
606db159ac267979692382d928a0c22fb48a5a177b685f39098c3342aa9a2256
BLAKE2b-256 checksum
How to use checksums
10801f33ca697f6b19e9e5dbdd8146a4bdc2bd27332b7b2b03e0d707dfb032a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for compconf 1.0.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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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