RUCKUS One Python SDK

[Type]: Network SDK
[Language]: Python

> Overview

A Python SDK for the RUCKUS One network management platform, providing a Pythonic interface to manage enterprise wireless and wired infrastructure at scale. The SDK currently implements 13 modules covering 138 endpoints across 1,491 total API operations — roughly 9% of the massive RUCKUS One API surface.

Each implemented module goes deep: full CRUD operations, pagination handling, proper error hierarchies, and OAuth2 token lifecycle management. The modular architecture makes it straightforward to add coverage for additional API domains as needed.

Key Design: Modular architecture with intelligent OAuth2 token management, automatic retry logic, and a structured error hierarchy makes this SDK production-ready for enterprise deployments managing thousands of access points and switches.

> Module Coverage

Module Coverage Description
CLI Templates 10/10 (100%) ICX switch CLI template management
Switch Profiles 10/10 (100%) Switch configuration profiles
DPSK Passphrases 12/14 (86%) Dynamic Pre-Shared Key management
Identity Groups 9/11 (82%) Identity group management
Identities 11/15 (73%) Identity management
Venues 5/7 (71%) Venue and site management
VLAN Pools 10/17 (59%) VLAN pool configuration
WiFi Networks 12/24 (50%) Wireless network configuration
L3 ACL Policies 5/10 (50%) Layer 3 access control policies
DPSK Services 5/11 (45%) DPSK service configuration
RADIUS Server Profiles 4/12 (33%) RADIUS server profile management
Switches 6/20 (30%) Switch inventory and management
Certificate Templates 3/21 (14%) Certificate template management
APs 15/106 (14%) Access point operations

> Key Features

OAuth2 Authentication

Automatic token management with refresh, credential handling via config file or environment variables

Pythonic Interface

Clean, intuitive API design following Python best practices and conventions

Structured Errors

R1Error hierarchy: AuthenticationError, ResourceNotFoundError, ValidationError, RateLimitError, ServerError, APIError

Modular Architecture

Each API domain is a self-contained module — easy to extend coverage to new endpoints

> Quick Start

# Install from PyPI
pip install neuralconfig-r1-sdk

# Configure via config.ini or environment variables
# (client_id, client_secret, tenant_id, region)

from r1_sdk import R1Client

# From config file
client = R1Client.from_config()

# Or from environment variables
client = R1Client.from_env()

# Use the SDK
venues = client.venues.list()
aps = client.aps.list(venue_id="...")

Production-Ready SDK

Built for enterprise network automation — structured error handling, automatic token refresh, and pagination support across all modules. Designed to integrate into larger automation frameworks or standalone network management applications.

> Technology Stack

Python 3.8+
OAuth2
REST API
PyPI

> Error Handling

from r1_sdk.exceptions import (
    R1Error,
    AuthenticationError,
    ResourceNotFoundError,
    ValidationError,
    RateLimitError,
    ServerError,
    APIError
)

try:
    venue = client.venues.get("invalid-id")
except ResourceNotFoundError:
    print("Venue not found")
except RateLimitError as e:
    print(f"Rate limited, retry after {e.retry_after}s")
except R1Error as e:
    print(f"API error: {e}")