Skip to main content

Opinionated JSON to CSV converter

Project description

Full Documentation

Introduction

An opinionated JSON to CSV/XLSX/SQLITE/PARQUET converter which tries to make a useful relational output for data analysis.

Web playgroud of CSV/XLSX conversions

Rationale

When receiving a JSON file where the structure is deeply nested or not well specified, it is hard to determine what the data contains. Also, even after knowing the JSON structure, it requires a lot of time to work out how to flatten the JSON into a relational structure to do data analysis on and to be part of a data pipeline.

Flatterer aims to be the first tool to go to when faced with the above problem. It may not be the tool that you end up using to flatten the JSON in your data pipeline, as hand written flattening may be required, but it could be. It has many benefits over most hand written approaches:

  • It is fast, written in rust but with python bindings for ease of use. It can be 10x faster than hand written python flattening.
  • Memory efficient. Uses a custom streaming JSON parser to mean that long list of objects nested with the JSON will be streamed, so not much data needs to be loaded into memory at once.
  • Fast memory efficient output to CSV/XLSX/SQLITE/PARQUET
  • Uses best practice that has been learnt from flattening JSON countless times, such as generating keys to link one-to-many tables to their parents.

Install

pip install flatterer

Flatterer requires Python 3.6 or greater. It is written as a python extension in Rust but has binaries (wheels) for linux (x64), macos (x64 and universal) and windows (x64, x86). On other platforms a rust toolchain will need to be installed.

Example JSON

Say you have a JSON data like this named games.json:

[
  {
    "id": 1,
    "title": "A Game",
    "releaseDate": "2015-01-01",
    "platforms": [
      {"name":"Xbox"},
      {"name":"Playstation"}
    ],
    "rating": {
      "code": "E",
      "name": "Everyone"
    }
  },
  {
    "id": 2,
    "title": "B Game",
    "releaseDate": "2016-01-01",
    "platforms": [
      {"name":"PC"}
    ],
    "rating": {
      "code": "E",
      "name": "Everyone"
    }
  }
]

Running Flatterer

Run the above file with flatterer.

flatterer games.json games_dir

Output Files

By running the above you will get the following files:

tree games_dir

games_dir/
├── csv
│   ├── games.csv
│   └── platforms.csv
├── datapackage.json
├── fields.csv
└── ...

Main Table

games.csv contains:

_link _link_games id rating_code rating_name releaseDate title
1 1 1 E Everyone 2015-01-01 A Game
2 2 2 E Everyone 2016-01-01 B Game

Special column _link is generated. _link is the primary key there unique per game.

Also the rating sub-object is promoted to this table it has a one-to-one relationship with games. Sub-object properties are separated by '_'.

One To Many Table

platforms is an array so is a one-to-many with games therefore needs its own table: platforms.csv contains:

_link _link_games name
1.platforms.0 1 Xbox
1.platforms.1 1 Playstation
2.platforms.0 2 PC

Link Fields

_link is the primary key for the platforms table too. Every table except games table, contains a _link_games field to easily join to the main games table.

If there was a sub-array of platforms then that would have _link, _link_games and _link_platforms fields.

To generalize this the _link__<table_name> fields joins to the _link field of <table_name> i.e the _link__<table_name> are the foreign keys refrencing <table_name>._link.

Fields CSV

fields.csv contains some metadata about the output tables:

table_name field_name field_type count field_title
platforms _link text 3 _link
platforms _link_games text 3 _link_games
platforms name text 3 name
games _link text 2 _link
games id number 2 id
games rating_code text 2 rating_code
games rating_name text 2 rating_name
games releaseDate date 2 releaseDate
games title text 2 title

The field_type column contains a type guess useful for inserting into a database. The field_title is the column heading in the CSV file or XLSX tab, which is initally the same as the field_name. After editing this file then you can rerun the transform:

flatterer games.json new_games_dir -f myfields.csv --only-fields

This can be useful for renameing columns, rearranging the field order or if you want to remove some fields the --only-fields flag will only include the fields in the edited file.

datapackage.json contains metadata in the Tabular Datapackge Spec

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

flatterer-0.19.19.tar.gz (7.8 MB view details)

Uploaded Source

Built Distributions

flatterer-0.19.19-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp312-none-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.12 Windows x86-64

