attachments vs e2m
Document and media ingestion for LLM workflows compared
attachments and e2m are Python projects for extracting content from documents and media for downstream LLM workflows. attachments emphasizes structured artifacts, multiple input sources, and adapters for prompts and RAG, while e2m focuses on configurable parsers and converting extracted content into Markdown.

attachments: Turn Files Into LLM-Ready Context
attachments is a Python library and CLI that turns documents, images, audio, and other inputs into structured text and image artifacts for LLM workflows. It supports local processing, optional service fallback, and adapters for prompts, chat APIs, and RAG chunks.

e2m: Convert Documents and Media into Markdown
E2M is a Python library for parsing documents, web pages, and audio into Markdown through configurable parser and converter components. It is aimed at developers preparing varied source material for RAG, training data, or downstream text workflows.
| attachments | e2m | |
|---|---|---|
| Language | Python | Jupyter Notebook |
| License | MIT | Apache-2.0 |
| Stars | 368 | 1.3k |
| Forks | 31 | 76 |
| Last analyzed | Oct 3, 2026 | Oct 3, 2026 |
Key differences
- attachments accepts files, directories, glob patterns, archives, URLs, and GitHub repositories through a common interface; e2m lists document files, URLs, and audio sources.
- attachments returns structured artifacts with metadata, segmentation, warnings, and typed errors, and can adapt them to prompts, chat formats, or RAG chunks; e2m converts parsed text and images into Markdown.
- attachments supports local processing, configured service fallback, and self-hosting; e2m offers a Python library, an API service, and configurable parser and converter components.
- attachments is listed as Python under the MIT license; e2m is listed as Jupyter Notebook, and its metadata and README give different license terms, so verify the license file.
- The supplied project data lists 368 stars for attachments and 1.3k for e2m.
Choose attachments if you…
- need to ingest varied sources such as directories, archives, or GitHub repositories through one interface.
- want structured artifacts with source metadata and segment-aware RAG chunks or prompt and chat adapters.
- prefer local processing with the option to use a configured service or self-hosted server.
Choose e2m if you…
- want parsed text and images converted into Markdown for RAG or training workflows.
- need to select format-specific parser engines and configure an integrated parser and converter with YAML.
- want to process the listed document, web, and audio sources using configurable components.
Compare the numbers side by side, or add more projects
This comparison is generated with AI from the OSRepos analyses of both projects. Always check each project's repository and documentation before choosing.