Skip to main content

Cloud AutoPkg Runner

A Python library designed to level-up your AutoPkg automations with a focus on CI/CD performance.

License PyPI Version PyPI Downloads CodeCov

AutoPkgRunner

Description

Cloud AutoPkg Runner is a Python library designed to provide tools and utilities for managing AutoPkg recipes and workflows concurrently. It streamlines AutoPkg automation in CI/CD pipelines, offering enhanced performance and scalability.

The main goal of this project is to streamline CI/CD pipelines and similar environments where AutoPkg is run ephemerally. In these environments, a file that was downloaded previously, is usually not available on the next run. This causes unnecessary downloads of the same content over and over. The metadata cache feature stores relevent file attributes from each downloaded file so that it can construct fake files on subsequent runs. Not only does this feature reduce the amount of downloaded material, it significantly decreases runtime.

As the name implies, Cloud AutoPkg Runner is designed to make integration in cloud environments like hosted runners seamless, but you don't need to be running in the cloud. You can just as easily run a LaunchDaemon on a Mac Mini that sits in a closet. It is versatile enough that you can run as a CLI or as a Python library import, whatever fits your workflow.

:memo: Note: Example workflows will be showcased in cloud-autopkg-runner-examples but this is currently a Work in Progress.

Features

  • Concurrent Recipe Processing: Run AutoPkg recipes concurrently for faster execution.
  • Metadata Caching: Improves efficiency by caching metadata from downloads and reducing redundant subsequent downloading of the same file.
  • Robust Error Handling: Comprehensive exception handling and logging for reliable automation.
  • Flexible Configuration: Easily configure the library using command-line arguments.
  • Cloud-Friendly: Designed for seamless integration with CI/CD systems, even on hosted runners.

Installation

Installation instructions are found on the Installation page of the Wiki.

Usage

See the Wiki for usage information and more!

Contributing

Contributions are welcome! Please refer to the CONTRIBUTING.md file for guidelines.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Download files

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

Source Distribution

cloud_autopkg_runner-0.28.0.tar.gz (683.1 kB view details)

Uploaded Source

Built Distribution

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

cloud_autopkg_runner-0.28.0-py3-none-any.whl (76.7 kB view details)

Uploaded Python 3

File details

Details for the file cloud_autopkg_runner-0.28.0.tar.gz.

File metadata

  • Download URL: cloud_autopkg_runner-0.28.0.tar.gz
  • Upload date:
  • Size: 683.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cloud_autopkg_runner-0.28.0.tar.gz
Algorithm Hash digest
SHA256 d10978ee8cb7726ee7d2589395d80667625d0d1a7bf220135aa075d5ca06992c
MD5 b357a710ed1f8ebcc54f8b0bc9def9d8
BLAKE2b-256 67045bc749f2baedf5b704693bc252e746736e8bb5a4961de3da060ee1162cd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloud_autopkg_runner-0.28.0.tar.gz:

Publisher: publish_pypi.yml on MScottBlake/cloud-autopkg-runner

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

File details

Details for the file cloud_autopkg_runner-0.28.0-py3-none-any.whl.

File metadata

  • Download URL: cloud_autopkg_runner-0.28.0-py3-none-any.whl
  • Upload date:
  • Size: 76.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cloud_autopkg_runner-0.28.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df86d49e5814efbdeab4190159930ddc3a2200fc077a756ac4e99395098cd749
MD5 2cbbeecb42662486529f431c4766dadb
BLAKE2b-256 1d1b2932d90e8fc893b80a9ebc99b9506439d39309c109552aed0b501862bf2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloud_autopkg_runner-0.28.0-py3-none-any.whl:

Publisher: publish_pypi.yml on MScottBlake/cloud-autopkg-runner

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

Release history Release notifications | RSS feed

This release

0.28.0 This release

2 files

0.27.0

2 files

0.26.0

2 files

0.25.1

2 files

0.24.15

2 files

0.24.13

2 files

0.24.8

2 files

0.24.4

2 files

0.24.3

2 files

0.23.0

2 files

0.22.1

2 files

0.21.3

2 files

0.20.21

2 files

0.20.17

2 files

0.20.5

2 files

0.19.7

2 files

0.19.3

2 files

0.19.1

2 files

0.18.1

2 files

0.18.0

2 files

0.16.1

2 files

0.16.0

2 files

0.15.5

2 files

0.15.1

2 files

0.14.12

2 files

0.14.10

2 files

0.14.9

2 files

0.14.1

2 files

0.13.4

2 files

0.13.3

2 files

0.13.1

2 files

0.12.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.3

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.6.0

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.0

2 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