py-dactyl
An easy to use Python wrapper for the Pterodactyl Panel API.
What it is and what it does
py-dactyl is a Python client library for the Pterodactyl Panel, a popular open-source game server management platform. It abstracts the HTTP API into Python objects and methods, letting you programmatically list servers, control power states, manage users, configure backups, and perform administrative tasks without writing raw HTTP requests. The library supports both synchronous (blocking) and asynchronous (event-loop-based) clients, with the async variant recommended for multi-user or high-concurrency scenarios.
The package wraps two distinct API scopes: the Client API (for end-user operations on their own servers) and the Application API (for administrative panel management). It handles authentication via API keys, request/response serialization, error handling, and includes support for optional API parameters and relationship includes that the Pterodactyl API provides. Recent releases (2.0 and 2.1) standardized parameter passing and added websocket support for real-time server events.
Use it for:
- Automate server startup, shutdown, and restart workflows for game hosting operations.
- Build a custom control panel or dashboard that queries server status and resource utilization.
- Programmatically create, configure, and delete game servers as part of a provisioning pipeline.
- Monitor multiple servers and trigger alerts or actions based on server state changes via websockets.
- Manage panel users, backups, and databases through administrative scripts or integrations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python wrapper for the Pterodactyl Panel API that provides synchronous and asynchronous clients to manage game servers, users, and infrastructure through the panel's Client and Application APIs.
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is well-suited for anyone building automation or integrations around Pterodactyl Panel. The recent 2.1 release and active repository (94 stars, last commit 4 days ago) indicate ongoing support. Verify that your Pterodactyl version and use case (sync vs. async) align with the documented API scope before integrating.
Install
py-dactyl on PyPI
pip
pip install py-dactyluv
uv add py-dactylpoetry
poetry add py-dactylInstalling py-dactyl
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release (4 days old) and no known vulnerabilities. Three runtime dependencies (aiohttp, requests, websocket-client) are all well-established libraries.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install py-dactyl
from pydactyl import PterodactylClient
api = PterodactylClient('https://panel.mydomain.com', 'ApiKey')
servers = api.client.servers.list_servers()
api.client.servers.send_power_action(servers[0]['attributes']['identifier'], 'start')
Requires a running Pterodactyl Panel instance and valid API credentials (Client or Application key) to authenticate.
Verify before relying
- Whether the async client is production-ready or still considered experimental despite the 2.1 release.
- Compatibility scope with Pterodactyl versions beyond 1.x and 2.0 (the description mentions 1.x and 2.0 but not later versions).
- Performance characteristics when managing large numbers of servers or concurrent operations.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.4) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — aiohttp, requests, websocket-client |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,538/month — #14,617 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: py_dactyl-2.1.3-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
arcadepyProvides a typed Python client library for the…
permissive · top 15,000 on PyPI
datadog-api-clientPython client library for the Datadog API,…
permissive · top 1,000 on PyPI
pyforked-daapdA Python client library for communicating with…
permissive · top 15,000 on PyPI
composio-clientA Python client library for the Composio REST…
permissive · top 5,000 on PyPI
WooCommerceA Python wrapper for the WooCommerce REST API…
permissive · top 15,000 on PyPI
scale-gp-betaPython client library for the Scale GP REST API…
permissive · top 15,000 on PyPI
vapi-server-sdkA Python SDK for the Vapi API, providing…
unclear · top 15,000 on PyPI
pyserial-asyncioAdds async/await support to pyserial for…
permissive · top 15,000 on PyPI
django-debug-toolbar-template-profilerAdds a debug panel to django-debug-toolbar that…
permissive · top 15,000 on PyPI
elkm1-libAsynchronous Python library for communicating…
permissive · top 15,000 on PyPI