Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jl_automation_common_modules-1.0.2.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jl_automation_common_modules-1.0.2-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file jl_automation_common_modules-1.0.2.tar.gz.

File metadata

File hashes

Hashes for jl_automation_common_modules-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c5a8d31c4bb6f1ab05bfee4e5774285acc9ad1abc734fd62b309c2992a72b9a9
MD5 d2eda7337bdbda82423efc80ac76a7a4
BLAKE2b-256 0ad734a55a8995dec5a9acdf02582f90fe629879dd799f92578dbf506a58b2f5

See more details on using hashes here.

File details

Details for the file jl_automation_common_modules-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for jl_automation_common_modules-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7c4019f2fb62f21b939631b88e7c6f69789168b10bb098d69017bbaa606752ab
MD5 7baca1613060ee4fa4b6bc52bba31fce
BLAKE2b-256 fb81066f4d00f24fd8577dd6a5b15782bc825cfdba770cafeb22e72acc3c10b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page