Skip to main content

airflow-provider-ttdu

Apache Airflow provider (unofficial, not an Apache Software Foundation project) that runs TTDU document flows from DAGs on this PC's offline runner or the TTDU hub API.

  • Connection type ttdu: Host = runner/hub URL, Password = API key, Extra {"target": "local"} or {"target": "hub"}.
  • TtduHook(ttdu_conn_id).run_flow(flow, files, vars)
  • TtduRunFlowOperator(flow="C", input_paths=["/in/*.pdf"], output_dir="/out", vars={...}) writes the result files to output_dir and returns {ok, count, notes, files:[{name, size, sha256, path}]} as XCom (no file bytes in XCom).

pip install airflow-provider-ttdu. Pure standard library client. Tested on Airflow 3.4.0 (airflow dags test); Airflow 2.7+ imports are supported in code but not tested.

Example DAGs: ttdu_office_demo (A, B, C, HWP), ttdu_monthly_payroll_check (5th of month, one task per client folder), ttdu_folder_hwp_to_pdf (FileSensor → HWP → PDF).

Where do my files go?

Target URL Files
This PC (local) http://127.0.0.1:8790 (the TTDU office runner, ttdu serve) Sent only to the runner on the same PC. The runner works with outbound network blocked, so files never leave the PC.
Hub (hub) https://toolsthatdontupload.com Files are uploaded to the TTDU hub for the run (15 MB per request). Only server-capable tools run there (e.g. pdf.merge); the office flows A/B/C/HWP answer 422 unsupported on the hub - run them on This PC.

If the automation tool runs in Docker Desktop, use http://host.docker.internal:8790 and start the runner with --allow-docker (the "local API, allow Docker" launcher in the office package). The runner still listens on 127.0.0.1 only and still needs the API key (local-api-key.txt).

Ready flows

id What it does Input Output
A Receipt photos → one PDF, named {client}_{date}.pdf, ≤ 1 MB images 1 PDF
B Payroll check (4 insurances, income tax recalculated); period read from the file name YYYY-MM_…xlsx 1 xlsx {client}_<payroll check>_{date}.xlsx (Korean file name)
C Redact resident registration numbers, phone numbers, account numbers PDF / images *-redacted-clean.*
HWP / HWP_TEXT HWP/HWPX → PDF / text hwp, hwpx PDF / txt
custom any ttdu.flow/v1 JSON exported from https://workflows.toolsthatdontupload.com

API: POST /v1/flows/run (multipart flow, vars, files; header X-API-Key) → {ok, steps, notes, outputs:[{name, mime, size, sha256, base64}]}.

License

MIT © 2026 Park Jihoon (Tools That Don't Upload). This package contains only our code. It does not include or modify the host platform's code.

Metadata

Release files for airflow-provider-ttdu 0.2.0

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

Source distribution (sdist)

Source distribution for airflow-provider-ttdu 0.2.0
File Size Uploaded Provenance Actions
airflow_provider_ttdu-0.2.0.tar.gz 8.6 kB With provenance Details for airflow_provider_ttdu-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for airflow-provider-ttdu 0.2.0
File Interpreter ABI Platform Actions
airflow_provider_ttdu-0.2.0-py3-none-any.whl Python 3 none any Details for airflow_provider_ttdu-0.2.0-py3-none-any.whl

Total release size: 19.5 kB

Release files / airflow_provider_ttdu-0.2.0.tar.gz

Download URL airflow_provider_ttdu-0.2.0.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
598f2bfeb28432a4f90a0de64cce7a865e1e85bf76df281d357152c1502f412d
BLAKE2b-256 checksum
How to use checksums
b653e345d82de6595994ffbbc217462fbe6fa422fb492ef17ce6e321b381d50e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Release files / airflow_provider_ttdu-0.2.0-py3-none-any.whl

Download URL airflow_provider_ttdu-0.2.0-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d11a26e9623b249fb70e604640a338d5c2e4e57be10ccf730b6ed97cb262e88f
BLAKE2b-256 checksum
How to use checksums
0ff5bb838851734b353f92455914c00d033faeb7b9f844757388ab7eeebce6e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Security for airflow-provider-ttdu 0.2.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for airflow_provider_ttdu-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

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