A modular automation library with LLM integration, transcription, Gmail, and storage capabilities.
Project description
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:
-
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.)
-
Install
build(if not already installed):uv pip install build
-
Create the Source Distribution and Wheel:
uv buildAfter running this command, the created files (e.g.,
automation_lib-0.1.0-py3-none-any.whlandautomation_lib-0.1.0.tar.gz) will be located in thedist/directory.
2. Local Installation
You can install this package locally in another Python project for development or testing purposes.
-
Navigate to your other project directory:
cd /path/to/your/other-project
-
Create a virtual environment (if not already done) and activate it:
python -m venv venv source venv/bin/activate
-
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-repowith 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:
-
Alle Änderungen committen:
git add . git commit -m "feat: Beschreibung der Änderungen"
-
Änderungen pushen:
git push origin main
-
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:
- Versionsnummer aktualisieren in
pyproject.toml - Paket bauen mit
make build - Git-Commit erstellen mit der neuen Version
- Git-Tag erstellen (z.B.
v1.0.0) - Ä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
.whlfile (as described in "Local Installation") is often sufficient.
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 automation_lib-0.3.4.tar.gz.
File metadata
- Download URL: automation_lib-0.3.4.tar.gz
- Upload date:
- Size: 97.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3094dbbbe813de026b94cbd3f0c6af2e04431d6651ea61efda26f66fe1943130
|
|
| MD5 |
36d5b3f5339951ee33a5c004907d548b
|
|
| BLAKE2b-256 |
c3a408900585f3f257519a635d407b4b72a5c8c66c9029688dd8850e4d87a665
|
File details
Details for the file automation_lib-0.3.4-py3-none-any.whl.
File metadata
- Download URL: automation_lib-0.3.4-py3-none-any.whl
- Upload date:
- Size: 132.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
165406208bc8014d5d848480dda0f8b6db7ab8f7dd95e563cc1ec678a5279282
|
|
| MD5 |
8146e65cc515905a1d2fe1276e733707
|
|
| BLAKE2b-256 |
bdf1ca3bf4d8e325ee4c21a0023f5d2c8f22a9d11f27c074f7be8b5d328b7178
|