Skip to main content

Architect Composer Utility (ACU)

PyPI Python License CI/CD

Write once, deploy everywhere. ACU is a provider-agnostic infrastructure composition tool that lets you define enterprise-grade deployments once and run them across any environment—local, staging, or production.

Table of Contents

Overview

ACU simplifies infrastructure orchestration by decoupling infrastructure definitions from provider implementations. Define your infrastructure topology in a single infra.yml file—including databases, clusters, message queues, and more—without committing to a specific provider, version, or SQL/NoSQL flavor. When it's time to deploy, choose your provider and let ACU handle the translation.

Philosophy

  • Provider Agnostic: Define resources once; deploy to any provider (AWS, Azure, GCP, Kubernetes, Docker, bare metal).
  • Developer-Friendly: Simple YAML syntax makes it easy for developers to spin up local infrastructure environments.
  • Production Ready: Scale from local development to enterprise deployments without rewriting configs.

Features

✅ Provider-Agnostic Infrastructure Definitions — Define databases, clusters, queues, and services without provider lock-in.

✅ Multi-Cloud & Multi-Environment Support — Deploy the same infrastructure template to Kubernetes, Docker, VMs, and bare metal.

✅ Local-to-Production Parity — Simulate enterprise-grade infrastructure locally; deploy to production with the same definitions.

✅ Cross-Platform CLI — Available on Linux, macOS, and Windows via uvx.

✅ Fast, Rust-Powered — Built with Rust for speed and reliability.

Installation

Using uvx (Recommended)

uvx acu

Using uv Tool Manager

uv tool install acu
acu --version

From Source

git clone https://github.com/carlosferreyra/acu
cd acu
uv build

Quick Start

1. Create Your Infrastructure Definition

Initialize a new infra.yml file (like Dockerfile for Docker):

acu new

This creates a minimal or templated infra.yml in your current directory.

2. Define Your Infrastructure

Edit infra.yml to describe your infrastructure. See the full example at docs/infra.example.yml for a validated, provider-agnostic template with resources, connections, labels, and scopes.

3. Deploy

Run commands from the directory containing infra.yml (no need to specify file path):

# Spin up infrastructure locally for development/testing
acu run dev

# Validate infrastructure definition
acu validate

# Deploy to production with environment-specific settings
acu deploy

# Dry-run (simulate without deploying)
acu deploy --dry-run

How It Works

  1. Define infrastructure in a provider-agnostic YAML format (infra.yml).
  2. Validate your definitions for correctness.
  3. Simulate locally to test topology and dependencies.
  4. Deploy to your chosen provider (Docker, Kubernetes, cloud, etc.) without changing the definition.

Resource type defaults and allowed fields: see docs/resource-types.md.

The key insight: infrastructure definitions describe what you need, not how to provision it. ACU translates your definitions into provider-specific configurations at deployment time.

Usage Examples

Example 1: Local Development Environment

Spun up a multi-service stack locally for testing:

# Create infra.yml
acu new --template multi-service

# Run everything locally with Docker
acu run dev

This starts databases, clusters, and queues locally using Docker, perfect for development.

Example 2: Production Deployment

Deploy the same infrastructure to production:

# Deploy to Kubernetes, cloud providers, or bare metal
acu deploy

This uses the production settings defined in infra.yml to provision real infrastructure.

Example 3: Multi-Provider Deployment

acu deploy --providers docker,kubernetes,aws

Or configure all providers in infra.yml and deploy to all with:

acu deploy --all-providers

This translates your single infrastructure definition into Docker Compose, Kubernetes manifests, and AWS CloudFormation—all without touching the original definition.

Contributing

Contributions are welcome! ACU is in active development, and we're looking for:

  • Provider implementations (Kubernetes, Docker, Terraform, CloudFormation, etc.)
  • Infrastructure resource types (networks, storage, monitoring, etc.)
  • Documentation and examples
  • Bug reports and feature requests

See CONTRIBUTING.md for guidelines.

License

ACU is dual-licensed under the MIT License and other permissive licenses for compatibility with projects like Ruff and uv.

See LICENSE for details.

Metadata

Release files for acu 0.1.6

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

Source distribution (sdist)

Source distribution for acu 0.1.6
File Size Uploaded
acu-0.1.6.tar.gz 15.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for acu 0.1.6
File
acu-0.1.6-cp314-abi3-win_amd64.whl CPython 3.14 abi3 Windows x86-64 Details
acu-0.1.6-cp314-abi3-manylinux_2_34_x86_64.whl CPython 3.14 abi3 Linux glibc 2.34+ x86-64 Details
acu-0.1.6-cp314-abi3-manylinux_2_24_x86_64.whl CPython 3.14 abi3 Linux glibc 2.24+ x86-64 Details
acu-0.1.6-cp314-abi3-macosx_11_0_arm64.whl CPython 3.14 abi3 macOS 11.0+ ARM64 Details

Total release size: 719.2 kB

Release files / acu-0.1.6.tar.gz

Download URL acu-0.1.6.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3f24fcdca855e52d855d99e67ec08ddf6fe2d7064a08c2a85481115cc7e421cd
BLAKE2b-256 checksum
How to use checksums
3f6582baa91ced9523e98c17eea558cb2f03884d26faf367bdfe5f9ed09534ba
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 31, 2025.

Transparency log

Release files / acu-0.1.6-cp314-abi3-win_amd64.whl

Download URL acu-0.1.6-cp314-abi3-win_amd64.whl
Size 92.7 kB
Tags CPython 3.14 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4862b0632ef20b3656d5b509d3e3ac12ada4bbeb08ff26f98abb1ccf54ca3e32
BLAKE2b-256 checksum
How to use checksums
899e69d9894cb78d24cd3f80b18a76de99a0332195005ab97965fabe08acfbc0
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 31, 2025.

Transparency log

Release files / acu-0.1.6-cp314-abi3-manylinux_2_34_x86_64.whl

Download URL acu-0.1.6-cp314-abi3-manylinux_2_34_x86_64.whl
Size 241.1 kB
Tags CPython 3.14 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
ab353f2b050298a7f3c31473fa8dd3cf3cd1c9da41e862f81785c97429e5ed31
BLAKE2b-256 checksum
How to use checksums
0fc0749b4ea308683cab08834fc8e9868de398484d19dc597a83269c10772d0d
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 31, 2025.

Transparency log

Release files / acu-0.1.6-cp314-abi3-manylinux_2_24_x86_64.whl

Download URL acu-0.1.6-cp314-abi3-manylinux_2_24_x86_64.whl
Size 197.9 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 abi3
SHA-256 checksum
How to use checksums
6309deb4b1dcab18ca62628ddcf068aa51065a71cf7bc52e7b079d1f2973f49a
BLAKE2b-256 checksum
How to use checksums
64bcb77f29a11f014cae0e0699a978cd58141041cbb6ecc06669fae7038293cb
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 31, 2025.

Transparency log

Release files / acu-0.1.6-cp314-abi3-macosx_11_0_arm64.whl

Download URL acu-0.1.6-cp314-abi3-macosx_11_0_arm64.whl
Size 172.4 kB
Tags CPython 3.14 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
68de31337ef0689fdf4e151925dbf45db07a1e4b10ed1a72e43140d76edd9537
BLAKE2b-256 checksum
How to use checksums
38a97461c9252f759c9ea4650358d159795c36bfbe7a8aae0aec32ca163f9701
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 31, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.6 This release

5 release files

0.1.5

5 release files

0.1.4

5 release files

0.1.3

4 release files

0.1.2

3 release files

0.1.1

3 release files

0.1.0

3 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