Crates.io | angreal |
lib.rs | angreal |
version | 2.1.4 |
source | src |
created_at | 2023-01-15 02:48:30.469408 |
updated_at | 2024-04-11 11:27:52.66114 |
description | Angreal is a tool for templating projects and associated processes to provide a consistent developer experience across multiple projects. |
homepage | https://github.com/angreal/angreal |
repository | https://github.com/angreal/angreal |
max_upload_size | |
id | 759182 |
size | 6,527,789 |
pip
$: pip install 'angreal>=2' #pip install angreal will also work
$: angreal init https://github.com/angreal/python
Angreal is an attempt to solve two problems that I was running into in both my personal and professional life as a data scientist and software developer. I do things often enough that they needed automation, I don't do things so often that I remember all of the steps/commands I might need to get them done. Angreal solves this problem by allowing me to remember by forgetting : I only have to remember the command to do something not the actual steps to complete the task.
Angreal provides a way to template the structure of projects and a way of executing methods for interacting with that project in a consistent manner. These methods (called tasks) travel with the project so while templated initially, they're customizable to the project - allowing some level of flexibility in how a task functions between projects.
The original angreal was built on top of a number of python modules that were under active development and used by a number of other projects. The nature of the application itself meant that core application found itself in dependency hell regularly - and became rather annoying to use. The 2.0.0 release is a complete rewrite that uses Rust to provide a compiled binary with the goal that it will require no external python dependencies.