flatterer-0.19.19-cp312-none-win32.whl (15.7 MB view details)

Uploaded CPython 3.12 Windows x86

flatterer-0.19.19-cp312-cp312-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.1 MB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp312-cp312-macosx_10_7_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.12 macOS 10.7+ x86-64

flatterer-0.19.19-cp311-none-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

flatterer-0.19.19-cp311-none-win32.whl (15.7 MB view details)

Uploaded CPython 3.11 Windows x86

flatterer-0.19.19-cp311-cp311-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.0 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp311-cp311-macosx_10_7_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.11 macOS 10.7+ x86-64

flatterer-0.19.19-cp310-none-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

flatterer-0.19.19-cp310-none-win32.whl (15.7 MB view details)

Uploaded CPython 3.10 Windows x86

flatterer-0.19.19-cp310-cp310-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp310-cp310-macosx_10_7_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

flatterer-0.19.19-cp39-none-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

flatterer-0.19.19-cp39-none-win32.whl (15.7 MB view details)

Uploaded CPython 3.9 Windows x86

flatterer-0.19.19-cp39-cp39-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp39-cp39-macosx_10_7_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

flatterer-0.19.19-cp38-none-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

flatterer-0.19.19-cp38-none-win32.whl (15.7 MB view details)

Uploaded CPython 3.8 Windows x86

flatterer-0.19.19-cp38-cp38-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.1 MB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp38-cp38-macosx_10_7_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

flatterer-0.19.19-cp37-cp37m-manylinux_2_28_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ x86-64

flatterer-0.19.19-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.1 MB view details)

Uploaded CPython 3.7m macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

