ansible-core
Radically simple IT automation
What it is and what it does
Ansible Core is the foundational automation engine that lets you manage infrastructure, deploy applications, and orchestrate complex tasks across many machines without installing agents or opening custom ports. It works by connecting over SSH to existing systems and executing tasks defined in human-readable YAML playbooks. The core package provides the runtime, module system, and orchestration logic; it depends on Jinja2 for templating, PyYAML for configuration parsing, cryptography for secure communication, packaging for version handling, and resolvelib for dependency resolution.
You describe your infrastructure and desired state in playbooks, then Ansible reads them, connects to your machines via SSH, and applies changes in parallel. It handles everything from simple one-off commands to complex multi-stage deployments with load-balancer coordination. The design emphasizes simplicity—minimal setup, no bootstrapping required on target machines, and the ability to run as a non-root user—making it accessible to both operators and developers.
Use it for:
- Deploy applications across multiple servers with zero-downtime rolling updates and load-balancer coordination.
- Provision and configure cloud infrastructure (instances, networks, storage) across AWS, Azure, GCP, or on-premises.
- Execute ad-hoc commands or scripts on many machines in parallel for troubleshooting, patching, or inventory discovery.
- Manage network device configurations (switches, routers, firewalls) via standard network modules.
- Automate repetitive system administration tasks like user provisioning, package updates, and service restarts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Ansible Core is the engine for agentless IT automation, handling configuration management, application deployment, cloud provisioning, and multi-node orchestration via SSH without requiring agents or custom ports.
Yes. Ansible Core is actively maintained (release 4 days old), production-stable, widely used (top 5000 PyPI packages), and has no known vulnerabilities. Low install friction and copyleft licensing are straightforward trade-offs. Install if you need agentless infrastructure automation; the GPL-3.0-or-later license is a non-issue for operational use but matters if you plan to redistribute modified versions.
Install
ansible-core on PyPI
pip
pip install ansible-coreuv
uv add ansible-corepoetry
poetry add ansible-coreInstalling ansible-core
Before you install
Low friction: ships as a single wheel with five runtime dependencies (jinja2, PyYAML, cryptography, packaging, resolvelib). Active maintenance—last commit 2026-08-11, release 4 days old—and production-stable status (Development Status :: 5) support reliability.
License in practice
GPL-3.0-or-later (copyleft): you may use and modify Ansible Core freely, but any derivative work you distribute must also be licensed under GPL v3.0 or later. This is a strong copyleft obligation; proprietary closed-source derivatives are not permitted.
Quickstart
pip install ansible-core==2.21.3
import ansible.constants as C
from ansible.parsing.dataloader import DataLoader
from ansible.inventory.manager import InventoryManager
loader = DataLoader()
inventory = InventoryManager(loader=loader, sources='localhost,')
Requires Python >= 3.12; SSH daemon must be available on target machines (agentless model relies on existing SSH).
Verify before relying
- Whether the package includes all standard modules or if additional collections must be installed separately.
- Performance characteristics when managing very large inventories or complex playbooks.
- Specific Windows support status given the POSIX classifier and SSH-centric design.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — jinja2, PyYAML, cryptography, packaging, resolvelib |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 19,538,017/month — #1,063 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ansible_core-2.21.3-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
ansibleAnsible is an IT automation system that handles…
copyleft · top 5,000 on PyPI
ansible-baseAnsible-base is the core automation engine for…
copyleft · top 15,000 on PyPI
ansible-navigatoransible-navigator is a text-based user…
permissive · top 15,000 on PyPI
awxkitawxkit is the official command-line interface…
permissive · top 15,000 on PyPI
superset-showtimeA CLI tool that manages ephemeral Apache…
permissive · top 15,000 on PyPI
ansible-compatProvides compatibility utilities for working…
permissive · top 5,000 on PyPI
ansible-runnerAnsible Runner provides a Python library and…
permissive · top 5,000 on PyPI
ansible-builderAnsible Builder automates the creation of…
permissive · top 15,000 on PyPI
ansible-creatorA CLI tool that scaffolds new Ansible projects…
permissive · top 15,000 on PyPI
moleculeMolecule is an Ansible testing framework for…
permissive · top 5,000 on PyPI