Shared modules for JobLogic automation platform
Project description
jl-automation-common-modules
Shared Python library for all JobLogic automation projects. Provides reusable managers, handlers, and decorators used across Azure Function-based automations.
Installation
pip install jl-automation-common-modules
Or pin directly from the Git repo (for internal use):
jl-automation-common-modules @ git+https://JobLogic@dev.azure.com/JobLogic/JobLogic%20Automations/_git/joblogic-automation-modules@v1.0.0
Requirements
- Python 3.11+
Available Modules
| Import | Purpose |
|---|---|
AutomationManager |
Base class for all automation Azure Functions |
SqlManager |
Async SQL Server connection management via aioodbc |
AuditManager / AuditData |
Structured audit logging |
MainSubSysApiManager |
HTTP client for the JobLogic main subsystem API |
CommonManager / ExecutionResult |
Shared execution helpers and result model |
SharePointManager |
SharePoint file and list operations via Microsoft Graph |
Configurations |
Azure App Configuration client |
slack_notification |
Decorator to post execution results to Slack |
teams_notification |
Decorator to post execution results to Teams |
Quick Start
from joblogic_automation_modules import AutomationManager, ExecutionResult
from joblogic_automation_modules import slack_notification, teams_notification
class MyAutomation(AutomationManager):
@slack_notification()
@teams_notification()
async def start_processing(self, *args, **kwargs) -> ExecutionResult:
# Lazy-loaded managers available on self:
# self.db → SqlManager
# self.api → MainSubSysApiManager
# self.audit → AuditManager
# self.common → CommonManager
# self.sharepoint → SharePointManager
# self.config → Configurations
data = await self.common.get_reliable_report_data(report_id=123)
return ExecutionResult(
execution_time=await self.common.get_last_exec_time(),
read_count=len(data),
create_count=0,
update_count=0,
failure_count=0,
)
Versioning
This package follows Semantic Versioning:
| Change type | Version bump |
|---|---|
| Bug fix | PATCH (1.0.0 → 1.0.1) |
| New feature (backwards compatible) | MINOR (1.0.0 → 1.1.0) |
| Breaking change | MAJOR (1.0.0 → 2.0.0) |
See PUBLISHING.md for release instructions.
Contributing
For publishing a new version, see PUBLISHING.md.
For using this package in an automation repo, see USAGE.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jl_automation_common_modules-1.0.2.tar.gz.
File metadata
- Download URL: jl_automation_common_modules-1.0.2.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5a8d31c4bb6f1ab05bfee4e5774285acc9ad1abc734fd62b309c2992a72b9a9
|
|
| MD5 |
d2eda7337bdbda82423efc80ac76a7a4
|
|
| BLAKE2b-256 |
0ad734a55a8995dec5a9acdf02582f90fe629879dd799f92578dbf506a58b2f5
|
File details
Details for the file jl_automation_common_modules-1.0.2-py3-none-any.whl.
File metadata
- Download URL: jl_automation_common_modules-1.0.2-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c4019f2fb62f21b939631b88e7c6f69789168b10bb098d69017bbaa606752ab
|
|
| MD5 |
7baca1613060ee4fa4b6bc52bba31fce
|
|
| BLAKE2b-256 |
fb81066f4d00f24fd8577dd6a5b15782bc825cfdba770cafeb22e72acc3c10b0
|