flatterer-0.19.19-cp37-cp37m-macosx_10_7_x86_64.whl (18.6 MB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

File details

Details for the file flatterer-0.19.19.tar.gz.

File metadata

  • Download URL: flatterer-0.19.19.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19.tar.gz
Algorithm Hash digest
SHA256 a1a29ba00603ef8227e1e142133ad731e733c74c96ffc966b215276354f642e1
MD5 33cf6318d2523c6c3a3c45abd453dafc
BLAKE2b-256 eca7d266d10fc4e0d377eb3a45404c963f41240060f447c4e96c130fd42cd26d

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c9a115d579e2336324968db62934b54f25541b43b118bbc68736b40e6d2051a
MD5 50721ceb9b55dfed89bceb38675181e7
BLAKE2b-256 b1bc7ff45d276fb32ff5ded400436d8f78801fefdc45db52b333e4bdc4d13edd

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c551a92e34adbf03c1d1140d47ce90defd3686a5bf94b6f3c8217b90cdb975a0
MD5 ae0bf374285264c2270c5c5ad9eaafd9
BLAKE2b-256 36f722e05e8c4088786fae6fb36dbcf2bced07c8f3b1f85d02474652ab3c9ccc

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 bed11b63db9fb012ede4a48e754ee4b1d23e9f35853e0250cdc94090932211fb
MD5 7cbb3576b542c7042accb464e7a2d8e2
BLAKE2b-256 6fe9b4103e860ed4b24df82bb4cf5fda4021910f215543bda7f9da8c93a9d307

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp312-none-win32.whl.

File metadata

  • Download URL: flatterer-0.19.19-cp312-none-win32.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19-cp312-none-win32.whl
Algorithm Hash digest
SHA256 05649e10bd38344f2d0abb9df3253e9aa74b0d0b837f449974d61d935d775be8
MD5 6e5dfb92707987746745d53b5359a7b4
BLAKE2b-256 72dba8109e7c889a5f83fd6ed3627ae7e272e1641162c245b495cc37f439fb02

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7c0f9bc9bce89cf330a1df4db74fe38233e0dca1eb0a40d2f2d3e190a2147d4
MD5 c044720b87cd3240c10e670d92e74f34
BLAKE2b-256 59bf9910458bc7111d04c44197841342c8360e85a65c1a3fc1270a2abb355edf

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2711337072781e8c21dcad98c10df253a836ff0176ee6ee7d24e8c80c283e393
MD5 9991583e43a8519018287d3092d1dd37
BLAKE2b-256 ef75fc9f7deeb4990e2a45fb7dbbf308931f6135191569c7f8dc7d87b02cf556

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp312-cp312-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 8401c491791624ef4c99c2d58e56f158444a38fdfb5757308127c6980db700d6
MD5 d2c96f7d90dc58be1ba35a417b7c45b9
BLAKE2b-256 d2b2a5cd893c72ab83d0207d2ff541873ca434e004187e7969682d22605d956f

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 d3b36139248eba9e248480a3d37b879c0db1ebb9f4666afd79b8e71009756f67
MD5 c21d5f2bd8d9ad83e1da7b1a7cc7d7c1
BLAKE2b-256 2ee4a9c0b91390e89a14d6814047b74cf9747b30f3d9e85d7095a28bce6f8b1f

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp311-none-win32.whl.

File metadata

  • Download URL: flatterer-0.19.19-cp311-none-win32.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19-cp311-none-win32.whl
Algorithm Hash digest
SHA256 21e008aa0ab6dda274eaae3cfc3114f83204d2b4f1ada233626e8dde37180e59
MD5 8e1c21dd468f30dc0b62528b3c6d57c2
BLAKE2b-256 62146901c8691918fe4e181824c217f4f7060907d591205fef13f8d24ab52a07

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 81a0580b8fdce0b169122b46d5f38268cdaed3707031ee935c9ef688a0879fe8
MD5 dfeea81e7c8f72a31cb8ae1f68a8a9d6
BLAKE2b-256 94534eec022abd3c894e771f8d819c5a7bf472b82115c830cc64082503920010

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ba2bba8b00acab6e5149d063437714dd732ecc232e9743b74cb44f7d889d6fd0
MD5 061ef8a3324ca9d6fe00954153039c78
BLAKE2b-256 4e72535d481f77c010f2054d06c4ee4a400286d3b2370473ec8a570ec1ed397b

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 64c7d47ecdbe04d77f827620444bc43f1b2c1f4c72bead6d1fc2ca2247a29ec6
MD5 dd03af9ce72de1d8d17230ebf6b8badd
BLAKE2b-256 6a51f43a9e3255dbb0dd40c8685602218430a25d83b31ad3a6802e35696411d4

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 91ef67527936ff2a1d19678274fe7c3db07d14422729de932a64cc97d3c56074
MD5 8b4905673aac8bc2c508b1d3ea8f8e94
BLAKE2b-256 5a2c183404397f157dde94afef866dfe725b6b39b0040761b3e6b66d431f1f80

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp310-none-win32.whl.

File metadata

  • Download URL: flatterer-0.19.19-cp310-none-win32.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19-cp310-none-win32.whl
Algorithm Hash digest
SHA256 c703200103ad8e362544e670cdf2c39108c9625f4bdd594f41aea3396fd1b266
MD5 82eccc1f044838bf852769009c8d0f3f
BLAKE2b-256 10ce48369d4ee390bcede627071cdf55272c207c990e443702ca021c656ffb4f

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0e1be71e59ce7eeea3184aca42b897170f4268a2dd527d5c59f1b1b4aacc36b
MD5 7f54ff10e3a13b8b8d36586e22436612
BLAKE2b-256 5afe74b1f09e59ef042e5735609e0c41f9b2aab50979aea1ee67b65dd7a036b3

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9ae898b4b121b4b531bf3df450e98e089e1cf13abbcbf43d7ba3de3860d3fe31
MD5 caaee908b645fa391ef4a72aeace748a
BLAKE2b-256 6bbeae02194d1710d349d78c7fbbd94d8fc060ee52c97b9527e66c460c73d2b4

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9961b328839d734e3b5cc707df5f0ba8c1b82546fe72eeda2b66686560c94fff
MD5 089eaac9a4120cce58ac550ea8bdf311
BLAKE2b-256 b3277003ea7a77cefcaf575f265123008bd4c33c133fb5063069a5489d3a22e3

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 3eee1deeb3892508fa7d34bb9f26357c33fc706ef34a4aa2b8f36474a4c919e9
MD5 9e5d040748e153fe79796a09a73e52bd
BLAKE2b-256 3ed58f24b0684f3a750da2058405ee7f1e23b3d53813233b884c494746ba64fc

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp39-none-win32.whl.

File metadata

  • Download URL: flatterer-0.19.19-cp39-none-win32.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19-cp39-none-win32.whl
Algorithm Hash digest
SHA256 5ae6bb27d926c47fca73e1f631b8085acc2930ede45dea264c978aa333127f99
MD5 1eac911ce3a620a9f13423570d31c2d5
BLAKE2b-256 0108602e5cad6956feb2cfd761ed087b4f0d8404d094bbc44a5fbe23de873d35

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f34a1ff4313d517bcd2121a8cb8656ebf1be8c682551edca2097e9734de91bab
MD5 8ee02b7197e0bde7ea5804eecdb17af4
BLAKE2b-256 7cdadd0f661c1968a4f64b282be31e0f2a2f2f782c1ee8cdbdc49549c7bd168b

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4b8bee7bee6e99eeab2cfb6bd29c85d3f8280f2772083ef19079fea138d5397d
MD5 f00c6bb9c9e6e6739b3642c74e2188d8
BLAKE2b-256 bf6aa352d818258d40eac8bb61b9aa086ad5182eff4edbca9f0deef10ad05b25

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 0b58168b28c6b091daf3bf060067ee0b4576bca609d6ac16f9176ddee37032c6
MD5 f8dacd989e97c15554015a0709a948db
BLAKE2b-256 0d7babf9b19da07964827c1d9e51ec4964036b1a8266cb73c3102ab284d136fa

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 ad656eb8047a0a0bb1a081cef3d21d49b8c781122b8132153e55ea67b486b4ea
MD5 58e6411ae7bbd3b06c23a6b3c82637be
BLAKE2b-256 ddc9efabb2e6d4e1081647a463e21fa1555d73488a8208df6bdf546f540942d7

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp38-none-win32.whl.

File metadata

  • Download URL: flatterer-0.19.19-cp38-none-win32.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for flatterer-0.19.19-cp38-none-win32.whl
Algorithm Hash digest
SHA256 08f87bfbff1365bb6c858b32192dd46a55001433950305216e44c0683cb2e2bf
MD5 ba68a1832b1e83bcbbec62249d24e2bc
BLAKE2b-256 5dc4d0b2e965c79ec331ea4c62d0d957f8ad8ebfa5fd9b89cd1327c1ae085f45

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd324784f6a100eaf8e2429eb57aa97fc6484682fd2a5be3a30c016bd2beec40
MD5 c5d1232399c85db96a770c75600ac6c9
BLAKE2b-256 fe35b8a643d175083e8294a8a4555220e58641a54555e88afc5257be2e3bc62b

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 40d45ad60389c25388d8cbc5129ffa1aabbac270c0bb0c9eea2b7e9d4bda178b
MD5 252815fe9cd95e51a1051cda3d5778f2
BLAKE2b-256 8607cfb09909df13d777983d1caad9cd0a3cbf82c21faf6953e3e430fe60c4c6

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d90fd9644dee39f387656330c9d94300c3c48d4f267486668f1e32d5e1f29b1a
MD5 6c7e1d8677aff84b19dbc7e85c3b8d02
BLAKE2b-256 8becbb0012923a6f2dd86932bb5115c3b1d09eb513e4aaf4c018cb4f2e9ccc15

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cef067a5987b02f3a8910ba6b88f528d165e85fb1856de2018a8d95bd57c3d8e
MD5 73977d441ee3abe6f4d69422abb6d6a5
BLAKE2b-256 caeb3fad7ada339c455c31741d7553b0c58d8a7a673e39df1f16c13710a3c29a

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 69d67e04dd855c859de6e2663268407d673f47c1e76eb09908b1d58e3db5b3a9
MD5 04ed2f5ece295f232efc078d76727878
BLAKE2b-256 70a7357ce26f8303be4ebb41ec8968eb3ef4a36ff54b4af74296fa6f118f2ee3

See more details on using hashes here.

Provenance

File details

Details for the file flatterer-0.19.19-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.19.19-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 cfcfc456335a36224f9af797b19eb3cdf761b083963a4c9452e39844e95ef230
MD5 6fd85e03e51d44712d80aff6483305c7
BLAKE2b-256 ac4072c8c01262e1f8b9b2378773f78585db2a64a0573ed38c1418f47b4abf10

See more details on using hashes here.

Provenance

Supported by

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