Skip to main content

kiarina-lib-atlassian

Python License

Atlassian API integration with configuration management using pydantic-settings-manager.

Purpose

kiarina-lib-atlassian provides a simple and secure way to manage Atlassian API credentials (Jira, Confluence, etc.) using pydantic-settings-manager. This library enables the implementation of Atlassian-related functionality by separating and managing API credentials from the application.

Installation

pip install kiarina-lib-atlassian

Quick Start

from kiarina.lib.atlassian import settings_manager

# Configure Atlassian credentials
settings_manager.user_config = {
    "jira": {
        "url": "https://your-domain.atlassian.net",
        "username": "your-email@example.com",
        "password": "your-api-token"
    }
}

# Get settings
settings = settings_manager.get_settings("jira")
print(f"Jira URL: {settings.url}")
print(f"Username: {settings.username}")
# Access API token securely
api_token = settings.password.get_secret_value()

API Reference

AtlassianSettings

Configuration settings for Atlassian API.

Fields:

  • url: str - API endpoint URL (e.g., "https://your-domain.atlassian.net")
  • username: str - Atlassian account email address
  • password: SecretStr - Atlassian API token (stored securely)

Example:

from pydantic import SecretStr
from kiarina.lib.atlassian import AtlassianSettings

settings = AtlassianSettings(
    url="https://example.atlassian.net",
    username="user@example.com",
    password=SecretStr("your-api-token")
)

settings_manager

Global settings manager instance for Atlassian API configuration.

Type: SettingsManager[AtlassianSettings]

Multi-configuration support: Enabled (can manage multiple Atlassian instances)

Example:

from kiarina.lib.atlassian import settings_manager

# Configure multiple instances
settings_manager.user_config = {
    "jira": {
        "url": "https://jira.example.com",
        "username": "jira@example.com",
        "password": "jira-token"
    },
    "confluence": {
        "url": "https://confluence.example.com",
        "username": "confluence@example.com",
        "password": "confluence-token"
    }
}

# Get specific configuration
jira_settings = settings_manager.get_settings("jira")
confluence_settings = settings_manager.get_settings("confluence")

Configuration

YAML Configuration

# config/production.yaml
kiarina.lib.atlassian:
  jira:
    url: "https://your-domain.atlassian.net"
    username: "your-email@example.com"
    password: "${ATLASSIAN_API_TOKEN}"
  
  confluence:
    url: "https://your-domain.atlassian.net"
    username: "your-email@example.com"
    password: "${ATLASSIAN_API_TOKEN}"

Environment Variables

Settings can be configured via environment variables with the prefix KIARINA_LIB_ATLASSIAN_:

export KIARINA_LIB_ATLASSIAN__JIRA__URL="https://your-domain.atlassian.net"
export KIARINA_LIB_ATLASSIAN__JIRA__USERNAME="your-email@example.com"
export KIARINA_LIB_ATLASSIAN__JIRA__PASSWORD="your-api-token"

Bootstrap Pattern

For multi-module applications, use the bootstrap pattern:

# bootstrap.py
import yaml
from pydantic_settings_manager import load_user_configs

def bootstrap():
    with open("config/production.yaml") as f:
        config = yaml.safe_load(f)
    load_user_configs(config)

# main.py
from bootstrap import bootstrap
from kiarina.lib.atlassian import settings_manager

bootstrap()
settings = settings_manager.get_settings("jira")

Testing

# Run tests
pytest

# Run tests with coverage
pytest --cov=kiarina.lib.atlassian --cov-report=html

Dependencies

  • pydantic (>=2.10.5): Data validation and settings management
  • pydantic-settings (>=2.7.1): Settings management from various sources
  • pydantic-settings-manager (>=2.3.0): Advanced settings management with multi-configuration support

License

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

Related Projects

Metadata

Release files for kiarina-lib-atlassian 1.37.0

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

Source distribution (sdist)

Source distribution for kiarina-lib-atlassian 1.37.0
File Size Uploaded Provenance Actions
kiarina_lib_atlassian-1.37.0.tar.gz 3.8 kB Without provenance Details for kiarina_lib_atlassian-1.37.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kiarina-lib-atlassian 1.37.0
File Interpreter ABI Platform Actions
kiarina_lib_atlassian-1.37.0-py3-none-any.whl Python 3 none any Details for kiarina_lib_atlassian-1.37.0-py3-none-any.whl

Total release size: 7.7 kB

Release files / kiarina_lib_atlassian-1.37.0.tar.gz

Download URL kiarina_lib_atlassian-1.37.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f054340a1fe4e006ca798fa8b94c65867a966188dddad283f55c762a0ee803ef
BLAKE2b-256 checksum
How to use checksums
154fb535e175229ea4a2abe4edcdae04ef6b2c73aa8c188c395d5cade19425ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / kiarina_lib_atlassian-1.37.0-py3-none-any.whl

Download URL kiarina_lib_atlassian-1.37.0-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28f2874e817db96c297a7d1c3cc6da19270225f7f4660b711875c2ea0ddd042f
BLAKE2b-256 checksum
How to use checksums
65ab5529cdbbd6c7a872505faaafda3e2d5c85876d5d2ab4bcb19ee1dfce8116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for kiarina-lib-atlassian 1.37.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.37.0 This release

2 release files No provenance

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