Skip to main content

Project Automation and Configuration Engine - A Python CLI tool for bulk management of C# .NET project ecosystems

Project description

Project Automation and Configuration Engine

A Python CLI tool for bulk management of C# .NET project ecosystems — from single class libraries to complex multi-project hierarchies with MAUI applications.

Python .NET MAUI License

Overview

PACE eliminates the repetitive, error-prone manual work of managing .NET project ecosystems at scale. Rather than shelling into each project directory to run dotnet commands, manage git state, or manually update build configurations, PACE provides a unified interface to interact with all of them at once.

It understands your project topology — respecting dependency order, project hierarchy, and configuration context — so you can express intent once and apply it across your entire repository graph.

Target project types

Type Description
Class libraries Standalone or NuGet-published reusable packages
MAUI applications Cross-platform apps with platform image and build assets
Dependency trees Multi-library hierarchies with topological dependency ordering
Sample applications Reference and demo apps accompanying library suites

Design principles

Composability — individual commands can be piped, scripted, and combined into workflows.

Topology-awareness — multi-project operations always respect inter-project dependencies.

Transparency — every operation emits clear, structured output suitable for both human review and CI log parsing.

Reproducibility — configuration is declared in a manifest file that describes the project graph.

Installation

pip install pace-dotnet

Configuration

PACE is driven by a pace.toml manifest at your workspace root:

repodir = "/path/to/repositories"
nuget_cache_path = "/path/to/nuget/cache"

[[projects]]
name = "common-lib"
csproj_path = "common-lib/src/CommonLib/CommonLib.csproj"
repo_url = "https://github.com/org/common-lib"
depends_on = []

[[projects]]
name = "feature-module"
csproj_path = "feature-module/src/FeatureModule/FeatureModule.csproj"
repo_url = "https://github.com/org/feature-module"
depends_on = ["common-lib"]

[[build-props]]
name = "DevSolution"
datatype = "boolean"
default = true

Usage Examples

# Build all projects in dependency order
pace dotnet build

# Build projects starting from a specific project
pace --from ProjectName dotnet build

# Check git status across every repo
pace git status

# Run all unit tests and show a summary
pace test

# Format and verify code style
pace format --check

License

MIT

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

pace_dotnet-0.1.6.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

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

pace_dotnet-0.1.6-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file pace_dotnet-0.1.6.tar.gz.

File metadata

  • Download URL: pace_dotnet-0.1.6.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pace_dotnet-0.1.6.tar.gz
Algorithm Hash digest
SHA256 214ba08550cd63a5b5e257872bfa980fa377b1e0285ec9a8067ea99b65601946
MD5 04e39e7439beddfce822c75509855cf2
BLAKE2b-256 3711b4559f2383f547c830aed120d3c188d0db1936da2ac604e3b8bb2f38f79b

See more details on using hashes here.

File details

Details for the file pace_dotnet-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pace_dotnet-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pace_dotnet-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f9d32b6a1e89dffb344ade0dd2669e00ab53aabcb5a1b5c9a627737c249cde9a
MD5 08c07d5e980a37b9557539c322c5632a
BLAKE2b-256 b3fed63d8b11ab7f1f7a61f304e7c696b99b43bb7732a0d9c38052e6ef2857d6

See more details on using hashes here.

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