Skip to main content

Convert documents to Markdown using Cloudflare Workers AI toMarkdown.

Project description

anything2md

CI PyPI version Python >=3.10 License: MIT

Python package and CLI for converting URLs or local documents into Markdown using Cloudflare Workers AI toMarkdown().

Install

From PyPI with uv:

uv add anything2md

Or from PyPI (pip):

pip install anything2md

Cloudflare Token Setup

Create a Cloudflare API Token for the target account and include these permissions:

  • Workers AI -- Read
  • Browser Rendering -- Edit

Usage

import anything2md

mdconverter = anything2md(account_id="xxx", api_token="xxx")
result = mdconverter.transform("https://example.com")
result = mdconverter.transform("https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/somatosensory.pdf")
result = mdconverter.transform("https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/cat.jpeg")
print(result.markdown)

Supported Formats

Based on Cloudflare docs, current supported extensions include:

pdf, jpeg/jpg, png, webp, svg, html/htm, xml, csv, docx, xlsx, xlsm, xlsb, xls, et, ods, odt, numbers

url via Browser Rendering Markdown endpoint.

Local Usage

Install dependencies:

uv sync
export CLOUDFLARE_ACCOUNT_ID="your_account_id"
export CLOUDFLARE_API_TOKEN="your_api_token"

uv run anything2md https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/somatosensory.pdf
uv run anything2md https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/cat.jpeg -o output.md
uv run anything2md https://example.com

Integration Test (Real Cloudflare)

If both CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN are set, integration tests automatically run real Cloudflare calls and validate that:

  • result.error is empty
  • result.markdown is non-empty

Optional test URL overrides:

  • ANYTHING2MD_TEST_PDF_URL
  • ANYTHING2MD_TEST_IMAGE_URL
  • ANYTHING2MD_TEST_WEB_URL

References

Cloudflare docs:

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anything2md-0.1.2.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anything2md-0.1.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file anything2md-0.1.2.tar.gz.

File metadata

  • Download URL: anything2md-0.1.2.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for anything2md-0.1.2.tar.gz
Algorithm Hash digest
SHA256 483d758c1f0e79dad90ef3bfe7264d3c5c3ca23222a78d0b123a47688ceb6502
MD5 1528f621777279281d319bf7e0d254ee
BLAKE2b-256 96299002b1a96f2cef78dcfac1becabeb618394cddd10126a464f43d9f0c3e50

See more details on using hashes here.

Provenance

The following attestation bundles were made for anything2md-0.1.2.tar.gz:

Publisher: publish.yml on herrkaefer/anything2md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anything2md-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: anything2md-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for anything2md-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 607cd6c6674c5591077d297ef14a1f5491a6f0e287d1d8ef5ea17c1999ce503b
MD5 146b9ad6ec56ca275ed4626d9e96223e
BLAKE2b-256 12541603b3f8608445af98d361eb340c4dd2e08a4b2f9c068f16aa82991e4552

See more details on using hashes here.

Provenance

The following attestation bundles were made for anything2md-0.1.2-py3-none-any.whl:

Publisher: publish.yml on herrkaefer/anything2md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page