azure-doc-processing
azure-doc-processing is a Python library designed to simplify and
standardize the use of common Azure services in document-processing
workflows.
It reduces repeated boilerplate code across projects and provides a
clean, consistent, DRY development experience.
The library offers convenient wrappers and utilities around Azure SDK components, focusing primarily on document processing.
Features
Supported Azure Services
| Service | Module |
|---|---|
| Azure Storage (Blob Storage) | azure_doc_processing.blob_storage |
| Azure Document Intelligence | azure_doc_processing.document_intelligence |
| Azure Key Vault | azure_doc_processing.keyvault |
| Azure OpenAI | azure_doc_processing.openai_service |
| Azure Storage (Table Storage) | azure_doc_processing.table_storage |
Additional Functionality
Standardized Logger
from azure_doc_processing.logger import Logger
logger = Logger(__name__)
Document Utilities
Generic helper functions for document-processing tasks are available under:
import azure_doc_processing.utils as utils
Installation
Once published to PyPI:
pip install azure-doc-processing
Or with Poetry:
poetry add azure-doc-processing
Quick Example
Using key-based authentication:
from azure_doc_processing.blob_storage import AzureDataLake
from azure_doc_processing.logger import Logger
logger = Logger(__name__)
datalake = AzureDataLake(
os.getenv("AZURE_STORAGE_ACCOUNT_NAME"),
os.getenv("AZURE_STORAGE_ACCOUNT_KEY")
)
blob_files = datalake.list_blob_files(container="my-container",prefix="my-prefix/")
logger.info(f"Found {len(blob_files)} in container")
Using DefaultAzureCredential authentication:
from azure_doc_processing.blob_storage import AzureDataLake
from azure_doc_processing.logger import Logger
logger = Logger(__name__)
datalake = AzureDataLake(
os.getenv("AZURE_STORAGE_ACCOUNT_NAME")
)
blob_files = datalake.list_blob_files(container="my-container",prefix="my-prefix/")
logger.info(f"Found {len(blob_files)} in container")
Development
This repository uses:
- pyenv for Python version management\
- Poetry 1.8.5 for dependency & environment management\
- poethepoet for task automation\
- pytest for testing
Setup
Install all dependencies:
poetry install
Development Dependencies
Add development-only packages with:
poetry add <package> --group dev
Available Tasks
Using poethepoet:
Command Description
poe test Run the full test suite
poe format Format code (autoflake, black, isort)
Before committing changes, run:
poe format
poe test
Publishing the Package
This project includes automated publishing scripts.
Prerequisites
Make sure you have:
-
An API token for TestPyPI and/or PyPI
-
A valid
~/.pypircfile, for example:[testpypi] username = __token__ password = pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [pypi] username = __token__ password = pypi-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Publish to TestPyPI (dry run)
Use this when testing new releases. This publishes the package under a temporary test name and performs an install + import smoke test.
poe publish-testpypi
Publish to PyPi (real release)
Use this when releasing an official version.
Make sure you’ve bumped the version in pyproject.toml.
poe publish-pypi
Publishing will fail if the version already exists on PyPI. Real releases should use unique, semantic version increments.
License
This project is licensed under the Apache License 2.0.
See the LICENSE and NOTICE files for details.
Contributing
Contributions are welcome!
Please open an issue or submit a pull request via GitHub.
Acknowledgements
Maintained by Verdel Digitaal Partner
Metadata
Release files for azure-doc-processing 1.2.1
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 | |
|---|---|---|---|---|
| azure_doc_processing-1.2.1.tar.gz | 16.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| azure_doc_processing-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.7 kB
Release files / azure_doc_processing-1.2.1.tar.gz
| Download URL | azure_doc_processing-1.2.1.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1261a28c3d23664b868f541f866f8851bd719deaf8e58a00f875298473605ab
|
|
BLAKE2b-256 checksum How to use checksums |
70de943b56d661b46c36f2d0b5036bcac9d42824b77b8657e137dec2032fd15c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / azure_doc_processing-1.2.1-py3-none-any.whl
| Download URL | azure_doc_processing-1.2.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb80e08dfd800ebed0828ab7eacb31d33fc228d23597b5b29c7b6c73fba6450c
|
|
BLAKE2b-256 checksum How to use checksums |
317b91082ed14a3143b02f8e185089ce278cd35405f1c813fe275903baef161d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Security for azure-doc-processing 1.2.1
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.