Hacker News new | past | comments | ask | show | jobs | submit login

Thank you for posting this! Happy to answer any questions anyone has :)



I just found about this project from this comment, absolutely excited to try this out.

As someone who's never used any of the infrastructure tools, I'm thinking of pyinfra as a way to run shell commands + install dependencies on hosts (declaratively?) on a bunch of hosts via ssh.

Inventory is to sort of take a self-defined inventory on a bunch of hosts?

One final question on usage, would it be possible to sync or reference files from the machine running pyinfra on the remote hosts? Or would that have to be done indirectly via running shell commands to sync?


Missed this comment apologies!

- ops are (mostly) declarative, but some (server.shell) will always execute the command given

- inventory is just that, basically a list of hosts to target plus associated data, docs page: https://docs.pyinfra.com/en/2.x/inventory-data.html

- absolutely for syncing files, check out the files.put and files.template operations (and the files ops in general): https://docs.pyinfra.com/en/2.x/operations/files.html


I’ve used several different IaC tools; Puppet, Ansible, Terraform and Polumi to name a few.

What would you say are key differentiators of PyInfra from these existing projects?


Both Terraform and Pulumi differ slightly I think provisioning cloud resources - pyinfra can be used alongside to setup instances/etc, I’ve used the pyinfra/Terraform combo with great success.

For ansible/chef, etc the main reasons/benefits boil down to:

- instant feedback esp on errors, get the stdout/stderr of whatever command pyinfra was executing, there’s no agent or abstraction to hide it

- configure in python rather than yaml+jinja2 mess

- integrate with the whole python package ecosystem

- speed and small overhead as inventories scale


Thank you for building it and sharing it!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: