Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PyCentral (Python SDK for HPE Aruba Networking Central)

⚠️ Pre-release Notice
This is a pre-release version of PyCentral-v2, and the features are constantly being updated as the APIs evolve. This version of the SDK allows you to make API calls to New Central, GLP, and Classic Central.
If you are looking for the stable version of PyCentral (v1), it is still available and fully supported. PyCentral-v1, which only supports Classic Central, can be found here.

A Python SDK for interacting with Central via REST APIs.
Automate onboarding, configuration, monitoring, and management for:

  • New Central
  • HPE GreenLake Platform (GLP)
  • Classic Central (via the classic module for backward compatibility)

Upgrading to this pre-release version will not break PyCentral-v1 code. All the PyCentral-v1 code has been moved to the classic folder within the PyCentral directory, ensuring backward compatibility. You can find Classic Central PyCentral Documentation here.


Install

To install the latest pre-release version of PyCentral, use the following command:

pip3 install --pre pycentral

If you already have PyCentral-v1 and would like to upgrade to the pre-release version, use the following command:

pip3 install --upgrade --pre pycentral

Authentication

Unified Credentials (New Central & GLP)

PyCentral supports a unified credential model that lets you use a single set of GLP client credentials to access both GLP and New Central APIs. Instead of providing separate glp and new_central credential blocks, you provide one unified block with your GLP client_id, client_secret, and workspace_id. The SDK generates one token through GLP auth and reuses it for both platforms.

To also make New Central API calls, include base_url or cluster_name in the unified block. If omitted, only GLP calls are enabled.

token_info = {
    "unified": {
        "client_id": "<glp-client-id>",
        "client_secret": "<glp-client-secret>",
        "workspace_id": "<workspace-id>",
        "cluster_name": "uswest4"  # or "base_url"; omit for GLP-only
    }
}

New Central

You will need:

  • Base URL or Cluster Name: Identifies your Central Account's API gateway. Both options function identically. Use whichever is convenient:
    • Base URL — URL for requests to your Central API Gateway. For instructions on how to locate your Base URL, see Finding Your Base URL in Central.
    • Cluster Name — Name of the cluster where your account is provisioned. A table detailing all cluster names can be found here.
  • Client ID and Client Secret: These credentials are required to generate an access token to authenticate API requests. You can obtain them by creating a Personal API Client for your New Central Account. Follow the detailed steps in the Create Client Credentials documentation.
new_central:
  base_url: <api-base-url>
  client_id: <client-id>
  client_secret: <client-secret>

HPE GreenLake Platform (GLP)

If you are working with HPE GreenLake APIs, authentication is slightly different:

  • GLP does not require a Base URL.
  • You only need the Client ID & Client Secret for the HPE GreenLake Platform.
glp:
  client_id: <client-id>
  client_secret: <client-secret>

Example

Before running the script, create a token.yaml file in the same directory and populate it with the required credentials as follows:

new_central:
  base_url: <api-base-url>
  client_id: <client-id>
  client_secret: <client-secret>
glp:
  client_id: <client-id>
  client_secret: <client-secret>

Once you have the token.yaml file ready, you can run the following Python script:

import os
from pycentral import NewCentralBase

# Validate token file exists
token_file = "token.yaml"
if not os.path.exists(token_file):
    raise FileNotFoundError(
        f"Token file '{token_file}' not found. Please provide a valid token file."
    )

# Initialize NewCentralBase class with the token credentials for New Central/GLP
with NewCentralBase(token_info=token_file) as conn:
   
    # Make the API call to retrieve device inventory
    resp = conn.command(
        api_method="GET",
        api_path="network-monitoring/v1/device-inventory"
    )
    
    # If the response code is 200, print the device inventory response; otherwise, print the error code and message
    if resp["code"] == 200:
        print(resp["msg"])
    else:
        print(f"Error {resp['code']}: {resp['msg']}")

Run the script using the following command:

python3 demo.py

Compatibility

  • v2 supports New Central and GLP.
  • Classic Central (v1) remains in the classic module for backward compatibility.
  • Existing v1 code will continue to work without changes.

Documentation


Classic Central

The Classic Central functionality is still fully supported by the SDK and has been moved to a dedicated documentation page. For information on using the SDK with Classic Central, including authentication methods, API calls, and workflow examples, please see the Classic Central Documentation.

Documentation

Use-Cases and Workflows

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycentral-2.0a24.tar.gz (153.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycentral-2.0a24-py3-none-any.whl (195.8 kB view details)

Uploaded Python 3

File details

Details for the file pycentral-2.0a24.tar.gz.

File metadata

  • Download URL: pycentral-2.0a24.tar.gz
  • Upload date:
  • Size: 153.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycentral-2.0a24.tar.gz
Algorithm Hash digest
SHA256 0a7b4f7b16b7d0c92b2f516f19057a5b8c37870a4f6d3f388493b8dd5de79512
MD5 d48d5ccbaf4c37e95a608f2d3bb7ca76
BLAKE2b-256 04e91d8bb4c506e6715bd897f2a78417b34df3a3baed6bce6a374ac28a3592f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycentral-2.0a24.tar.gz:

Publisher: release.yaml on aruba/pycentral

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pycentral-2.0a24-py3-none-any.whl.

File metadata

  • Download URL: pycentral-2.0a24-py3-none-any.whl
  • Upload date:
  • Size: 195.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycentral-2.0a24-py3-none-any.whl
Algorithm Hash digest
SHA256 e6ca18f357b0e61563fb24368483b874bc822527cb74205aa0671c5ecc973245
MD5 1198f1a8a006c503455bbae45970e27d
BLAKE2b-256 888b86e5bf15f11e0995640791b518e8c296dc7a836f9e2b44fd3bea5a16b74a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycentral-2.0a24-py3-none-any.whl:

Publisher: release.yaml on aruba/pycentral

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.0a24 This release

2 files

1.4.3

2 files

1.4.1

2 files

1.4

2 files

1.3

2 files

1.2.1

2 files

1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page