# PowerShell DSC vs pyinfra

**Leader by Vioscale score:** pyinfra

| Attribute | PowerShell DSC | pyinfra |
|---|---|---|
| **Vioscale score** | 40.3 (35% (low)) | 57.7 (69% (medium)) |
| activity.commits_last_30d | 1 | 13 |
| adoption.dependent_repos | - | 22 |
| adoption.github_stars | 57 | 5,965 |
| deployment.options | - | `{"self_hosted":true}` |
| description.long | A declarative configuration platform where you describe desired system state in JSON or YAML, then validate and enforce it across machines. Resources handle the actual configuration work and can be written in any language. | An infrastructure automation tool written in Python that runs commands over SSH on multiple servers concurrently and idempotently, without needing agents or configuration files. |
| features.capabilities | `{"model":"push","language":"JSON, YAML","idempotent":true,"architecture":"agentless","desired_state":true,"windows_support":true,"open_source_core":true,"policy_compliance":true}` | `{"model":"push","hosting":"self","language":"Python","idempotent":true,"architecture":"agentless","desired_state":true,"masterless_mode":true,"open_source_core":true}` |
| language.primary | PowerShell | Python |
| license.spdx | CC-BY-4.0 | MIT |
| platform.support | `{"cli":true,"mac":true,"linux":true,"windows":true}` | `{"cli":true}` |
| pricing | - | `{"type":"open_source","freeTier":true,"sourceUrl":"https://pyinfra.com/","retrievedAt":"2026-08-13T22:42:42.751Z"}` |
| pricing.free_tier | - | yes |
| pricing.model | commercial | commercial |
| pricing.price_level | - | free |
| pricing.transparent | - | yes |
| release.cadence_days | - | 34 |
| release.history | - | `[{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.10.0","date":"2026-07-27T19:51:14Z","type":"stable","version":"v3.10.0"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.9.2","date":"2026-06-07T21:05:58Z","type":"stable","version":"v3.9.2"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.9.1","date":"2026-06-07T20:33:25Z","type":"stable","version":"v3.9.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.9.0","date":"2026-06-07T20:24:16Z","type":"stable","version":"v3.9.0"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.8.0","date":"2026-05-04T12:28:22Z","type":"stable","version":"v3.8.0"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.7","date":"2026-03-12T10:55:41Z","type":"stable","version":"v3.7"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.6.1","date":"2026-02-02T13:47:28Z","type":"stable","version":"v3.6.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.6","date":"2026-01-05T09:58:18Z","type":"stable","version":"v3.6"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.5.1","date":"2025-10-01T16:11:23Z","type":"stable","version":"v3.5.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.5","date":"2025-09-03T10:26:55Z","type":"stable","version":"v3.5"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.4.1","date":"2025-07-14T20:32:01Z","type":"stable","version":"v3.4.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.4","date":"2025-07-09T14:17:56Z","type":"stable","version":"v3.4"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.3.1","date":"2025-04-29T10:58:25Z","type":"stable","version":"v3.3.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.3","date":"2025-04-28T10:55:47Z","type":"stable","version":"v3.3"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.2","date":"2025-01-09T21:33:50Z","type":"stable","version":"v3.2"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.1.1","date":"2024-09-25T21:41:26Z","type":"stable","version":"v3.1.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.1","date":"2024-08-18T12:55:59Z","type":"stable","version":"v3.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.0.2","date":"2024-07-24T19:43:03Z","type":"stable","version":"v3.0.2"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.0.1","date":"2024-07-21T18:34:46Z","type":"stable","version":"v3.0.1"},{"url":"https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.0","date":"2024-07-15T06:16:50Z","type":"stable","version":"v3.0"}]` |
| reliability.status_page | yes | yes |
| security.vulnerabilities | - | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=pyinfra&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Configuration Management Tools)

| Capability | PowerShell DSC | pyinfra |
|---|:--:|:--:|
| **Core** |  |  |
| Architecture | Agentless / SSH-push | Agentless / SSH-push |
| Push / pull model | Push | Push |
| Config language | JSON, YAML | Python |
| **Deployment** |  |  |
| Masterless mode | - | ✓ |
| Hosting | - | Self-hosted only |
| **Correctness** |  |  |
| Idempotent | ✓ | ✓ |
| **Model** |  |  |
| Desired-state declarative | ✓ | ✓ |
| **Ecosystem** |  |  |
| Content registry | - | - |
| **Platform** |  |  |
| Windows support | ✓ | - |
| **Scope** |  |  |
| Cloud provisioning | - | - |
| **Governance** |  |  |
| Policy / compliance | ✓ | - |
| **Commercial** |  |  |
| Enterprise edition | - | - |
| **Licensing** |  |  |
| Open-source core | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T16:42:15.795Z. "-" = undocumented, not absent.*
