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
httpxfor modern async/await operations - 🔒 Type Safety: Complete type hints and mypy strict mode compliance
- 📦 Modern Packaging: Uses
pyproject.tomland 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
- Clone the repository:
git clone https://github.com/khanhct/atlassian-async-client.git
cd atlassian-async-client
- Create virtual environment and install dependencies:
uv venv
uv pip install -e ".[dev]"
- Run tests:
pytest
- Code quality:
# Format code
black .
isort .
# Type checking
mypy .
# Linting
ruff .
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built on top of the atlassian-python-api package
- Uses Pydantic for data validation
- Powered by httpx for async HTTP requests
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)
| File | Size | Uploaded | |
|---|---|---|---|
| atlassian_client-0.1.6.tar.gz | 167.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|