18 stable releases
2.1.5 | Nov 27, 2024 |
---|---|
2.1.4 | Apr 11, 2024 |
2.1.3 | Feb 15, 2024 |
2.1.2 | Nov 22, 2023 |
2.0.0 | Jan 26, 2023 |
#115 in Template engine
561 downloads per month
3.5MB
2.5K
SLoC
Contains (WOFF font, 150KB) fa-solid-900.woff2, (WOFF font, 88KB) fa-brands-400.woff, (WOFF font, 110KB) fa-brands-400.woff2, (WOFF font, 105KB) fa-solid-900.woff, (WOFF font, 39KB) Inconsolata.woff, (WOFF font, 25KB) Novecentosanswide-Normal-webfont.woff and 11 more.
Angreal
Angreal is meant to:
- allow the consistent creation of projects
- provide consistent methods for interacting with projects
Quick Start
- Install via
pip
- Initialize a project from a template
- Use the template
$: pip install 'angreal' #pip install angreal will also work
$: angreal init https://github.com/angreal/python
What is it?
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.
How does it solve these challenges ?
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.
Why 2.0 ?
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.
Dependencies
~32–52MB
~1M SLoC