Skip to main content

did-it-land

Your durable worker crashed mid-tool-call. Did the charge actually fire, and how do you reverse it? did-it-land is the per-vendor knowledge that answers both, as data.

Durable and saga engines resume a crashed workflow from a checkpoint, then leave you the hard part: query the vendor to see whether the side-effect landed, and write your own compensation. did-it-land ships that knowledge as a small corpus of effect capsules plus a thin runtime.

pip install "did-it-land[http]"
did-it-land demo
from did_it_land import bundled, reconcile, unwind, HttpxTransport

key = "sk_test_..."                # your Stripe test-mode key
stripe = HttpxTransport("https://api.stripe.com", headers={"Authorization": f"Bearer {key}"})
charge = bundled().get("stripe.charge")

order_started_at = "1700000000"    # unix seconds, recorded when the order began
context = {"order_id": "ORD-1", "created_after": order_started_at}
outcome = reconcile(charge, context, transport=stripe)
if outcome.landed:
    ...        # the charge already happened, skip the retry

unwind(charge, {"payment_intent_id": "pi_123"}, transport=stripe)

v1 ships four capsules: stripe.charge, s3.delete_object, github.merge_pr, and postgres.insert. Full docs, the DBOS adapter, and the TypeScript runtime are in the repository.

Homepage and docs: https://github.com/netsatsawat/did-it-land

Written by Satsawat Natakarnkitkul. License: MIT.

Release files for did-it-land 0.1.2

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

Source distribution (sdist)

Source distribution for did-it-land 0.1.2
File Size Uploaded
did_it_land-0.1.2.tar.gz 21.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for did-it-land 0.1.2
File Interpreter ABI Platform
did_it_land-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 47.5 kB

Release files / did_it_land-0.1.2.tar.gz

Download URL did_it_land-0.1.2.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9b4c43eb0186acacbc9e5f9fa9194d448dcbcfef84e7b35480ac2e41aadfca86
BLAKE2b-256 checksum
How to use checksums
b15ad8bcfdc77e030aa30ca1f158ef2182fb956a4e49d975f466dcaa702563ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / did_it_land-0.1.2-py3-none-any.whl

Download URL did_it_land-0.1.2-py3-none-any.whl
Size 25.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76a1c933b399b75c264da2ad2440a15c585ebc059e9105d5ec93d71addb189c6
BLAKE2b-256 checksum
How to use checksums
0aec07d939b96af4372c048888c107df66e962052f2fc262c38ecd17717f35ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

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