Convert between various formats (YAML, JSON, XLSX, ODS, CSV) to Markdown Tables
Project description
madato
madato is a library and command line tool for working tabular data, and Markdown
madato (library)
- this library, which reads YAML, CSV, JSON, XLSX/ODS and writes Markdownmadato (cli)
- providing a helpful command line tool of the above- The full library is available as a python module, or a rust library.
The tools is primarly centered around getting tabular data (spreadsheets, CSVs) into Markdown.
Usage
CLI
Download from https://github.com/inosion/madato/releases
Rust
The library, if you need spreadsheet support, then add the spreadsheets
feature.
madato = { version = "0", features = ["spreadsheets"] }
Python
pip install madato
Details
When generating the output:
- Filter the Rows using basic Regex over Key/Value pairs
- Limit the columns to named headings
- Re-order the columns, or repeat them using the same column feature
- Only generate a table for a named "sheet" (applicable for the XLS/ODS formats)
Madato is:
- Command Line Tool (Windows, Mac, Linux) - good for CI/CD preprocessing
- Rust Library - Good for integration into Rust Markdown tooling
- Node JS WASM API - To be used later for Atom and VSCode Extensions
Madato expects that every column has a heading row. That is, the first row are headings/column names. If a cell in that first row is blank, it will create NULL0..NULLn
entries as required.
Example CLI usage
- Extract the
3rd Sheet
sheet from an MS Excel Document
08:39 $ madato table --type xlsx test/sample_multi_sheet.xlsx --sheetname "3rd Sheet"
|col1|col2| col3 |col4 | col5 |NULL5|
|----|----|------|-----|-------------------------------------------------------|-----|
| 1 |that| are |wider| value ‘aaa’ is in the next cell, but has no heading | aaa |
|than|the |header| row | (open the spreadsheet to see what I mean) | |
- Extract and reorder just 3 Columns
08:42 $ madato table --type xlsx test/sample_multi_sheet.xlsx --sheetname "3rd Sheet" -c col2 -c col3 -c NULL5
|col2| col3 |NULL5|
|----|------|-----|
|that| are | aaa |
|the |header| |
- Pull from the
second_sheet
sheet - Only extract
Heading 4
column - Use a Filter, where
Heading 4
values must only have a letter or number.
08:48 $ madato table --type xlsx test/sample_multi_sheet.xlsx --sheetname second_sheet -c "Heading 4" -f 'Heading 4=[a-zA-Z0-9]'
| Heading 4 |
|--------------------------|
| << empty |
|*Some Bolding in Markdown*|
| `escaped value` foo |
| 0.22 |
| #DIV/0! |
| “This cell has quotes” |
| 😕 ← Emoticon |
- Filtering on a Column, ensuring that a "+" is there in
Trend
Column
09:00 $ madato table --type xlsx test/sample_multi_sheet.xlsx --sheetname Sheet1 -c Rank -c Language -c Trend -f "Trend=\+"
| Rank | Language |Trend |
|------------------------------------------------------|------------|------|
| 1 | Python |+5.5 %|
| 3 | Javascript |+0.2 %|
| 7 | R |+0.0 %|
| 12 | TypeScript |+0.3 %|
| 16 | Kotlin |+0.5 %|
| 17 | Go |+0.3 %|
| 20 | Rust |+0.0 %|
Internals
madato uses:
- calamine for reading XLS and ODS sheets
- wasm bindings to created JS API versions of the Rust API
- regex for filtering, and serde for serialisation.
- PyO3 and Maturin for Python Support
Tips
- I have found that copying the "table" I want from a website: HTML, to a spreadsheet, then through
madato
gives an excellent Markdown table of the original.
Python
pip install madato
# py
from IPython.display import display, Markdown
import madato
display(Markdown(madato.spreadsheet_to_md("../test/Financial Sample.xlsx")
print(madato.spreadsheet_to_md(str(my_sample_spreadsheet)))
- For more examples see pysource/tests
More Commandline
Sheet List
You can list the "sheets" of an XLS*, ODS file with
$ madato sheetlist test/sample_multi_sheet.xlsx
Sheet1
second_sheet
3rd Sheet
YAML to Markdown
Madato reads a "YAML" file, in the same way it can a Spreadsheet. This is useful for "keeping" tabular data in your source repository, and perhaps not the XLS.
madato table -t yaml test/www-sample/test.yml
|col3| col4 | data1 | data2 |
|----|-------|---------|--------------------|
|100 |gar gar|somevalue|someother value here|
|190x| | that | nice |
|100 | ta da | this |someother value here|
Please see the test/www-sample/test.yml file for the expected layout of this file
Excel/ODS to YAML
Changing the output from default "Markdown (MD)" to "YAML", you get a Markdown file of the Spreadsheet.
madato table -t xlsx test/sample_multi_sheet.xslx.xlsx -s Sheet1 -o yaml
---
- Rank: "1"
Change: ""
Language: Python
Share: "23.59 %"
Trend: "+5.5 %"
- Rank: "2"
Change: ""
Language: Java
Share: "22.4 %"
Trend: "-0.5 %"
- Rank: "3"
Change: ""
Language: Javascript
Share: "8.49 %"
...
If you omit the sheet name, it will dump all sheets into an order map of array of maps.
Features
[x]
Reads a formatted YAML string and renders a Markdown Table[x]
Can take an optional list of column headings, and only display those from the table (filtering out other columns present)[X]
Native Binary Command Line (windows, linux, osx)[X]
Read an XLSX file and produce a Markdown Table[X]
Read an ODS file and produce a Markdown Table[X]
Read a CSV[X]
Published as a Python Module[ ]
TSV, PSV (etc) file and produce a Markdown Table[ ]
Support Nested Structures in the YAML input[ ]
Read a Markdown File, and select the "table" and turn it back into YAML
Future Goals
- Finish the testing and publishing of the JS WASM Bindings. (PS - it works.. (see : test/www-sample and the Makefile )
- Embed the "importing" of YAML, CSV and XLS* files into the
mume
Markdown Preview Enhanced Plugin. https://shd101wyy.github.io/markdown-preview-enhanced/ So we can have Awesome Markdown Documents. - Provide a
PreRenderer
for `rust-lang-nursery/mdBook to "import" MD tables from files.
Known Issues
- A Spreadsheet Cell with a Date will come out as the "magic" Excel date number :-( - https://github.com/tafia/calamine/issues/116
License
Serde is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
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
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a556f1d04d56ff225a68fbc4a7a64c2ff01ce6905adbc0d3d847211eb74e41d9 |
|
MD5 | fc8c129ccd47a30c69bd681ca378886e |
|
BLAKE2b-256 | 03c4f31c15d6e04a15f618bd1413aca7f7949d775791e03c407a63922e0794d1 |
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0761630caf98fd927c037af76b34929f22534a3def349bf02b6095c1e0b5d366 |
|
MD5 | 7521c0849d3cdc86df0e49f0fb7348d8 |
|
BLAKE2b-256 | d9e2ea100148354882e958c374c06b2c5d09dbed86718ef3aeb5099e4d4e5670 |
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa804202a6ec45871c0bbea4be9937d4fd293ff12d82ffc72da962e794000ccc |
|
MD5 | b1d128fc4716136c1b9aacea2971f52b |
|
BLAKE2b-256 | 141520476f6a5160e1514b2b74fb7bc15dee08895f4b45eb69a75afe56a7aab7 |
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5f941985eadab0441c30cd4407423d854c7be008e26bd41d8ba0c7f9d80da93 |
|
MD5 | 32d312f2268a14d94b9e4caf84ee10b9 |
|
BLAKE2b-256 | c1d12db1a9c86afcb85a05a450631294296bd271c5c7bf4f6f9f0777fd708cd0 |
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4edf3ba059b71a188f332f86d38c1a35394f249ba74db221a109dce98a94644 |
|
MD5 | 7bfe40bd6bc8ebe6eb97d93fa97a4ebc |
|
BLAKE2b-256 | a05d37ce34abc6a46ed900108481e017498f53deed527a227c6323678216f160 |
Hashes for madato-0.7.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3ae8849613b641ef5a1805a496d65030b8182cfda1813e6c454e38d094c7ee0 |
|
MD5 | 58081dc134621515cc9c86f33dbfac8a |
|
BLAKE2b-256 | 292fffa6e11504890cfae2c36638e0b732513937440a1da4729a9a1d1e8aa904 |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 908966ef8f9e170597aff2257e0d57d446137871e1b551bc43ba89a3d668679f |
|
MD5 | 879273d9ff34a611f9f92c4c26c69eb0 |
|
BLAKE2b-256 | e1d26b8afffa9e5b3ea54771cf38729edbaf9973c02e7302ab9af96971e57e6b |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0927dec423451663c112ac438eedd3222d1e702bcaa4fad43fc805980ac9fc26 |
|
MD5 | 41428cc3c3d31da3b87cf8e4b15fee0f |
|
BLAKE2b-256 | 15994314fab5d661810424444d16195e40c099275d447f5497006e7848ccbb98 |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9c1de5c4449c20c8ab15fd127a82fbc1dca9fdb300bc114e3aa548d7849d3f9 |
|
MD5 | 9d9445540945bd754d55a587cdaba8c0 |
|
BLAKE2b-256 | c53448c65bd0a4590517e672951fc5b485151cd5bddee7f4b59fc8f09dc86a8c |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d992ee95bebf1ea95cc6aa94252de46f4116a07f5475df7ca87b6f7078492cc0 |
|
MD5 | 256c91454a8263fadaf9212d4fb56bdc |
|
BLAKE2b-256 | ab1422faa20fc5e582508f76954eb0ea9dff147da9eb3f81aefa010120e33da3 |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 879e3f0af161927534073b06ae09633fb2143a2855add47ab3a5657488dbc2f1 |
|
MD5 | 52cc26377bffd0cc5760de8823be4eca |
|
BLAKE2b-256 | d51c97e1698246a0bd213349b76050b7e4c8639d7f56c79d56321379245ba732 |
Hashes for madato-0.7.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ff49b45236712a66ce8c903ff56d86847eaba57a60aa8ef73fcc5149ab1668 |
|
MD5 | a2fc0d5c9d92ab185c86d56c11987a4a |
|
BLAKE2b-256 | 7ef6961fee9a2437f60367ccadb53d60e7b481bf0669bc2304ee33486f5304d1 |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dec3fb760e6994ff1a87ea20f2929860b363abae0a6a70f14aa6725886e96900 |
|
MD5 | 4ed5b91f431c663264d3182f8616185a |
|
BLAKE2b-256 | 4fdb23f8681d709032c7c4e052e752925419fca7985c0e827c00f3a4295b611a |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d916c11926e095d2e5546da68c6780934e5455cabe904e8e672e6921b42dcf0 |
|
MD5 | e998e2e5cb1864ae7542e1d20bf532fd |
|
BLAKE2b-256 | dd4900947a7e0ce4fc32f5b46fdad67f427fd0850ba236929afab3567f9d260c |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 834332172911484e1d3c90278876834d61a019e9ca603a694f27222adbb8d13c |
|
MD5 | 2e348896c3f5b264021ff0fb65238976 |
|
BLAKE2b-256 | 09c040a75c2e3890e9b483c66b40190a4accdbdce43bab191217fc555146304a |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1d089732452201deb822e0be5b5be7c1829ceff486ff5c8a3de18343e6c67d9 |
|
MD5 | 872ec69be8493402ad3a7e1acce255af |
|
BLAKE2b-256 | 35aa0881bffbfec082249253a89e226ad36778ffade9b834cfccef45807ba97e |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f111818b0c282e1f9fe4cf80701d4f8b4a27cb250b3fc32de37658d1f21935ad |
|
MD5 | acd09db12492335512f24d99edd20d2d |
|
BLAKE2b-256 | 843107745cf832f62f1363e9b03082ad9944fa4d035558aa33d07da815352db2 |
Hashes for madato-0.7.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 917a91797f369d1d1703c14c58ef890d07d9e6319ca8bd5a09def452b5e6aeec |
|
MD5 | fa0b0ca358a140675feb05f1bf84f1e3 |
|
BLAKE2b-256 | e48bb48ef44046ce1745949a3d7ee1ed02b795fc655f470fb564e91f744fe4b1 |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 386f79b213aeb930c586fbd6254aa49c49bbb0ff63a9ff419a17f037dc9e35c3 |
|
MD5 | 46abee59883e18c0a98117cfdea600d4 |
|
BLAKE2b-256 | 10d1ab1dc6e9f302d9904a51db1b902c8b4f0af2a432f798ce704b944f243ba8 |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c15e3bfb48195f4853d5c7a8f8c9373249f23044d93f2c00e8004dc10bd22b6c |
|
MD5 | f402ee1f40ded04a1f35b7a67522ffa7 |
|
BLAKE2b-256 | fbd66e1f063b170730de1281a91a55e6f7818105d26fb43f5c03802fbd661956 |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bea97216038387735a1090700cef437a28c0815c31219543a524f34eef89bda8 |
|
MD5 | 67ec0f7612c6486eb46a72d06cd3b3f3 |
|
BLAKE2b-256 | 270ebd897116035fe78fb3b7c3f842027906d0f8f2077cb24f53c57de4c9c4f7 |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da19c4833698f19770f7a72fa0dfe4485818b87bee232b694297e82a1411df5b |
|
MD5 | 44ce2273a297d16a2ec8c37160d3a9cd |
|
BLAKE2b-256 | d821a61d15262f24988ac3e0b20925bfa883a8971388bec8a553750334e3fad1 |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38f3a8e398f4199fdd4990eb50cc682c540b0e4ffb1c4400e6dc4d9b6f4be5b2 |
|
MD5 | 82236658868446f9a92327aca25edf44 |
|
BLAKE2b-256 | 9841ba7ad38a7d6490449d37fa5b6ab4d2cd17731eedd4133e48b80621b4231e |
Hashes for madato-0.7.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab2f011c7d557ea54ec45b48b2316385e4e914f1f9c64f644a62c6ff4c74bb3 |
|
MD5 | 453a7a3c557a578584c62293c4882108 |
|
BLAKE2b-256 | 196783535dbffb8dc29ff9fbb099836694e4c36d29a98b38d28c97d0a141e58e |
Hashes for madato-0.7.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e862cfc50b68ce08ba0f487607a36de9989387694337d12d394dd518e9de0b0 |
|
MD5 | dffa0ed03e76d41e37087f83e40c92a3 |
|
BLAKE2b-256 | 8520db60dd4c1f2bedb3d2b6540ce25728ddaa21aaf2c4a2983a7380c1178850 |
Hashes for madato-0.7.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d5714479ead0f040471d6b30cf22f3f7e3d873932002dec597f1c30cd9f9b19 |
|
MD5 | a53a407e13e06a164988daa745c33b58 |
|
BLAKE2b-256 | 5879c36ce24f26d0cb981e853965e9a02d8eb6d4bb81c542f2905c4fabf44152 |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d358a7206349a249f108c8c7e69d86c40db22cf47cf02b8b376590c6376b44d2 |
|
MD5 | 1711576a3b4f20a3c7d62b04c4c63d63 |
|
BLAKE2b-256 | 89913b2cbff16f89468ceba197b441125b2ee70dcc4c7ff3efd7a570fdcfaafc |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc8fcf98b5b9d780e3a349c0be129541125a4c79472f87c2ad9dfcd7d0397142 |
|
MD5 | fec3f753446911b6c0b0e2ed573b80d7 |
|
BLAKE2b-256 | 0b4ee3f99b6ddb7db143047bd23fb329fa26d698d5d507a3f3544b461d29e4a3 |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb79c8418b40199315c239d2b4bb74c036d3f2887e8eda43af753e94b3b3837d |
|
MD5 | be653ea9694f43e8737df773fce7c9ac |
|
BLAKE2b-256 | e6e437c995688d046984db68084b6a879144d82b024f52969f4fa5cc24e12545 |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddc0ca48da5041b3f9898039b1dd83b4c8b7911cb96bd59c8d1266f2989a7afe |
|
MD5 | 0d3e1fd905ce5e0a09b773ddc64f2b07 |
|
BLAKE2b-256 | 1121913cccb6abe2196f28bb3752192ac7c8e596ce13e4bfcfd2924cb2ff1d08 |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4026e31ddb5544083aee3d7da06f7cd0717ccc60a456dd09a8bd3739dcdb3b9 |
|
MD5 | 2e723b553ac60bf2824376cc9db9e424 |
|
BLAKE2b-256 | 9535ec98f698b134bdd9604ec9e1557ce63f861dda699e26c1fe835ab20fcbf9 |
Hashes for madato-0.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d1767f624eb5270bf069c2afcd0ad81f7776c0111d8c4c1f540cad116316973 |
|
MD5 | 4037dcb23dab4a1f14b4a95008dbfb44 |
|
BLAKE2b-256 | 4090b49ceac282e8d450284a710de652f1f0b9084a76b517813a89f301577a80 |
Hashes for madato-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3c8beef20bacd8ac4c61db4e80eea1bc1ced2924c1e5671c9b1928e689ec202 |
|
MD5 | e70aee670a8a8860d43852c4e0e18670 |
|
BLAKE2b-256 | 364bbe90d5c98c787916c6c6748ed83ca852bcec7aca2e6636821be24409f665 |
Hashes for madato-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c36a76c27715b85c6780756bf2f1d052c8ec84229f5d48f7ab9cdad6fb940547 |
|
MD5 | 58f458c2a35e981e1fe4af4464b69c9a |
|
BLAKE2b-256 | b4489269155c89c7046613d54041de8396ab3e1b8293dc6c954b9903294cc958 |
Hashes for madato-0.7.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2131f2415e111dd17d1328c7c9ae029f695372363a0ce3330ccb83d90d285b84 |
|
MD5 | c83d4a03d079cfb7c7295326f2665b3a |
|
BLAKE2b-256 | 998f7577eee15b0ae59bbbc21725948d597713b660916849c4e76fe91aace175 |
Hashes for madato-0.7.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb85a3e25a586c81176b9ebed299f4e272bcfce6593bd24bc4b4c9fc9200cdb |
|
MD5 | 8d5697efcbe885dec15628e63e94d01b |
|
BLAKE2b-256 | f3c55cbb6c3f3f98b58a517232155891b6ea5a47ea7cb49136e3610ff7ab2d62 |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aaba4af494330343f0e5acfd185888986bba665e0ccbb515e20b02e608a0b70 |
|
MD5 | bc0c4580647912d401bc825810983017 |
|
BLAKE2b-256 | 3ec24d50b3762b12cd51a1ac08baf24d73dea23d4bb32f66cb08c6ad6d791ec9 |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7019c042bce06779ce8a12e34bce07880fa3aa89099863c349db4e128a8afb06 |
|
MD5 | 3043bab7d7cd551e92b582835992ef6d |
|
BLAKE2b-256 | 33fe3c4f42ad960c935fe2a6eff2e0e05018ee432c25ab9a88ad1b4d8b1a0bda |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb483041e2c3972975c5cbaea7992118d7e63d708d57935d6fdc01695f6aab7f |
|
MD5 | c3fc78ea2ce3338de38595f089425d04 |
|
BLAKE2b-256 | 2df330fb9af032011658dab0cb160623e8214bd660de974353a64692c1f03f8f |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad6676b5b095e740dc10e46542832c84dd9f943bbc19c0fa3f14984eb6f3b685 |
|
MD5 | 5c90eb8d6bda7b57ab6fa45a3b0f70fd |
|
BLAKE2b-256 | aaec020bead38edac4aeec9cefaf4d214db6717587611ab138b032a03c474ba8 |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9a6139f2cad1d76428721290cc129f126e9552ee25b8c2b877ddb85b75c02e3 |
|
MD5 | 60b1b5649c88920c2cd59b1a9b89d496 |
|
BLAKE2b-256 | 0415d232a8899887a400d7be68a4211f0baef82ad13d99517d08c5dc0cc5a1ca |
Hashes for madato-0.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eda6a6c60ce85aa10f347a7ae7f37a85eb4d2176ab717bd298882e9b7ea9ff8 |
|
MD5 | f5ca3acba043c481f1f4eb9841ecf7c4 |
|
BLAKE2b-256 | 1722e25708384a081dfc272c79eef1f7c96fab23d77cb7559e53dd2696dbb6dc |
Hashes for madato-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52aaa3f11301bf08d519809f5ba855e82a3b6c1e40aaa493940715d3d37ed299 |
|
MD5 | 85608d323a5fdb69cf2ecf7c69ac5efa |
|
BLAKE2b-256 | ef0e785ef4b1f16b9cf689cb2492c6bfdd24b90fe361c248461f154f222ed8b6 |
Hashes for madato-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c92e57434e17a2f46aee69db2a04a99c4bc72d4ad87af6eae134e53b3c85a014 |
|
MD5 | 354f9eba6b03558e8f8e2fca6bf7ad9b |
|
BLAKE2b-256 | 4c3bcb84b85d091d5a5be610e23157369a0487a6756190cd56ccd0c39518a6b3 |
Hashes for madato-0.7.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4029a3f2945736f4d9ab650d136786a63b5382a6cd9d60ca52e9ab10cf0bed24 |
|
MD5 | b9373b77b7aeb792159db61e3f98056c |
|
BLAKE2b-256 | 00df76ae1f56948b5cdced81bdb7227ca6307c663ebbbe927c49c2df9c132190 |
Hashes for madato-0.7.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8741324f34965bdcdd3cb7e485b3630897792f81787bce1990ea47b0cd1e1de0 |
|
MD5 | 1e09920cf7103da8b6f9ae81f4e06dfc |
|
BLAKE2b-256 | c79baeca56f0b9eaf0b61541eb7dccb30fce2c7d9e6bfc8bae9cba3e8de26f2a |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0684a9dfc88d4d2b5cb1c16519ece47689e17b38109d19af9d742d9bc4bbc3b8 |
|
MD5 | bb2ed6ea76a646fe5bdb1b7db4f3ba3d |
|
BLAKE2b-256 | d0295284647cc7fa71dd8472f4b65574d4a72edd74bf658225b90a11cc3839b0 |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f48d503f1681a43d52c3ece3cc85d42639e9dd1c4620c567c32df153be19b02 |
|
MD5 | ee1be29b86eec8953a0fa00008251659 |
|
BLAKE2b-256 | cebfd0d4c5f4b009e61020d9a35fe79401c8c7362f43289d5ff1a5521e2240ae |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55f839f528254876025cfa011b49b8659d71a30b032534a9fe9b47172b44c1b1 |
|
MD5 | 3b34eccfdeb4ea338d904216c1c700a8 |
|
BLAKE2b-256 | abc85de310bf2b64601c1de35dc1fabae49bfc5b27b5639ca3af45cbe7b2d96e |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d681c18b3d2a4ac296a47e09713c7f7d1e50b1789ab1612592f95f58eb4d073e |
|
MD5 | d06b702b6e4c641cc3eb10f708e87b60 |
|
BLAKE2b-256 | 103e36b0717f4c018fe982322d0a2d2f37154b1d8c134e2b3c2979caa7b61ab4 |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9d1d8bb2d0ad57639bb0ae2613cf2e6b0702a604591023be61b53003a2e1d91 |
|
MD5 | bf3615b49cf7139e6797a91bba204894 |
|
BLAKE2b-256 | 9c3383e50c4ede21fe59d03c93d6ca03a6a73b54c9def296fbd2d746c9b6e138 |
Hashes for madato-0.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d9ecb68ba8651e07f4bbf2511dcdb2683c1dd2fe24952d05e20eece0d6ee43d |
|
MD5 | 44ddf8e5e49dd523c4126d96c87680cf |
|
BLAKE2b-256 | d3cebdf8debb8e975b66d270dd115e4a034a3587ce032895fc10134d98db4dee |
Hashes for madato-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0135174b74be5101ef39bf8375a2d0fd81343045daba2acdcd3f58648142e0ba |
|
MD5 | 8916c76461a94ded3be1873320242966 |
|
BLAKE2b-256 | 13a59eec0e1688cc14916e54bc29df2e26f081cd14fbb9815d4cce58bd58945e |
Hashes for madato-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c8e0a09ac8ec83238224b498344ecc0e5d2f28c874c8f3d4a0383d3b813df36 |
|
MD5 | 9f61d22da03a81b1bbde1f3e5aa6731e |
|
BLAKE2b-256 | a61c2c0c0a628e1b7c20b27c711e2cb0ff83ce151819237ec86ec493b845dc95 |
Hashes for madato-0.7.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 076655b0c80e0b62c1e62faee21c526cf6b323761e2f4e388802763f63e89689 |
|
MD5 | e4f9febfd1b8fb5d166c6323fc9a2373 |
|
BLAKE2b-256 | 361ab6437442a906dde60bb8a02439fe06371125d014acdce60b32b3b10629cb |
Hashes for madato-0.7.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b15c09e2cda1cd1d8cabc80694747bbc8537b380f7bb509e885d7db0e6435e |
|
MD5 | d93e586624e5ea957b92e57c6ac988a3 |
|
BLAKE2b-256 | e1e1579d0ae725e53445c6afaca33242e80c7509586491edd2d736c39f2aa12f |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88df325d4d39a21256a037ee0cc6382e3968171b6fac4c04a3ab21877c7c954f |
|
MD5 | 96e7be695d98bdc3a666fed11ebd92cc |
|
BLAKE2b-256 | 4efed30d6794905e796f0daec61f5502fbbe17a702ca3266c420b71f45bb0162 |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1abba71b359a1f66320501d58c2b8104db5bcdc09343f8e0a75c8cee5fa1bf30 |
|
MD5 | 6725ed58352b9633d280a0684f2b669b |
|
BLAKE2b-256 | efd95c5212f5c254da5274f0002cb41736be0f11759cb8905841715814dfeb4d |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b541e927f2c15e657ed24911f4d3464cc3aeb118dde1e09b72686f71c20684b |
|
MD5 | 9c9dacc947992297e319372d7fb30423 |
|
BLAKE2b-256 | edbe854336b4d3465d314e84baefefa4977e048a7f8c44c0d594305f1726d346 |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe24c4978b464fc1cf795b93d30bcc95dd08b3627fb37fb234fd7b3192eed575 |
|
MD5 | 08211804f222096ff8adc6e8068c0fc2 |
|
BLAKE2b-256 | d5e45dbfe606ffeca616db5aa2e9486d4d87e4197ae2bbb49175e2205c4c9056 |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad3cd6e6c47d82d813b8a2d01ad69c4b9db9d723ab1a3a9190197b8298ba916e |
|
MD5 | 8f95ed4445a99e45c27e6930c454eb9a |
|
BLAKE2b-256 | 7c5ebded799542f9fa24b8bd16ecb1d12ac215a56917e427e0458171abf4f56e |
Hashes for madato-0.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53f32cece437eef951bb7cdae20e02d14dfdde2eb47860ad760cfd2f322e2d9c |
|
MD5 | 3be34a6c4364ad75fa65ec80ba1cc945 |
|
BLAKE2b-256 | afcb9418653f9806a2c2410fa7c3f95bb67b2975a9e8db6c82d7ef05964e6ae0 |
Hashes for madato-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44b5ee5155df3e191c40cb52160068b654da9854eb830a71bf146fa211127a5e |
|
MD5 | 56a8a4a6c85daa83e83da87d899b399a |
|
BLAKE2b-256 | e56c03498f55be77d481f70599d0d1e4cf510624e7049208f6ee0af5cf6350b9 |
Hashes for madato-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13c7eb214d6ef27ad4cfd815cce348dee5e2ce48325de1ac3f2a2d3b9e6cca43 |
|
MD5 | 88e32c5f494d4ddf011e03156fbbfd7c |
|
BLAKE2b-256 | 3533d1f2568f729c33916eb559dd95b6a40db785c1a029e82e49b41fdd898646 |
Hashes for madato-0.7.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7236e8dfa15322a16c5e7274092ae8f5d7a9ae3a0d6da3d8a6a51f4d238169e9 |
|
MD5 | cd69683b5cbc2fc34431f711fe13c127 |
|
BLAKE2b-256 | 7b081a9fc30a125fb788e67235c790cc008b01879dc94e7ac467a3b31f57fc0e |
Hashes for madato-0.7.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55f5666442e8a077ee8ba5bdb2541c6eeb924e29a9dbaa6d37cd253aa0ecfe96 |
|
MD5 | 9b52a2599cb8b6dec98b762300b6cec9 |
|
BLAKE2b-256 | c3f5e3d5dea3b8b8c4992a9820b6b62a85b22d12ab44474d5a350546f5757a97 |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dff53d83e066a6fd07216fc86d989da7592ba371f1db0d3f4f20f97e78def9dc |
|
MD5 | 063fa0c8251bd058cd1867dcb4348bf6 |
|
BLAKE2b-256 | a52c651ce01cb850a62619efc9ccb5840c4ffe075fae1ab5461c173e78d7adaa |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de1cb54fe26622e8ad85f1dadce39ced099c8f3f02a097484f2f78b8a5db635a |
|
MD5 | 33d39dcba8d1388bb0c15e9b03627c69 |
|
BLAKE2b-256 | 85bafb5e6faf326c163eb45d2acb7478802ad69393ae04cd30144267db0113e7 |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2037966892a2af5c8ee1a379649548564fb255d7737803f3e9068845de825abc |
|
MD5 | 7cc03443209c97a6cd1da3d94d054c90 |
|
BLAKE2b-256 | cf59f1ffc84b0c4a65531a8153ac7197005c4164b5e4916c0d450f257b32611e |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e16bb2c5c1474f7be800e70247ecfb6e58dc1e987ed9df0df2b63f92d69d6a9b |
|
MD5 | 3d5f0e554ac635fca315e60cc72f0314 |
|
BLAKE2b-256 | fadd0852f57d63c2cda0559366a6f07e08aaa69c0706345d0990b7353203a063 |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fecc632145dad17bbfffbe078679c76ebbdaa0f64fc8bb24012930a2e4770a5 |
|
MD5 | b49c7632a3088719cbcd3bfb618e8aeb |
|
BLAKE2b-256 | 1e86eab3f133710f70a666bfd37b829543189936a043e5c02d2962ba8ecd3594 |
Hashes for madato-0.7.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 295f1be1ead8c6e668c1ab2cd8ada834374ef8bcf265755baacc277972f2acb0 |
|
MD5 | 6a33d4098d42e009e9abcf034256d622 |
|
BLAKE2b-256 | 44106e6d95b3e3b1d9ae7e89f71a1fb254882a931068301172f16f40ce2e8b26 |
Hashes for madato-0.7.0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b332dfe4ee2e7b07dd294fd90c7f70602cc4f9a752f57d2df38642538929d5c |
|
MD5 | e4d833bad522816566ae4b8b60b7bc86 |
|
BLAKE2b-256 | bd67d6532711681e7eff1e793fe90fbc85f0063d3a640fc19df7d5042555ac9a |
Hashes for madato-0.7.0-cp37-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5809e09988db44046786dda7541bcd86cb2eebbbfc5241215077dccb9877d7cc |
|
MD5 | c148df8cb008f0fa0d9fc3dc517964b0 |
|
BLAKE2b-256 | ab67b530daac2f1d661894768c526fd37e6f897a184e8ead16f8a3835626d93b |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c7eb1c973e0afc1339bd5251159218eef8c5d35661d8116d128ec3bdc1499e8 |
|
MD5 | 62b6a8bc9f9671cdbc8ec834c632a5c8 |
|
BLAKE2b-256 | a4287f837dcc4ded515debad38897e2ff6eb02d357d09ff3434a578a07dbcb9d |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 169c961c5ad2fcbde3c8762ab0eff447dcd43bcc6a49ef2dbe56b7ec6092bce9 |
|
MD5 | 4a52c083cde24202895edb6cf36075cf |
|
BLAKE2b-256 | a1afe2d0adc332c57269187e094dc947a1912c6f36d1698b23e5511f76dafbdd |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34315705a6b91e0525e4d95e772563e5e33c8bee9970ac578348737377c3e22e |
|
MD5 | 792d2f6dd2b5dead414d050fbe59ace8 |
|
BLAKE2b-256 | 8f38574879527cca467ab0b2f86c089b60a37955008b0fdd1dbcb082c0ed8ae7 |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d135df5e669a80d2f0416a7fc52c00b18ac7d97859cdbfb5fe36f7bb0f81be5c |
|
MD5 | 79639a1ce5e6cd586e0d95b5b4259042 |
|
BLAKE2b-256 | 437097843deb259e82b8183bc4989b7649e11a433e66e9fa2d517eb057f02e71 |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f7ebb405ffa09f2ba19715854bbd46c18d60c82567a70798ec220e58b3258e8 |
|
MD5 | c6bb06ae843d35b2c2f1bc48ca5456db |
|
BLAKE2b-256 | 6653edb55f7cf4c9f4d2903035c718694dcde82033abf76e77aabab7f6774043 |
Hashes for madato-0.7.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e73ae6b105bc68274f4443c2210cf4d5b524d4f1e2b98b476f9f19ac269ce08b |
|
MD5 | 80352c78890fccd7cec43ae3ad7d847e |
|
BLAKE2b-256 | 027b14d974644ece33d470586a196763e8b4451b2ca23a87c84589763e717668 |