Skip to main content

Unified developer CLI for Python packages with C and C++ bindings.

Project description

foga

foga

foga is a Python package and CLI for developers maintaining Python packages with native C or C++ bindings. It replaces ad-hoc repository scripts with a single YAML configuration file that drives build, test, deploy, inspect, and cleanup workflows.

What foga does

  • build Python packages and native artifacts from one config file
  • run Python and native test workflows through one CLI
  • switch environment-specific settings with named profiles
  • inspect the resolved config before running anything
  • keep escape hatches explicit through structured hooks

Install

pip install foga

Minimal example

project:
  name: demo

build:
  python:
    backend: python-build

test:
  runners:
    unit:
      backend: pytest
      path: tests

Quick start

foga validate
foga inspect
foga build --dry-run
foga test --dry-run
foga deploy --target pypi --dry-run

Documentation

Start with:

Development

pip install -e .[dev,docs]
ruff check .
pytest
python -m build
sphinx-build -W --keep-going -b html docs docs/_build/html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foga-0.2.0.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

foga-0.2.0-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file foga-0.2.0.tar.gz.

File metadata

  • Download URL: foga-0.2.0.tar.gz
  • Upload date:
  • Size: 51.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for foga-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c7cb0548b4b4bd69c6a836f215178701159c0a22af2349391a1158fbf209520b
MD5 c9eacd20d20def9a26a9352d6193d09d
BLAKE2b-256 24af6c607e8f81da1d54bf99929b0f020c71e8fb721bb8df4014c1569ce4b6c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for foga-0.2.0.tar.gz:

Publisher: publish.yml on fedluc/foga

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file foga-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: foga-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for foga-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 263f84a0f62bd2fce12eb3bec1ec4a3eb3a0ed70bfafdf86092c942fa8ed0a52
MD5 f5603bccbe14f80775dbff0320b74a96
BLAKE2b-256 fc6ec4fe5ed4bea241c58a6edc51cc5fda86e4a0deda990f674d112d3408f345

See more details on using hashes here.

Provenance

The following attestation bundles were made for foga-0.2.0-py3-none-any.whl:

Publisher: publish.yml on fedluc/foga

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page