A python wrapper for toml++
Project description
pytomlpp
This is an python wrapper for toml++
(https://marzer.github.io/tomlplusplus/).
Some points you may want to know before use:
- Using
toml++
means that this module is fully compatible with TOML v1.0.0. - We convert toml structure to native python data structures (dict/list etc.) when parsing, this is more inline with what
json
module does. - The binding is using pybind11.
- The project is tested using toml-test and pytest.
Example
In [1]: import pytomlpp
In [2]: toml_string = 'hello = "世界"'
In [3]: pytomlpp.loads(toml_string)
Out[3]: {'hello': '世界'}
In [4]: type(_)
Out[4]: dict
In [6]: pytomlpp.dumps({"你好": "world"})
Out[6]: '"你好" = "world"'
Why bother?
There are some existing python TOML parsers on the market but from my experience they are implemented purely in python which is a bit slow.
Parsing data.toml 5000 times:
pytomlpp: 0.846 s
tomli: 3.317 s (3.9x slower)
toml: 5.697 s (6.7x slower)
qtoml: 8.473 s (10.0x slower)
tomlkit: 43.250 s (51.0x slower)
Test it for yourself using the benchmark script.
Installing
We recommand you to use pip
to install this package:
pip install pytomlpp
You can also install from source:
git clone git@github.com:bobfang1992/pytomlpp.git --recurse-submodules=third_party/tomlplusplus --shallow-submodules
cd pytomlpp
pip install .
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
pytomlpp-1.0.7.tar.gz
(974.5 kB
view hashes)
Built Distributions
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f21d9a92821b51eb88996e9e28567dd1d481d5a712133897697c2689dff9bb7 |
|
MD5 | 8fe9643ef3fd6b89b47a1791325bd0c9 |
|
BLAKE2b-256 | 67d5b3947c38f787c0030751085031fa6195f79919855dcf490a11f98e96489e |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6508c98790f0c44556ceb5cebd280aba8310bac1db74af25ef0f77412b2daff0 |
|
MD5 | 45f5e3733a10b1496977538734803da8 |
|
BLAKE2b-256 | 973433d5ac4822904ec620f6388960aac2a16b4d8dd59d029bfb3a9b6c1c52fc |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f23dc69d6774b751ad21533070049aec0f7e7961faf614c585f0d658c22fe38d |
|
MD5 | 28794da6f607f2a9ea18c3e95d462758 |
|
BLAKE2b-256 | 6289f1a53662035e7179ece3b87a20c30339ac46f85fc71f058638f5b80cba5c |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e12fe92ca0fc438ece083076f869986b452f118885982b3bc9146e5b3dd769f |
|
MD5 | f45e8317a561541296f35413bc76ad49 |
|
BLAKE2b-256 | 42a5d76f5897883b157a0348c96f078bfc586276dcc087c73ba667aedbec67d1 |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ff74ba056b163419a5c5740728b3a9d181ae6c35ca4a177081b6e271cc71a24 |
|
MD5 | 3ae48988c43b0ee7a4dd0f708eb9d68a |
|
BLAKE2b-256 | e411d824a2b1fe5fc24fb56c97a0b255dfb601029d4818117ad261eb6d5643dc |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92186dc1672fa451e1a381705744d9ebdbb51b8bc652f61782cd41abd1402674 |
|
MD5 | 0b0a13e5084b36941c6505cdf258a52d |
|
BLAKE2b-256 | 08c2325dda1c463b8dffc04603f3f51e9d12be99212e984ba375fdfac0a981c5 |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eef9f5e3d28130ee1b3bb9f91837119d2221035050e6fe11e951df1304478ebf |
|
MD5 | 8ef70675232299fbadd5cd5c4680fe0e |
|
BLAKE2b-256 | 855011111895e67607a270838446f16b22352f6fb5782458b83b9012bf3e913c |
Close
Hashes for pytomlpp-1.0.7-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d6e0c418e69b105f91f749a0831228f7e7bd1189871f3959df8d6342dac0640 |
|
MD5 | d869dec6a0cab940680a14822f200022 |
|
BLAKE2b-256 | 4dbe6c9ce694dbcd00cbd7a1fb8e0f21ffe30ed0b05e494b5bf283a38a51c4a0 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 491c53c0b40a445fd67f6bd5bb05ea2161de3b7afcba64da4d9740a868a15856 |
|
MD5 | e5764ab17e6b5b0cb9917d5eb238c562 |
|
BLAKE2b-256 | 14f83ec950ac95376c21f1c1d9c0540e39a45b406871688e3fda8d719be95d4f |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d793a7a5a67c6b478f34b63f1c89bfcf847fa5cdc5f3a9a1a58c7ae6255da295 |
|
MD5 | f2c735072148f6bad11eee3c1a0a28ae |
|
BLAKE2b-256 | 9ba8cf92ec3d2732443126039f1152c40a950d8fdd5abd59cdf93b12f84f1e63 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f560753a618336e3f9f48b47534117194b8e2c6fd0a17f3c51866e90d777abce |
|
MD5 | 6435ad770faf181365dd6ed378798466 |
|
BLAKE2b-256 | 4b2960210f5a5ea5ba1377dc1a94353973b2281f668ce12be50b7f5c0134c909 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a068502c72c50ea8bfbf2903b8b502ba800725d507653fbe8472784f806be45d |
|
MD5 | bd9348e75365136435538987a1c5f8f7 |
|
BLAKE2b-256 | 832b4210d9382a420347c40758f0b775017041d9feb8cba8962798d99bc5184e |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9207ec0cb83dd337dd4c9ba91b1056ba277cedbfb16d4a866ead84521e668b34 |
|
MD5 | c1c9f02b3d319e64a242407e3fd17398 |
|
BLAKE2b-256 | 14a98788cd6a225e73858399b73c25e316d4c94e5a3184502ad1a3c260e27164 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53751b17c7ec75f11e4cd52a9ba219cec63289f7e201f8cb7644810806f8654a |
|
MD5 | 0bf8ef77fed3142cb0ca656c56c5f4e9 |
|
BLAKE2b-256 | 1e427aab27e519a3626900c13bcc783cecc4a730fc7f589d963d1f84b3249f85 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17a8d0615ba67d8d092c0e976c121b9aa3d7cc62d0bda31a25ca08aa0cc65a24 |
|
MD5 | 5a62723f2d0cf75798a9afb687208051 |
|
BLAKE2b-256 | 7069180cb2af9274777a76dee98170deaa494e4e5bc7e3c2d73597996b9dcb51 |
Close
Hashes for pytomlpp-1.0.7-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e3c5463b2640dcecb94f36dbeb20c6eaa3f38b22c022b60f43bf9806573ca45 |
|
MD5 | 0a4b669e7cb3d8d9b1e08ceaea4b9e65 |
|
BLAKE2b-256 | 9b3d64d0b14b4237032fb7d6414c0587ce4b2e1bf03b6d18bd0fb32aa3e0194b |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d94ee9b30a507bc4d6c9483ccc022a869913da3d3780399e77281bbd87ad73f |
|
MD5 | a0cf7ab814817d8a39ccbbee1003080c |
|
BLAKE2b-256 | 1c77a7c08f657da9fa7c32ff6d74890f8c2583bf51eab2ad482bc95d30686b3a |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd28292b81c0ef4701ec292c83e3789f21d7f6608bd5dfe8f9834e903e407877 |
|
MD5 | e2824e9206259ad0edf345695a111644 |
|
BLAKE2b-256 | 4898653bf8fe63968ed47606b35ae5b687683fea5fba267fda2214bc1c4ad444 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcb5c67f0ebb10e4594f39af558b390ef8f4064bf105d84d9ea5cb2c2e6ad96d |
|
MD5 | edaed404fd3eb38779aa1b8f5c091a37 |
|
BLAKE2b-256 | a4552db9601d48a4b08571544d217bb244d00c648bed1e9ec6bec27bab48e945 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e8310fc61ede0cc9f0cbf3b23fc479711044efa933e87c10393276cb77e0226 |
|
MD5 | 6b67fd45ba64583365bfe26d2ee61633 |
|
BLAKE2b-256 | ea2d7350bed97171901ae326497a09a727ec222de06c35bf36e4b65dfe273949 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5705bb548ebad29efeaad17fd2e02dce99bd29acdd5ff5f1d1f477cce2b195d |
|
MD5 | 653fc07b9de76e4ca7ea51f60393e12f |
|
BLAKE2b-256 | 1a76144e7c73a160b34822868f243e3670284d78355371e68edf0aca67dd5e48 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d327c930c85e61b9635b2842ea856e44620436c99aa613d3a5eb1d124af01d09 |
|
MD5 | 3b04f77c138a65f6c114c0dda7c3c6e9 |
|
BLAKE2b-256 | 3e08af821be7c91591efd04c0cecbd381d01c818043b7a7818a469ca4b9632c9 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b340100f5b1edd9fde2bfb82d30ab5c4120609b3822383aae5888a2985c1855 |
|
MD5 | d32c523bf3df5286b3640fcadf94f861 |
|
BLAKE2b-256 | 419c586e7e87055caf4fe955e87a6f9899b6306814fe16b7f53fdb89ed6ba4b9 |
Close
Hashes for pytomlpp-1.0.7-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3a2018515a20029b6becda6166e377bce1a12abf7fed3ef209ad65b90910540 |
|
MD5 | 7d16ccd0903f0bde1fd8d482bdace902 |
|
BLAKE2b-256 | 5cbac9bdcde03a59864591cb4a59d1b6b3076c1e4d67cf60e10dd23e32cf1843 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db8f67bdbff6ea57b1b76b05b98a6606af598d6dd13109051dce56ab7e47cbfe |
|
MD5 | 8ff1994ff9029d47e3520ac4811cd664 |
|
BLAKE2b-256 | a28d8a6d0b24ffc7d73a4fb3480eac91a95f80f67f4b0bc716747185d72f0901 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ed7f6fb70f433d5e8830e60e6e9949f55d58fbf5924ea31873b48bdb0ffad5 |
|
MD5 | 5924e5c31393cb98e770c1d6865a7208 |
|
BLAKE2b-256 | bed4cd485a4a18bc3afac5406d8b5ac416314b4f9fed676c6bf9e55d6b751b29 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58d8c0587adb1662265f52b0447d7e444a2fff6beab6071a0a4177b6b5da8f97 |
|
MD5 | 4a59a8791a1e1b9c9175d3532f79c53a |
|
BLAKE2b-256 | 3b8c1512a46b2609c525f786eb279dc8327211208fb353ced893f3032c7fa522 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8004df0b8633c4e218181c2003221007d05cb5a6d44e668037cff0d07e3dd4e1 |
|
MD5 | 39b5d3fd82162756f0b7f08a9a954246 |
|
BLAKE2b-256 | adb341fffa513918c10bd3efd59501a4075d20e66deb1745590a75003ac3cc84 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d5516b7fdaaacb1936a77649787ff5e6a092f5dc984fd78513f040c8e38f345 |
|
MD5 | e7f9d9adc70a2d3555aa14866e1002d4 |
|
BLAKE2b-256 | 3c0f128b32c48cdc2aef8ff0b895b12b45f9d7e567e0f39a5a47d05ca66f09f8 |
Close
Hashes for pytomlpp-1.0.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77b2e5e3c2004a183cff660b8a67a6b46f1495c3ffca5a95bc969bc5d6e0eda1 |
|
MD5 | d9a88eedbeb5805d73bd1b259c1cc420 |
|
BLAKE2b-256 | fcf98386fa4376e524a9b8aaf96ed53ffed39e32fd883445762db76e6364cdd1 |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29ec90d62260334c889a8de38fb2abec572df0a4032f149bf2d5094cd3780d56 |
|
MD5 | e4ca8894cc5b2f8d41a1a9b6b2327215 |
|
BLAKE2b-256 | 6e8fffc76b53fa96fbabb8323528d2b3f4e2d0cdea0337f7ce712f43bf771cb1 |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cff8ed59670f5121c61190a22d9a786d173676f6133106a3372e5c6845b06e70 |
|
MD5 | 99d8a7c09268e160dc4ca393cdef761e |
|
BLAKE2b-256 | 71922ddadeff2ea6d070f8569afd004f7893a10f202b3c9ad04c0e80d6353f89 |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcb1a3d1731cbde542d590dc9b53813fe390c1ff3e0860311a220b2ccf9c1269 |
|
MD5 | f007badf71b223f291d7c1d6667f2055 |
|
BLAKE2b-256 | c7858d162c9ea53a21f47a7587ced8729ab2e7eac02fe63340a295072bd88001 |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff1bb620be451b642bddf662849dab1009c5b61e8bcff67151fb21e9fca0eb42 |
|
MD5 | eee8c00775dd3a0c306a4a251ecfa119 |
|
BLAKE2b-256 | ed05e7d45e5ee105fe86bf663bc258bc3db7714049921552d8200d69dc0d14f6 |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41615b28459eecccc30652a28dee4f72832bc077532481d173d40c6b7b27aea3 |
|
MD5 | aa37c55d3a3041083c76b90601bdfe16 |
|
BLAKE2b-256 | cfb9d6f017471bceb5990e2b36faab615137fab18f9ef960639feb0d4a702d8f |
Close
Hashes for pytomlpp-1.0.7-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05a582fde4583a740262f16f207b74146184e159e3a2c76479e362b00e7587f7 |
|
MD5 | da6f65c1222e7b0bdd514d99c7b70e8e |
|
BLAKE2b-256 | ecb57ffea42fca186ce719748ae36efc1fe6f8c396b65c015fd9f2be236a2d6c |