Skip to main content

Atlassian Async Client

A modern, async Python client for Atlassian products (Jira and Confluence) with comprehensive API coverage, type safety, and Pydantic models.

✨ Features

  • 🚀 Full Async Support: Built with httpx for modern async/await operations
  • 🔒 Type Safety: Complete type hints and mypy strict mode compliance
  • 📦 Modern Packaging: Uses pyproject.toml and modern Python packaging standards
  • 🏗️ Pydantic Models: Robust data validation and serialization
  • 🔍 Comprehensive Coverage: Support for both Jira and Confluence APIs
  • ☁️ Flexible Authentication: Supports both Cloud and Server/Data Center deployments
  • 🔄 Content Processing: Built-in preprocessing for Jira and Confluence content
  • 📝 Rich Text Support: Markdown to Confluence conversion utilities

🛠️ Installation

# Using pip
pip install atlassian-async-client

# Using uv (recommended)
uv pip install atlassian-async-client

For development:

uv pip install -e ".[dev]"

🚀 Quick Start

Basic Usage

import asyncio
from atlassian_client import AtlassianClient

async def main():
    async with AtlassianClient(
        base_url="https://your-domain.atlassian.net",
        username="your-email@example.com",
        api_token="your-api-token"
    ) as client:
        # Your API calls here
        pass

if __name__ == "__main__":
    asyncio.run(main())

Environment Configuration

Set up your environment variables:

# For Cloud deployment
export JIRA_URL="https://your-domain.atlassian.net"
export JIRA_USERNAME="your-email@example.com"
export JIRA_API_TOKEN="your-api-token"

# For Server/Data Center
export JIRA_URL="https://jira.your-company.com"
export JIRA_PERSONAL_TOKEN="your-personal-access-token"

Similar configuration for Confluence:

export CONFLUENCE_URL="https://your-domain.atlassian.net"
export CONFLUENCE_USERNAME="your-email@example.com"
export CONFLUENCE_API_TOKEN="your-api-token"

📚 Documentation

Jira Client

from atlassian_client import JiraClient
from atlassian_client.models.jira import JiraIssue

async with JiraClient() as jira:
    # Create issue
    issue = await jira.create_issue(
        project_key="PROJ",
        summary="Test Issue",
        description="Description"
    )

Confluence Client

from atlassian_client import ConfluenceClient
from atlassian_client.models.confluence import ConfluencePage

async with ConfluenceClient() as confluence:
    # Create page
    page = await confluence.create_page(
        space_key="SPACE",
        title="Page Title",
        body="Content"
    )

🧪 Development

  1. Clone the repository:
git clone https://github.com/khanhct/atlassian-async-client.git
cd atlassian-async-client
  1. Create virtual environment and install dependencies:
uv venv
uv pip install -e ".[dev]"
  1. Run tests:
pytest
  1. Code quality:
# Format code
black .
isort .

# Type checking
mypy .

# Linting
ruff .

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Metadata

Release files for atlassian-client 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atlassian-client 0.1.6
File Size Uploaded
atlassian_client-0.1.6.tar.gz 167.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for atlassian-client 0.1.6
File Interpreter ABI Platform
atlassian_client-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 244.7 kB

Release files / atlassian_client-0.1.6.tar.gz

Download URL atlassian_client-0.1.6.tar.gz
Size 167.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0bf1e0292b16aa09712ffbc19905eb2923a190a6b66b368273114816d63a9178
BLAKE2b-256 checksum
How to use checksums
43366da45e375954dfd974a19753901312b329d1844cc68f7f8aa7da64062858
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.8

Release files / atlassian_client-0.1.6-py3-none-any.whl

Download URL atlassian_client-0.1.6-py3-none-any.whl
Size 76.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cba20057ab28eaefca753b7d28879a1ee1a0c27b2ba8c29db533d9d0fdbf830c
BLAKE2b-256 checksum
How to use checksums
1f6329d1d7722df6626f5b81cfeeed2b7493d3e27fc9e6ee904d4e9ca3e9a37e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.8

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page