Fast C++/MD4C Markdown parser and canonical Markdown serializer for Tiptap-style JSON
Project description
marktip
Fast C++/MD4C Markdown conversion for Tiptap-style JSON.
Installation
python -m pip install marktip
Release wheels are built for common CPython versions on Linux, macOS, and Windows. If a wheel is not available for a platform, pip can build from the source distribution with a C++17 compiler and standard Python build tooling.
Usage
import marktip as tm
doc = tm.from_markdown("# Hello")
ast = doc.to_dict()
markdown = doc.to_markdown()
doc = tm.from_dict(ast)
The first version targets GFM core syntax and canonical Markdown output rather than byte-identical source preservation.
Development
python -m pip install .[test]
python -m pytest
For a direct local CMake build:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
-Dpybind11_DIR="$(python -m pybind11 --cmakedir)"
cmake --build build
PYTHONPATH=python python -m pytest
PYTHONPATH=python python scripts/benchmark.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marktip-0.1.0.tar.gz.
File metadata
- Download URL: marktip-0.1.0.tar.gz
- Upload date:
- Size: 88.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57ad5baaada6954c72a490dca6ff17bd3fb5f0441ebe6dbb5c53e4045ca363d2
|
|
| MD5 |
2d7c9392d93b7370c9d589383ca8ba6b
|
|
| BLAKE2b-256 |
c38b598f2d5cc80b83bb7c137bb9f4c90560a7b6dc48c18a966314c52cdecb7b
|
File details
Details for the file marktip-0.1.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 385.6 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c7e18f25433fb79f7ee7ef23f5604a9c0b346c5f8e2aa245aff9e7cfe5929a1
|
|
| MD5 |
1d111407745d54a0fb10b2e3d58f84ca
|
|
| BLAKE2b-256 |
5e7c9fd27b3050fe89a7341e3980ffc276d550b911ab88316fa2e2bf6ec76800
|
File details
Details for the file marktip-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 209.3 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
952607eec3da45c5b8ec94f1af97267ee458a2cedd23cc38d99c9e3aa805a3a2
|
|
| MD5 |
7ce068a675a8e1916f1193f9ad12b8d1
|
|
| BLAKE2b-256 |
ad6a99c801cebe16d9340a8eddda0669750d0f5097e48247e6c1e41d3302dc4c
|
File details
Details for the file marktip-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 162.1 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
712c6baaae573cf82c986739b23fa488bbb8fa6ad8bc1e3e902da54aca78f857
|
|
| MD5 |
365187570f23bc25de4c011a1c468971
|
|
| BLAKE2b-256 |
e8839eae8f153a719b6e7d190591defcec0b2ab8cab83cc23d5369bc752e47b4
|
File details
Details for the file marktip-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl
- Upload date:
- Size: 172.4 kB
- Tags: CPython 3.14, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fef147ce50675999c70a0e4af47611a6e61e1c770627e3b8d5af1ec825e7cc3e
|
|
| MD5 |
b93608a13920a6fb8a81c65e5460488e
|
|
| BLAKE2b-256 |
6855e73d48f7e341bd353176e718c4ef5aacb6a2f391fd7ba777de7198363362
|
File details
Details for the file marktip-0.1.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 373.3 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1396427652f28668946187ecef12be973cebaa94c50eca8cf5bb9494c440735
|
|
| MD5 |
b66ad8241cc069fbfbd0cc284272f6c6
|
|
| BLAKE2b-256 |
d0cbb559fc4578ff8df145ba652a338c38c62341c3cf52bd7183f26e48683ff8
|
File details
Details for the file marktip-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 209.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f644a67a43dea7a79a56376b93baa046927bb0af7122d7a5282e7d20e083f74b
|
|
| MD5 |
ddbe463fd3d46b8fbd6c8722322fc3ab
|
|
| BLAKE2b-256 |
9bfa24a41de42d48bfaac7f89d2bd501f349bc0a7727d523a26b3c4cc9036a34
|
File details
Details for the file marktip-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 162.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8977fac8ad956cafe1728bc6e7907efa38c43a246d850a7f06492910d8147698
|
|
| MD5 |
9c164debd6ea24386668f40bb52f6388
|
|
| BLAKE2b-256 |
d18b068e8141b2506b19e46dad645509b769b2746e3de2493d201c671eaed138
|
File details
Details for the file marktip-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 172.3 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9a5248d920a85431fc0d50eee04574b7b4d2e636489fe13ea6979dbd230fabf
|
|
| MD5 |
6c37acf6642ba714deca88993e6dbae4
|
|
| BLAKE2b-256 |
9756020950ce826dda995766accf380022843a81485e0a33bab4bc7b1e189f92
|
File details
Details for the file marktip-0.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 373.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce716fe3b5bf032408635101d33888b78407148b79e9c9039f011c51c1caa56c
|
|
| MD5 |
2d5cec87ae65775f25cda3fa1ee697b4
|
|
| BLAKE2b-256 |
7d2626391fb59f6456d31db3e14129ddd23b041b6ea45ecad35ca970889f9bb8
|
File details
Details for the file marktip-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 209.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2df9e6079ed2cb43bf59655329db4fd051d1b967b843e3b1946c29be4ebf87ce
|
|
| MD5 |
64dd6b744aee353f19f26db8a833cc74
|
|
| BLAKE2b-256 |
5c83332226645315e84ad76004ac96f53e3bc9e17e277840a8c7a5039a4f825e
|
File details
Details for the file marktip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 162.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8d745cb5e26e97b2cf06dbdad05e7041987d7a2f639e14dea2aa1f231de8edd
|
|
| MD5 |
01250dd5be21bac2f608d33a9678c0a2
|
|
| BLAKE2b-256 |
1e1c9caed98fe02fcc6ed1d3db3a8dbb21417b05fcabc6955161cdb058f8c8c9
|
File details
Details for the file marktip-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 172.2 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e28dd173f42671c2ec80f92a72ba7b2a17e65716eedb26c7cb9f249d648a3bf8
|
|
| MD5 |
02d465a26bb9ada5e5028ee5b7018de9
|
|
| BLAKE2b-256 |
9c69e92d96512f23a365d8d0fa67525bcf36eb99b603746ede2c66f1f450433e
|
File details
Details for the file marktip-0.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 371.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc1a5f4f515eee4574248852cf6644becb870b563a5d86e5d508b412eee6a0e1
|
|
| MD5 |
858b706d2507e11c40dad92e2c7931fd
|
|
| BLAKE2b-256 |
c43b3deb7e4fb75fc83569724f09e18a3210efce8c264a7428ad03e0e8c0cd77
|
File details
Details for the file marktip-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 208.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0fb9a3d0303e9e73f3695f5e3e3448fa49724ed722d959e053709a4faa403e5
|
|
| MD5 |
947f7aa2ff867740cba926ab650ab576
|
|
| BLAKE2b-256 |
3167317a3190e73ef81e4437a5c219c7ff445f0790fc273bfca68a7898d546f5
|
File details
Details for the file marktip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 161.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afa98d977608be563bd8b1449089fda65d301c3ab7100431aea67a3edaa7b0ca
|
|
| MD5 |
3820dfd5dfb2600a1b82b0d7962e65d7
|
|
| BLAKE2b-256 |
9359829238f5664a353908d2ba5ca0ef1ccf2721e2c4d5eda4bceedea331ef35
|
File details
Details for the file marktip-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 171.9 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25cd12770c2577d53748e6c0d1596a85b8e3d903ca45aafaedc40468d22f2e7c
|
|
| MD5 |
15607e17429f2b5903efc7e1a772c6ab
|
|
| BLAKE2b-256 |
5be889b14d212757812c7c3fc6a94904e18540afff4d45a1a52bc0ec1a148737
|
File details
Details for the file marktip-0.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 371.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
627224790e439dc724e1bdfc72d61371ae807b4705dbb794d1eb63f5249c2344
|
|
| MD5 |
15baca1e798ee20dd9ff8d1edc607983
|
|
| BLAKE2b-256 |
335fe8e9eaf842c7bfbd9643d5646c25158bd122c3e8dca10eb62e8d85977e51
|
File details
Details for the file marktip-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 206.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09e583b157bffca4b5b35577592c103d7776e7cd37d045f311076a99abe444ed
|
|
| MD5 |
57024e2c9fc186521056aaa5a0417249
|
|
| BLAKE2b-256 |
7e0887e9e6e11f264c77db3834d6e83fd779a9f0a78749b5f6dc248607c70dbc
|
File details
Details for the file marktip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 160.7 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c0eefb60c35856522c8a60100a5f1f863b55ddaa9e45f5966efae9cab543e3a
|
|
| MD5 |
13db31fe8e0d2b548b02a6fa9e6c8e53
|
|
| BLAKE2b-256 |
f590f943ec70ff84c7581696b5f8efbf0a2d4a476dd3c04d6530605fe85e0353
|
File details
Details for the file marktip-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 170.6 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a0df90c81bf964bc817f1b2b968db9f073e4b39fbb1b54cb4f542a83e41fa7e
|
|
| MD5 |
1f4830c45cc2aae32780422066c87a90
|
|
| BLAKE2b-256 |
0daf78ebcc2a40e41a8872a9167ca7143f473e4ed3ed4c205049e0242d33695d
|
File details
Details for the file marktip-0.1.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: marktip-0.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 372.1 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdeeec15c8df205b52d4f4cc85b86724620f878850b7e2f9a40c3ff963f01c0a
|
|
| MD5 |
26105dda7aafb78d5d0063f2f5dee7f5
|
|
| BLAKE2b-256 |
3f28f0cadb69dee0134259bad068d11ac33cb93d2ac710c409a52bf8d1483747
|
File details
Details for the file marktip-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 206.7 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
524be3981f95929791df8f848331c8074a0d6ca87092fd032097339042d84fd1
|
|
| MD5 |
d689fbb160e8757168ed9f9c7b0d7895
|
|
| BLAKE2b-256 |
162739c2a15ddc0c5001a1800bb17f2b6ae93e94e11ddbaa9c19b42dc17d98b3
|
File details
Details for the file marktip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: marktip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 160.9 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79190a2c953751a6f3a4573595e6bb72cb6665486574cae5230c822b214c192c
|
|
| MD5 |
ebf74a338ea738c298c021a012616700
|
|
| BLAKE2b-256 |
b0d9431136edf121b8c8f0206e452630493c1e1ec516ea004e06b23546f3ea42
|
File details
Details for the file marktip-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: marktip-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 170.7 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0108426307c045ab24498172a3a07690451d71da70370bf0713fc34f80c8dde
|
|
| MD5 |
6beec93241ea89398c67343376b0f7a4
|
|
| BLAKE2b-256 |
549922bc564fd92656de3506cae13fc02e8b6e66f4a662cf2b59573b37c1faf5
|