Skip to main content

picard

“Make it so.” – Captain Jean-Luc Picard

Build status Documentation status Latest PyPI version Python versions supported

The idea of Ansible with the execution of Make.

With Picard, you define a set of targets, each with a recipe that leaves it in a desired state, e.g. a compiled executable or a running service. Targets may depend on each other, e.g. “this executable depends on that source file” or “this service depends on that host”, in a directed acyclic graph. Like Make, Picard executes the recipes for targets in dependency order.

Like Ansible, Picard comes with many sophisticated recipes out-of-the-box that behave like rsync: they find the differences between a target’s present state and its goal state, and execute just the changes necessary to transition from the first to the second.

Make is limited to considering targets on the local filesystem, while Ansible can consider more general targets and states, e.g. the existence and configuration of remote machines. Ansible’s input is a rigid declarative template (based on Jinja), while Make’s input is an executable script that builds the abstract definitions of the targets and gets to leverage functions and variables. Picard tries to combine the best of both worlds in pure Python.

Help

Please see the documentation on Read the Docs.

If you have any questions, please ask me in the issues, by email, over Twitter, or however you want to reach me. I’ll be happy to help you, because it will help me make this documentation better for the next reader.

Metadata

Release files for picard.py 0.1.3

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

Source distribution (sdist)

Source distribution for picard.py 0.1.3
File Size Uploaded Provenance
picard.py-0.1.3.tar.gz 12.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for picard.py 0.1.3
File Interpreter ABI Platform
picard.py-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 44.0 kB

Release files / picard.py-0.1.3.tar.gz

Download URL picard.py-0.1.3.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a0fe6570860ca466e403fbeef2e7ea4de542036a4c25d32c34db7e700a6abd5b
BLAKE2b-256 checksum
How to use checksums
393d38d5273f8bfb94c9bf84b518ac597d480cbf3fd05d6c4b75b040f81e7d8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.10 CPython/3.6.7 Linux/4.15.0-42-generic

Release files / picard.py-0.1.3-py3-none-any.whl

Download URL picard.py-0.1.3-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40af2ea2d9241509726311b4294653f4ea69a6e50c9553f9c3b27768c925cd5f
BLAKE2b-256 checksum
How to use checksums
200f6d005d53bb6a561939d670316fe4ab05b52164d6def29bf0fc0d4c0ee08f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.10 CPython/3.6.7 Linux/4.15.0-42-generic

Security for picard.py 0.1.3

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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