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)
| File | Size | Uploaded | |
|---|---|---|---|
| fmjl-1.1.1.tar.gz | 52.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|