Make it so.
Project description
“Make it so.” – Captain Jean-Luc Picard
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.
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
Built Distribution
File details
Details for the file picard.py-0.1.3.tar.gz
.
File metadata
- Download URL: picard.py-0.1.3.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.10 CPython/3.6.7 Linux/4.15.0-42-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0fe6570860ca466e403fbeef2e7ea4de542036a4c25d32c34db7e700a6abd5b |
|
MD5 | 798f3b661967f5c0fa239ee4e78a00bc |
|
BLAKE2b-256 | 393d38d5273f8bfb94c9bf84b518ac597d480cbf3fd05d6c4b75b040f81e7d8d |
File details
Details for the file picard.py-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: picard.py-0.1.3-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.10 CPython/3.6.7 Linux/4.15.0-42-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40af2ea2d9241509726311b4294653f4ea69a6e50c9553f9c3b27768c925cd5f |
|
MD5 | f18014a78a2633d505a14cbf2c728837 |
|
BLAKE2b-256 | 200f6d005d53bb6a561939d670316fe4ab05b52164d6def29bf0fc0d4c0ee08f |