Download Latest Version v3.8.0 source code.tar.gz (590.5 kB)
Email in envelope

Get an email when there's a new version of pyinfra

Home / v3.5.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-10-01 1.4 kB
v3.5.1 source code.tar.gz 2025-10-01 471.7 kB
v3.5.1 source code.zip 2025-10-01 1.0 MB
Totals: 3 Items   1.5 MB 0

Patch release with a bunch of great fixes. But notably want to call out two major changes for anyone working on the pyinfra code itself (huge thank you Daan for implementing these):

  • feat: use ruff for linting and formatting (@DonDebonair)
  • feat: use uv for project and dependency management (@DonDebonair)

Core fixes:

  • api: correctly set context state+host when calling get_facts
  • cli: catch exceptions when testing inventory/operation imports
  • cli: fix/remove datetime timezone warnings (@wowi42)
  • operations/files.block: correct behaviour when markers/block not found and no line provided (@morrison12)
  • operations.util.packaging: extend PkgInfo for winget (@rod7760)
  • facts/server: support negative value in sysctl (@imlonghao)

Docs:

  • docs: fix dynamic execution example (@wowi42)
  • docs: Specify how the recursive argument to directory() works (@cliffmccarthy)
  • docs: change recommended installation methods (@DonDebonair)
  • docs: update writing connectors

Tests:

  • op.server.user tests: add exists_noop.json for user existence checks (fix warning) (@maisim)
  • op.server.user tests: add noop_description (fix warning) (@maisim)
  • fix: add missing command field in test (@maisim)
  • tests: clear the host sftp memoization cache before setting up the mock (@wowi42)
  • tests: export testgen class to a new package/repo
  • tests: fix missing stage sets on state
Source: README.md, updated 2025-10-01