Skip to main content

FMJL

FMJL, short for Format, Markdown, JSON Lines, stores a document as one JSON object per line: one element (heading, paragraph, table, formula, image, caption...) with a stable id, a content hash, its page and position, and who may read it. People write and edit the same document as normal Markdown; the tool converts both ways without renumbering anything.

pip install fmjl            # converter, checker, Word importer, chunks
pip install fmjl[pdf]       # adds the PDF importer (PyMuPDF)

fmjl notes.md               # Markdown  -> notes.fmjl, then checks it
fmjl notes.fmjl             # .fmjl     -> notes.md, ids kept
fmjl report.pdf             # PDF       -> report.fmjl and images/ (--md adds report.md)
fmjl report.docx            # Word      -> the same
fmjl chunks report.fmjl     # retriever-ready chunks as JSON Lines
fmjl export report.fmjl --to docx   # also md, html, pdf, odt, epub

From Python: import fmjl; fmjl.load, fmjl.chunks, fmjl.changed_chunks, fmjl.check.

Rulebook, examples, benchmark and the VS Code extension: https://github.com/rupakkumar-76319/fmjl

Metadata

Release files for fmjl 1.1.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 fmjl 1.1.1
File Size Uploaded
fmjl-1.1.1.tar.gz 52.3 kB Details

Built distribution (wheel)

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

Total release size: 101.7 kB

Release files / fmjl-1.1.1.tar.gz

Download URL fmjl-1.1.1.tar.gz
Size 52.3 kB
Tags Source
SHA-256 checksum
How to use checksums
119a648255c47b46c594d7367ee771f60e3bfbf24b1c8df5e84081d26bb01499
BLAKE2b-256 checksum
How to use checksums
50ed1124fb3b7b24bd0a49cab30bb2e4a417a8450f2397f4164857993457b453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release files / fmjl-1.1.1-py3-none-any.whl

Download URL fmjl-1.1.1-py3-none-any.whl
Size 49.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2d4dc32417397f945ae5ab74816dbb92c952312af9f4d6bb38cc6a691cf8979
BLAKE2b-256 checksum
How to use checksums
947cfdeef16f024d1d68f0694491280c220bb89b6f89646edf8dbde9195e5587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release history Release notifications | RSS feed

1.1.2

2 release files

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.5.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