Hacker News new | ask | show | jobs
by dikei 961 days ago
Remind me of

* Fabric: https://www.fabfile.org/

* Invoke: https://www.pyinvoke.org/faq.html

2 comments

RIP fabric. Makes me sad how fabric v2 jumped the complexity shark.

v1 was so much more simple and elegant.

Apparently, Fabric v1 is replaced by Invoke now.
I looked at pyinvoke before I started jeeves. Roughly, as much as I can recall, there were a few reservations:

- no type hints for docs & validation, I wanted them

- Makefile in its basic form is very concise and doesn't require a @task decorator, I didn't want it either

I didn't need dependency graph much.

> I didn't need dependency graph much.

So you made a Make alternative that isn't a Make alternative because you never needed Make in the first place?

There are a lot of projects, both commercial and OSS, which have a Makefile for linting, version releases, etc, — and never use its dependency graph feature; or, their usage is so superficial that implementing it, say,

- via direct function calls in Python code,

- or using Typer callback functions

…is easy.

There are potential approaches worth exploring (annotations, decorators, …). I might come up with a list of options with syntax examples and ask for community's thoughts about it, — but at this point jeeves, as an MVP, is already useful for me and a few people I work with, and that motivated me to share it with the community.

The whole purpose of make is the dependency graph.