Skip to main content

LinkWeaver 🕸️

LinkWeaver finds URLs in Markdown files and uses MarkItDown to turn the URL content into a local Markdown file.

📦 Install

Use uvx if you only want to run LinkWeaver once.

uvx linkweaver notes.md

If you use uv tools, install LinkWeaver once and run it from anywhere.

uv tool install linkweaver

You can also install the package from PyPI.

pip install linkweaver

🚀 Quick start

Process one file.

linkweaver notes.md

When you run this command, LinkWeaver creates a notes-resources/ folder next to notes.md. LinkWeaver saves one .md file in that folder for each URL.

Run it with uvx without installing anything too!

uvx linkweaver notes.md

List all unique URLs in your files.

linkweaver --list-links notes/*.md

Save all resource files to one folder.

linkweaver -o resources notes.md

Download files again even when they already exist.

linkweaver --force notes.md

Preview the work without writing files or fetching URLs.

linkweaver --dry-run notes.md

🧰 Common tasks

Preview the first 10 URLs across Markdown files.

linkweaver --list-links *.md | head -10

See which URLs LinkWeaver would fetch or skip.

linkweaver --dry-run notes.md

Preview a run that would download existing files again.

linkweaver --force --dry-run notes.md

Turn off retries.

linkweaver --retries 0 notes.md

Run with less output and 5 retries.

linkweaver --quiet --retries 5 notes.md

Process several files.

linkweaver *.md

📁 Output files

For each input file, LinkWeaver creates a resource folder. When you process notes.md, you get this folder.

notes.md
notes-resources/
├── example.com-page-title.md
├── github.com-user-repo.md
└── youtube.com-watch-v-abc123.md

Use -o DIR or --output-dir DIR to put all resource files in one folder.

In each resource file, you get:

  • The file name is based on the URL.
  • You can see the source URL.
  • You can read the content as Markdown.
  • You can see error details if the download failed.

A resource file looks like this.

# Example Page Title

**Source:** https://example.com/page/title

[Converted markdown content here...]

📜 License

MIT. See LICENSE.

Metadata

Release files for linkweaver 0.6.1

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

Source distribution (sdist)

Source distribution for linkweaver 0.6.1
File Size Uploaded Provenance
linkweaver-0.6.1.tar.gz 10.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for linkweaver 0.6.1
File Interpreter ABI Platform
linkweaver-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.6 kB

Release files / linkweaver-0.6.1.tar.gz

Download URL linkweaver-0.6.1.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1764099954dd6fafff9b83997f27a93eea1b93bc9696b599c503c7e5bb95ceb2
BLAKE2b-256 checksum
How to use checksums
c93e2ab0f41736073e9504fc48557022519ded60060d43687cf5794471d51498
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / linkweaver-0.6.1-py3-none-any.whl

Download URL linkweaver-0.6.1-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c03990a30bc17a06dbe90789bd5020776084a755b39d72943905cddd14c8dbb4
BLAKE2b-256 checksum
How to use checksums
e2d695c51cffcc9835f3f523228c4f3c54ead5dfe0b21e688742af438181159a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for linkweaver 0.6.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.

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

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