netapp-ontap
A library for working with ONTAP's REST APIs simply in Python
What it is and what it does
netapp-ontap is a Python client library for the NetApp ONTAP REST API. It abstracts the HTTP layer and provides object-oriented resource classes (Volume, Snapshot, Svm, etc.) that map to ONTAP entities, along with built-in connection pooling, credential reuse, and automatic job polling for long-running operations. The library handles asynchronous requests transparently—POST, PATCH, and DELETE operations that take more than two seconds run as background jobs, with the client automatically polling until completion or timeout.
You use it by establishing a HostConnection to your ONTAP cluster, then creating and manipulating resource objects in Python. The library serializes your objects to REST calls, deserializes responses back into Python objects via marshmallow, and provides exception handling for HTTP errors. It's designed for automation scripts that provision volumes, manage snapshots, configure SVMs, and perform other ONTAP administration tasks programmatically.
Use it for:
- Automate volume provisioning and snapshot creation across multiple ONTAP clusters in a data center.
- Build infrastructure-as-code scripts that configure storage policies, SVM settings, and aggregates without manual CLI access.
- Integrate ONTAP storage management into CI/CD pipelines or orchestration platforms that need to provision storage on demand.
- Monitor and query ONTAP cluster state (volumes, snapshots, jobs) from Python monitoring or reporting applications.
- Develop custom backup or disaster-recovery workflows that create and manage snapshots programmatically.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python REST API client library for NetApp ONTAP systems that handles connection management, asynchronous request processing, and exception handling to automate ONTAP deployments.
Yes. The library is actively maintained, has no known vulnerabilities, uses permissive licensing, and offers low install friction. Install it if you need to automate NetApp ONTAP operations from Python. The main constraint is the Python 3.10+ requirement and the need for network access to an ONTAP management interface with valid credentials.
Install
netapp-ontap on PyPI
pip
pip install netapp-ontapuv
uv add netapp-ontappoetry
poetry add netapp-ontapInstalling netapp-ontap
Before you install
Low install friction with a pure-wheel distribution. Actively maintained with a release 2 days old. Requires Python 3.10 or later and specific minimum versions of requests (2.32.4+), requests-toolbelt (1.0.0+), marshmallow (3.21.3+), and apipkg (3.0.2+); urllib3 2.7.0+ and certifi 2024.8.30+ are recommended to avoid CVEs.
License in practice
Licensed under BSD (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install netapp-ontap
from netapp_ontap import config, HostConnection
from netapp_ontap.resources import Volume
config.CONNECTION = HostConnection('myhost.mycompany.com', 'username', 'password')
volume = Volume(name='vol1', svm={'name': 'vs1'}, aggregates=[{'name': 'aggr1'}])
volume.post()
Requires Python 3.10 or later and a reachable ONTAP management LIF with valid credentials.
Verify before relying
- Whether the library supports ONTAP versions beyond the current release cycle.
- Performance characteristics and throughput limits for concurrent operations.
- Whether SSL certificate verification can be safely disabled in production environments.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — marshmallow, requests, requests-toolbelt, urllib3, certifi, apipkg |
| Maintenance | actively maintained — 2 days since the last release |
| First released | |
| Downloads | 322,358/month — #7,613 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: netapp_ontap-9.19.1.0-py3-none-any.whl
Keywords: NetApp, ONTAP, REST, API, development
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
azure-mgmt-netappProvides a Python client library to manage…
permissive · top 5,000 on PyPI
launchdarkly-apiA Python client library for LaunchDarkly's REST…
permissive · top 15,000 on PyPI
curlify2Converts Python requests and httpx HTTP request…
permissive · top 15,000 on PyPI
python-certifi-win32Patches certifi at runtime to include…
permissive · top 15,000 on PyPI
ibm-cloud-sdk-coreProvides core authentication, HTTP request…
permissive · top 5,000 on PyPI
netconf-clientA NETCONF client library for Python that…
permissive · top 15,000 on PyPI
azure-appconfigurationProvides a Python client to create, retrieve,…
permissive · top 5,000 on PyPI
nc-py-apiPython client library for interacting with…
permissive · top 5,000 on PyPI
truststoreTruststore exposes native system certificate…
permissive · top 1,000 on PyPI
ncclientncclient is a Python library that implements…
permissive · top 5,000 on PyPI