Skip to main content

Automation-Lib Python Package

This repository contains the automation-lib Python package, a collection of automation modules for document processing.

Package Creation and Distribution

This section provides instructions on how to build and distribute this Python package.

1. Build the Package

To build the source distribution and wheel files for the package, follow these steps:

  1. Navigate to the project root:

    cd /path/to/your/automation-lib-repo
    

    (Note: If you are already in the root directory of this repository, you can skip this step.)

  2. Install build (if not already installed):

    uv pip install build
    
  3. Create the Source Distribution and Wheel:

    uv build
    

    After running this command, the created files (e.g., automation_lib-0.1.0-py3-none-any.whl and automation_lib-0.1.0.tar.gz) will be located in the dist/ directory.

2. Local Installation

You can install this package locally in another Python project for development or testing purposes.

  1. Navigate to your other project directory:

    cd /path/to/your/other-project
    
  2. Create a virtual environment (if not already done) and activate it:

    python -m venv venv
    source venv/bin/activate
    
  3. Install the package from the dist/ directory:

    uv pip install /path/to/your/new/automation-lib-repo/dist/automation_lib-0.1.0-py3-none-any.whl
    

    Replace /path/to/your/new/automation-lib-repo with the actual path to this repository on your system.

After installation, you can import modules from automation_lib as usual:

from automation_lib.llm_prompt import ...
from automation_lib.transcription import ...

3. Release-Prozess

Der Release-Prozess für dieses Projekt ist automatisiert und erfolgt über das Makefile. Hier ist eine Übersicht über die notwendigen Schritte:

Vorbereitung vor dem Release

Wichtig: Vor dem Release müssen alle Änderungen eingecheckt und gepusht sein:

  1. Alle Änderungen committen:

    git add .
    git commit -m "feat: Beschreibung der Änderungen"
    
  2. Änderungen pushen:

    git push origin main
    
  3. Status überprüfen:

    git status
    # Sollte "working tree clean" anzeigen
    

Release durchführen

Nach der Vorbereitung kann der Release über das Makefile angestoßen werden:

# Patch-Version erhöhen (0.1.0 → 0.1.1) - für Bugfixes
make publish-github

# Minor-Version erhöhen (0.1.0 → 0.2.0) - für neue Features
make publish-github-minor

# Major-Version erhöhen (0.1.0 → 1.0.0) - für Breaking Changes
make publish-github-major

# Test-Durchlauf ohne Änderungen (Dry-Run)
make publish-github-dry

Was passiert beim Release?

Der automatisierte Release-Prozess führt folgende Schritte aus:

  1. Versionsnummer aktualisieren in pyproject.toml
  2. Paket bauen mit make build
  3. Git-Commit erstellen mit der neuen Version
  4. Git-Tag erstellen (z.B. v1.0.0)
  5. Änderungen und Tags zu GitHub pushen

Manuelle Publishing-Optionen

Für erweiterte Kontrolle können Sie auch das Publishing-Script direkt verwenden:

# Grundlegende Verwendung
python3 scripts/publish_to_github.py

# Spezifischen Versionstyp angeben
python3 scripts/publish_to_github.py --version-type minor

# Explizite Version setzen
python3 scripts/publish_to_github.py --version 1.2.3

# Dry-Run (Simulation ohne Änderungen)
python3 scripts/publish_to_github.py --dry-run

# Alle Prompts automatisch bestätigen
python3 scripts/publish_to_github.py --auto-confirm

Installation nach dem Release

Nach dem Release kann das Paket von GitHub installiert werden:

# Neueste Version
uv pip install git+https://github.com/jakobwowy/automation_lib.git#egg=automation-lib

# Spezifische Version
uv pip install git+https://github.com/jakobwowy/automation_lib.git@v1.0.0#egg=automation-lib

4. Private Package Distribution

For private distribution within an organization, consider the following options:

  • Private PyPI Server: Solutions like DevPI or Artifactory can host your private Python packages.
  • Direct Installation from Git Repository: You can install directly from a Git repository using uv add git+https://github.com/jakobwowy/automation_lib.git#egg=automation-lib.
  • Local Wheel File: For internal use, direct installation of the .whl file (as described in "Local Installation") is often sufficient.

Metadata

Release files for automation-lib 0.3.4

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

Source distribution (sdist)

Source distribution for automation-lib 0.3.4
File Size Uploaded
automation_lib-0.3.4.tar.gz 97.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for automation-lib 0.3.4
File Interpreter ABI Platform
automation_lib-0.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 229.1 kB

Release files / automation_lib-0.3.4.tar.gz

Download URL automation_lib-0.3.4.tar.gz
Size 97.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3094dbbbe813de026b94cbd3f0c6af2e04431d6651ea61efda26f66fe1943130
BLAKE2b-256 checksum
How to use checksums
c3a408900585f3f257519a635d407b4b72a5c8c66c9029688dd8850e4d87a665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release files / automation_lib-0.3.4-py3-none-any.whl

Download URL automation_lib-0.3.4-py3-none-any.whl
Size 132.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
165406208bc8014d5d848480dda0f8b6db7ab8f7dd95e563cc1ec678a5279282
BLAKE2b-256 checksum
How to use checksums
bdf1ca3bf4d8e325ee4c21a0023f5d2c8f22a9d11f27c074f7be8b5d328b7178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.3.4 This release

2 release files

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