Release v0.1.3 (What’s new?).
Welcome to sanhe_confluence_sdk Documentation¶
sanhe_confluence_sdk is a Pythonic SDK for the Confluence REST API v2.
Features:
Everything is a Class: All requests and responses are represented as Python dataclasses with full type hints.
IDE Friendly: With complete type annotations, you get autocomplete and inline documentation in your IDE.
Access Raw Data: Every response object has a
.raw_dataattribute that gives you the original JSON dictionary if needed.Consistent Pattern: All API calls follow the same pattern - create a Request, call
.sync(client), get a Response.
Install¶
sanhe_confluence_sdk is released on PyPI, so all you need is to:
$ pip install sanhe-confluence-sdk
To upgrade to latest version:
$ pip install --upgrade sanhe-confluence-sdk
Quick Start¶
Create a Client:
from sanhe_confluence_sdk.api import Confluence
client = Confluence(
url="https://your-domain.atlassian.net",
username="your-email@example.com",
password="your-api-token", # https://id.atlassian.com/manage-profile/security/api-tokens
)
Basic Usage:
from sanhe_confluence_sdk.api import Confluence, m
client = Confluence(...)
# Create a request and execute it
request = m.GetSpacesRequest()
response = request.sync(client)
# Access typed results
for space in response.results:
print(f"Space: {space.name} (key={space.key})")
# Access raw JSON data
print(response.raw_data)
Pagination:
from sanhe_confluence_sdk.api import Confluence, paginate
from sanhe_confluence_sdk.methods.space.get_spaces import (
GetSpacesRequest,
GetSpacesResponse,
)
client = Confluence(...)
for response in paginate(
client=client,
request=GetSpacesRequest(),
response_type=GetSpacesResponse,
page_size=25,
max_items=100,
):
for space in response.results:
print(f"Space: {space.name}")
For more details, see the Full Documentation.