Skip to main content

Python API Client for CCC

Project description

ccc_client

This package provides a simple, modular SDK for the CCC REST API.

Features

  • Automatically handles authentication and renewal
  • Graceful error management
  • Logically organized modules
  • Easily maintained

Installation

Requirements:

  • Python 3.8 or higher
  • Required packages: requests>=2.26.0, jsonschema>=4.23.0

Install using pip:

pip install cccAPI 

Install from source:

git clone https://github.hpe.com/hpe/cccAPI.git
cd cccAPI
pip install -e .

Quick Start

Initialize the Client

import json
from cccAPI import cccAPIClient
client = cccAPIClient("https://localhost:8000/cmu/v1", "root", "your-password")

Example Usage

Get Nodes

nodes = client.nodes.show_nodes()
print(json.dumps(nodes, indent=4))

Get specific Node

#Specific node named Node1
node = client.nodes.show_node("Node1")
print(json.dumps(node, indent=4))

Get specific Node/fields

  • Allowed fields are:
query_params = {"fields": "name,id,uuid,network.name,network.ipAddress,network.macAddress"}
specific_nodes=client.nodes.show_nodes(query_params)
print(json.dumps(specific_nodes, indent=4))

See examples/test.py for other test cases as implemented

API Modules

Module Description User Guide Section
nodes Node Operations: Create/Delete/Update/List Nodes, Add/Remove nodes in groups, Manage node features Section 4.5
image_groups Image Group Operations Section 4.3
network_groups Network Group Operations Section 4.4
custom_groups Custom Group Operations Section 4.2
resource_features Resource Features Management Section 4.8
image_capture_deployment Image Capture and Deployment Operations Section 4.9
power_operation Power Operations Management Section 4.10
application Application Entrypoints and Settings Section 4.1
architecture Architecture Management Section 4.11
management_cards Network Devices, Interfaces, and Routes Management Section 4.12
tasks Tasks Operations Section 4.7
conn Sessions Operations Section 4.6

Building and Publishing

Local Development

There are several ways to install the package for local development:

  1. Direct pip install:
pip install .
  1. Using pip-tools (recommended for development):
pip install pip-tools
pip-compile pyproject.toml  # Produces requirements.txt
pip install -r requirements.txt
  1. Using uv (faster installation):
curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install -e . --system
  1. Building distribution packages:
pip install build
python -m build  # Creates dist/ with tar.gz and .whl

Publishing to PyPI

  1. Ensure you have the required tools:
pip install setuptools wheel twine
  1. Build the distribution:
python -m build
# Or alternatively:
# python3 setup.py sdist bdist_wheel
  1. Upload to PyPI (requires ~/.pypirc with PyPI token):
twine upload dist/*

You can verify the installation by downloading the published package:

pip install cccAPI=={version}  # Replace {version} with desired version

License

This project is license under the MIT license.

Project details


Download files

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

Source Distribution

cccapi-0.0.13.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

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

cccapi-0.0.13-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file cccapi-0.0.13.tar.gz.

File metadata

  • Download URL: cccapi-0.0.13.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for cccapi-0.0.13.tar.gz
Algorithm Hash digest
SHA256 928a08e2912c3a44fd4e96ebb03e5e0ae89821ce4aa088516e7bd14b65b9a084
MD5 3d18f1cdf37f58142f0d8dee7eba65eb
BLAKE2b-256 070883794ff20a06a33bc5723091d3a98ad57fb4bc3025b548613c7584b508ba

See more details on using hashes here.

File details

Details for the file cccapi-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: cccapi-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for cccapi-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 308fb1fcb2e73a7f2978a64116c088c338a5351b6ec14edc3b54ef9e2cb6f684
MD5 5ee5a1f85d6b60e06e9b4796639bf0d9
BLAKE2b-256 44f65ba624911f3bf506be9824769eae8dc57602458d93c23772d5da3b7f8588

See more details on using hashes here.

Supported by

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