Skip to main content

burn-build 🚀

build system written in python for projects in C and C++
Explore the docs »

Getting Started · Basic Usage · License


🚀 Getting Started

burn-build is available on PyPI. Simply install the package into your project environment with PIP:

pip install pyburn_build

Once installed, you can start using the library in your Python projects.

💻 Usage Examples

Create project_config.json:

{
    "metadata": {
        "name": "Example",
        "version": "0.1.0",
        "description": "Hello World app",
        "language": "cpp",
        "use_cmake": false,
        "cache_file": "cache.json",
        "features": ["pyechonext"]
    },

    "compiler": {
        "name": "g++",
        "base_compiler_flags": ["-Wall"]
    }
}

Create toolchain_config.json:

{
    "prelude_commands": [],
    "targets": {
        "target1": {
            "compiler_options": ["-O2", "-pedantic"],
            "sources": ["src/main.c"],
            "output": "out/target1.out",
            "includes": [],
            "objects": [],
            "compiler": "gcc"
        },
        "target2": {
            "compiler_options": ["-O3", "-pedantic"],
            "sources": ["src/main2.cpp"],
            "output": "out/target2.out",
            "includes": [],
            "objects": []
        }
    },
    "post_commands": []
}

And create project:

python3 -m pyburn_build create --project-config example_configs/project_config.json --toolchain-config example_configs/toolchain_config.json

And build project:

python3 -m pyburn_build build --project-config example_configs/project_config.json --toolchain-config example_configs/toolchain_config.json

Specification

Project

Basic project information

Metadata

Meta information and other general characteristics of the project.

  • name - project name
  • version - project version
  • description - short project description
  • language - main project language
  • use_cmake - use cmake flag (experimental)
  • cache_file - path to cache json file
  • features - list of enabled features (supported: pyechonext)

Compiler

Information about the compiler, basic flags.

  • name - main compiler name
  • base_compiler_flags - list of compiler flags

Toolchain

Setting up tools, build chain, commands.

  • prelude_commands - Commands to execute before build
  • post_commands - Commands to execute after build
  • targets - dict with targets

Targets

Targets list

  • compiler_options - additional compiler flags
  • sources - list with sources for target
  • output - output filename
  • includes - include-files (C/C++)
  • objects - .o files
  • compiler - compiler command

Metadata

Release files for pyburn-build 0.3.7

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

Source distribution (sdist)

Source distribution for pyburn-build 0.3.7
File Size Uploaded Provenance
pyburn_build-0.3.7.tar.gz 22.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyburn-build 0.3.7
File Interpreter ABI Platform
pyburn_build-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size: 48.3 kB

Release files / pyburn_build-0.3.7.tar.gz

Download URL pyburn_build-0.3.7.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
53ec77f9f91b0b799b947c515e0a6f605f0cab10a8adfda9590713b695c9cecf
BLAKE2b-256 checksum
How to use checksums
3102507f49fbd76d8a4e5177a059a995dfe207dfb943861ed57fc666b379fddb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.7 Linux/6.11.5-2-cachyos

Release files / pyburn_build-0.3.7-py3-none-any.whl

Download URL pyburn_build-0.3.7-py3-none-any.whl
Size 26.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3b454c7981eb507c5d16fa2292813c30d3322a71942b430cffc71bc4e9c732c
BLAKE2b-256 checksum
How to use checksums
53371c0bac6b2e1b8bdd806e49875cb7539ed739c04771a9fecfef34e5e5e735
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.7 Linux/6.11.5-2-cachyos

Security for pyburn-build 0.3.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.

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.

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