Release v0.1.3 (What’s new?).

Documentation Status https://github.com/MacHu-GWU/sanhe_confluence_sdk-project/actions/workflows/main.yml/badge.svg https://codecov.io/gh/MacHu-GWU/sanhe_confluence_sdk-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/sanhe-confluence-sdk.svg https://img.shields.io/pypi/l/sanhe-confluence-sdk.svg https://img.shields.io/pypi/pyversions/sanhe-confluence-sdk.svg https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to sanhe_confluence_sdk Documentation

https://sanhe-confluence-sdk.readthedocs.io/en/latest/_static/sanhe_confluence_sdk-logo.png

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_data attribute 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.

Table of Content

About the Author

(\ (\
( -.-)o
o_(")(")

Sanhe Hu is a seasoned software engineer with a deep passion for Python development since 2010. As an author and maintainer of 150+ open-source Python projects, with over 15 million monthly downloads, I bring a wealth of experience to the table. As a Senior Solution Architect and Subject Matter Expert in AI, Data, Amazon Web Services, Cloud Engineering, DevOps, I thrive on helping clients with platform design, enterprise architecture, and strategic roadmaps.

Talk is cheap, show me the code:

API Document