atlassian-client


Nameatlassian-client JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryAsync Python client for Atlassian products
upload_time2025-03-19 05:52:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords api async atlassian confluence jira
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
# Using pip
pip install atlassian-async-client

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

For development:
```bash
uv pip install -e ".[dev]"
```

## ๐Ÿš€ Quick Start

### Basic Usage

```python
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:
```bash
# 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:
```bash
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

```python
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

```python
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:
```bash
git clone https://github.com/khanhct/atlassian-async-client.git
cd atlassian-async-client
```

2. Create virtual environment and install dependencies:
```bash
uv venv
uv pip install -e ".[dev]"
```

3. Run tests:
```bash
pytest
```

4. Code quality:
```bash
# 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](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- Built on top of the [atlassian-python-api](https://github.com/atlassian-api/atlassian-python-api) package
- Uses [Pydantic](https://docs.pydantic.dev/) for data validation
- Powered by [httpx](https://www.python-httpx.org/) for async HTTP requests
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "atlassian-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "api, async, atlassian, confluence, jira",
    "author": null,
    "author_email": "KhanhChu <trongkhanh.chu@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/93/6f/4a63e3d2dad468fb02a68a38f9aa54d14f34feb731dd3888201d1fd1a7ed/atlassian_client-0.1.0.tar.gz",
    "platform": null,
    "description": "# Atlassian Async Client\n\nA modern, async Python client for Atlassian products (Jira and Confluence) with comprehensive API coverage, type safety, and Pydantic models.\n\n## \u2728 Features\n\n- \ud83d\ude80 **Full Async Support**: Built with `httpx` for modern async/await operations\n- \ud83d\udd12 **Type Safety**: Complete type hints and mypy strict mode compliance\n- \ud83d\udce6 **Modern Packaging**: Uses `pyproject.toml` and modern Python packaging standards\n- \ud83c\udfd7\ufe0f **Pydantic Models**: Robust data validation and serialization\n- \ud83d\udd0d **Comprehensive Coverage**: Support for both Jira and Confluence APIs\n- \u2601\ufe0f **Flexible Authentication**: Supports both Cloud and Server/Data Center deployments\n- \ud83d\udd04 **Content Processing**: Built-in preprocessing for Jira and Confluence content\n- \ud83d\udcdd **Rich Text Support**: Markdown to Confluence conversion utilities\n\n## \ud83d\udee0\ufe0f Installation\n\n```bash\n# Using pip\npip install atlassian-async-client\n\n# Using uv (recommended)\nuv pip install atlassian-async-client\n```\n\nFor development:\n```bash\nuv pip install -e \".[dev]\"\n```\n\n## \ud83d\ude80 Quick Start\n\n### Basic Usage\n\n```python\nimport asyncio\nfrom atlassian_client import AtlassianClient\n\nasync def main():\n    async with AtlassianClient(\n        base_url=\"https://your-domain.atlassian.net\",\n        username=\"your-email@example.com\",\n        api_token=\"your-api-token\"\n    ) as client:\n        # Your API calls here\n        pass\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n### Environment Configuration\n\nSet up your environment variables:\n```bash\n# For Cloud deployment\nexport JIRA_URL=\"https://your-domain.atlassian.net\"\nexport JIRA_USERNAME=\"your-email@example.com\"\nexport JIRA_API_TOKEN=\"your-api-token\"\n\n# For Server/Data Center\nexport JIRA_URL=\"https://jira.your-company.com\"\nexport JIRA_PERSONAL_TOKEN=\"your-personal-access-token\"\n```\n\nSimilar configuration for Confluence:\n```bash\nexport CONFLUENCE_URL=\"https://your-domain.atlassian.net\"\nexport CONFLUENCE_USERNAME=\"your-email@example.com\"\nexport CONFLUENCE_API_TOKEN=\"your-api-token\"\n```\n\n## \ud83d\udcda Documentation\n\n### Jira Client\n\n```python\nfrom atlassian_client import JiraClient\nfrom atlassian_client.models.jira import JiraIssue\n\nasync with JiraClient() as jira:\n    # Create issue\n    issue = await jira.create_issue(\n        project_key=\"PROJ\",\n        summary=\"Test Issue\",\n        description=\"Description\"\n    )\n```\n\n### Confluence Client\n\n```python\nfrom atlassian_client import ConfluenceClient\nfrom atlassian_client.models.confluence import ConfluencePage\n\nasync with ConfluenceClient() as confluence:\n    # Create page\n    page = await confluence.create_page(\n        space_key=\"SPACE\",\n        title=\"Page Title\",\n        body=\"Content\"\n    )\n```\n\n## \ud83e\uddea Development\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/khanhct/atlassian-async-client.git\ncd atlassian-async-client\n```\n\n2. Create virtual environment and install dependencies:\n```bash\nuv venv\nuv pip install -e \".[dev]\"\n```\n\n3. Run tests:\n```bash\npytest\n```\n\n4. Code quality:\n```bash\n# Format code\nblack .\nisort .\n\n# Type checking\nmypy .\n\n# Linting\nruff .\n```\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## \ud83d\udcdd License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built on top of the [atlassian-python-api](https://github.com/atlassian-api/atlassian-python-api) package\n- Uses [Pydantic](https://docs.pydantic.dev/) for data validation\n- Powered by [httpx](https://www.python-httpx.org/) for async HTTP requests",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Async Python client for Atlassian products",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://github.com/khanhct/atlassian",
        "Homepage": "https://github.com/khanhct/atlassian",
        "Issues": "https://github.com/khanhct/atlassian"
    },
    "split_keywords": [
        "api",
        " async",
        " atlassian",
        " confluence",
        " jira"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8b62c201386fb9ba715678d784f6407cb741cc5096c49ba254e2dfddc3a1097",
                "md5": "9d653fc94dcd63bff5c4e4da80bd1da1",
                "sha256": "3751a669dfee84f721a9b022f8731a44cd00710e3fe0d416884f04c8cf91eb14"
            },
            "downloads": -1,
            "filename": "atlassian_client-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9d653fc94dcd63bff5c4e4da80bd1da1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 75988,
            "upload_time": "2025-03-19T05:52:43",
            "upload_time_iso_8601": "2025-03-19T05:52:43.201838Z",
            "url": "https://files.pythonhosted.org/packages/a8/b6/2c201386fb9ba715678d784f6407cb741cc5096c49ba254e2dfddc3a1097/atlassian_client-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "936f4a63e3d2dad468fb02a68a38f9aa54d14f34feb731dd3888201d1fd1a7ed",
                "md5": "109064159ce417b8d7e0fea36ec8cb36",
                "sha256": "b899a59d3ec556bd33237246320516bc7d9cc132c5bedc41853f9d0988989a3c"
            },
            "downloads": -1,
            "filename": "atlassian_client-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "109064159ce417b8d7e0fea36ec8cb36",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 166299,
            "upload_time": "2025-03-19T05:52:44",
            "upload_time_iso_8601": "2025-03-19T05:52:44.803371Z",
            "url": "https://files.pythonhosted.org/packages/93/6f/4a63e3d2dad468fb02a68a38f9aa54d14f34feb731dd3888201d1fd1a7ed/atlassian_client-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-19 05:52:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "khanhct",
    "github_project": "atlassian",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "atlassian-client"
}
        
Elapsed time: 0.67760s