Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marktip-0.1.0.tar.gz (88.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

marktip-0.1.0-cp314-cp314-win_amd64.whl (385.6 kB view details)

Uploaded CPython 3.14Windows x86-64

marktip-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (209.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (162.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

marktip-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl (172.4 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

marktip-0.1.0-cp313-cp313-win_amd64.whl (373.3 kB view details)

Uploaded CPython 3.13Windows x86-64

marktip-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (209.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (162.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

marktip-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl (172.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

marktip-0.1.0-cp312-cp312-win_amd64.whl (373.2 kB view details)

Uploaded CPython 3.12Windows x86-64

marktip-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (209.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (162.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

marktip-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl (172.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

marktip-0.1.0-cp311-cp311-win_amd64.whl (371.6 kB view details)

Uploaded CPython 3.11Windows x86-64

marktip-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (208.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (161.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

marktip-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (171.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

marktip-0.1.0-cp310-cp310-win_amd64.whl (371.0 kB view details)

Uploaded CPython 3.10Windows x86-64

marktip-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (206.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (160.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

marktip-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (170.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

marktip-0.1.0-cp39-cp39-win_amd64.whl (372.1 kB view details)

Uploaded CPython 3.9Windows x86-64

marktip-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (206.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

marktip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (160.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

marktip-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl (170.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

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

Hashes for marktip-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57ad5baaada6954c72a490dca6ff17bd3fb5f0441ebe6dbb5c53e4045ca363d2
MD5 2d7c9392d93b7370c9d589383ca8ba6b
BLAKE2b-256 c38b598f2d5cc80b83bb7c137bb9f4c90560a7b6dc48c18a966314c52cdecb7b

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1c7e18f25433fb79f7ee7ef23f5604a9c0b346c5f8e2aa245aff9e7cfe5929a1
MD5 1d111407745d54a0fb10b2e3d58f84ca
BLAKE2b-256 5e7c9fd27b3050fe89a7341e3980ffc276d550b911ab88316fa2e2bf6ec76800

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 952607eec3da45c5b8ec94f1af97267ee458a2cedd23cc38d99c9e3aa805a3a2
MD5 7ce068a675a8e1916f1193f9ad12b8d1
BLAKE2b-256 ad6a99c801cebe16d9340a8eddda0669750d0f5097e48247e6c1e41d3302dc4c

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 712c6baaae573cf82c986739b23fa488bbb8fa6ad8bc1e3e902da54aca78f857
MD5 365187570f23bc25de4c011a1c468971
BLAKE2b-256 e8839eae8f153a719b6e7d190591defcec0b2ab8cab83cc23d5369bc752e47b4

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fef147ce50675999c70a0e4af47611a6e61e1c770627e3b8d5af1ec825e7cc3e
MD5 b93608a13920a6fb8a81c65e5460488e
BLAKE2b-256 6855e73d48f7e341bd353176e718c4ef5aacb6a2f391fd7ba777de7198363362

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c1396427652f28668946187ecef12be973cebaa94c50eca8cf5bb9494c440735
MD5 b66ad8241cc069fbfbd0cc284272f6c6
BLAKE2b-256 d0cbb559fc4578ff8df145ba652a338c38c62341c3cf52bd7183f26e48683ff8

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f644a67a43dea7a79a56376b93baa046927bb0af7122d7a5282e7d20e083f74b
MD5 ddbe463fd3d46b8fbd6c8722322fc3ab
BLAKE2b-256 9bfa24a41de42d48bfaac7f89d2bd501f349bc0a7727d523a26b3c4cc9036a34

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8977fac8ad956cafe1728bc6e7907efa38c43a246d850a7f06492910d8147698
MD5 9c164debd6ea24386668f40bb52f6388
BLAKE2b-256 d18b068e8141b2506b19e46dad645509b769b2746e3de2493d201c671eaed138

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f9a5248d920a85431fc0d50eee04574b7b4d2e636489fe13ea6979dbd230fabf
MD5 6c37acf6642ba714deca88993e6dbae4
BLAKE2b-256 9756020950ce826dda995766accf380022843a81485e0a33bab4bc7b1e189f92

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ce716fe3b5bf032408635101d33888b78407148b79e9c9039f011c51c1caa56c
MD5 2d5cec87ae65775f25cda3fa1ee697b4
BLAKE2b-256 7d2626391fb59f6456d31db3e14129ddd23b041b6ea45ecad35ca970889f9bb8

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2df9e6079ed2cb43bf59655329db4fd051d1b967b843e3b1946c29be4ebf87ce
MD5 64dd6b744aee353f19f26db8a833cc74
BLAKE2b-256 5c83332226645315e84ad76004ac96f53e3bc9e17e277840a8c7a5039a4f825e

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8d745cb5e26e97b2cf06dbdad05e7041987d7a2f639e14dea2aa1f231de8edd
MD5 01250dd5be21bac2f608d33a9678c0a2
BLAKE2b-256 1e1c9caed98fe02fcc6ed1d3db3a8dbb21417b05fcabc6955161cdb058f8c8c9

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e28dd173f42671c2ec80f92a72ba7b2a17e65716eedb26c7cb9f249d648a3bf8
MD5 02d465a26bb9ada5e5028ee5b7018de9
BLAKE2b-256 9c69e92d96512f23a365d8d0fa67525bcf36eb99b603746ede2c66f1f450433e

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc1a5f4f515eee4574248852cf6644becb870b563a5d86e5d508b412eee6a0e1
MD5 858b706d2507e11c40dad92e2c7931fd
BLAKE2b-256 c43b3deb7e4fb75fc83569724f09e18a3210efce8c264a7428ad03e0e8c0cd77

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0fb9a3d0303e9e73f3695f5e3e3448fa49724ed722d959e053709a4faa403e5
MD5 947f7aa2ff867740cba926ab650ab576
BLAKE2b-256 3167317a3190e73ef81e4437a5c219c7ff445f0790fc273bfca68a7898d546f5

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afa98d977608be563bd8b1449089fda65d301c3ab7100431aea67a3edaa7b0ca
MD5 3820dfd5dfb2600a1b82b0d7962e65d7
BLAKE2b-256 9359829238f5664a353908d2ba5ca0ef1ccf2721e2c4d5eda4bceedea331ef35

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 25cd12770c2577d53748e6c0d1596a85b8e3d903ca45aafaedc40468d22f2e7c
MD5 15607e17429f2b5903efc7e1a772c6ab
BLAKE2b-256 5be889b14d212757812c7c3fc6a94904e18540afff4d45a1a52bc0ec1a148737

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 627224790e439dc724e1bdfc72d61371ae807b4705dbb794d1eb63f5249c2344
MD5 15baca1e798ee20dd9ff8d1edc607983
BLAKE2b-256 335fe8e9eaf842c7bfbd9643d5646c25158bd122c3e8dca10eb62e8d85977e51

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09e583b157bffca4b5b35577592c103d7776e7cd37d045f311076a99abe444ed
MD5 57024e2c9fc186521056aaa5a0417249
BLAKE2b-256 7e0887e9e6e11f264c77db3834d6e83fd779a9f0a78749b5f6dc248607c70dbc

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c0eefb60c35856522c8a60100a5f1f863b55ddaa9e45f5966efae9cab543e3a
MD5 13db31fe8e0d2b548b02a6fa9e6c8e53
BLAKE2b-256 f590f943ec70ff84c7581696b5f8efbf0a2d4a476dd3c04d6530605fe85e0353

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a0df90c81bf964bc817f1b2b968db9f073e4b39fbb1b54cb4f542a83e41fa7e
MD5 1f4830c45cc2aae32780422066c87a90
BLAKE2b-256 0daf78ebcc2a40e41a8872a9167ca7143f473e4ed3ed4c205049e0242d33695d

See more details on using hashes here.

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

Hashes for marktip-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cdeeec15c8df205b52d4f4cc85b86724620f878850b7e2f9a40c3ff963f01c0a
MD5 26105dda7aafb78d5d0063f2f5dee7f5
BLAKE2b-256 3f28f0cadb69dee0134259bad068d11ac33cb93d2ac710c409a52bf8d1483747

See more details on using hashes here.

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

File hashes

Hashes for marktip-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 524be3981f95929791df8f848331c8074a0d6ca87092fd032097339042d84fd1
MD5 d689fbb160e8757168ed9f9c7b0d7895
BLAKE2b-256 162739c2a15ddc0c5001a1800bb17f2b6ae93e94e11ddbaa9c19b42dc17d98b3

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79190a2c953751a6f3a4573595e6bb72cb6665486574cae5230c822b214c192c
MD5 ebf74a338ea738c298c021a012616700
BLAKE2b-256 b0d9431136edf121b8c8f0206e452630493c1e1ec516ea004e06b23546f3ea42

See more details on using hashes here.

File details

Details for the file marktip-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for marktip-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e0108426307c045ab24498172a3a07690451d71da70370bf0713fc34f80c8dde
MD5 6beec93241ea89398c67343376b0f7a4
BLAKE2b-256 549922bc564fd92656de3506cae13fc02e8b6e66f4a662cf2b59573b37c1faf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page