kiarina-lib-atlassian
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 addresspassword: 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
- kiarina-python - Parent monorepo
- pydantic-settings-manager - Settings management library
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.