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.20.1.tar.gz (7.8 MB view details)

Uploaded Source

Built Distributions

flatterer-0.20.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp313-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.13 Windows x86-64

flatterer-0.20.1-cp313-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.13 Windows x86

flatterer-0.20.1-cp313-cp313-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.3 MB view details)

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

flatterer-0.20.1-cp313-cp313-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.13 macOS 10.7+ x86-64

flatterer-0.20.1-cp312-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

flatterer-0.20.1-cp312-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.12 Windows x86

flatterer-0.20.1-cp312-cp312-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.4 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.20.1-cp312-cp312-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.12 macOS 10.7+ x86-64

flatterer-0.20.1-cp311-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

flatterer-0.20.1-cp311-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.11 Windows x86

flatterer-0.20.1-cp311-cp311-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.4 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.20.1-cp311-cp311-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.11 macOS 10.7+ x86-64

flatterer-0.20.1-cp310-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

flatterer-0.20.1-cp310-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.10 Windows x86

flatterer-0.20.1-cp310-cp310-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.3 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.20.1-cp310-cp310-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

flatterer-0.20.1-cp39-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

flatterer-0.20.1-cp39-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.9 Windows x86

flatterer-0.20.1-cp39-cp39-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.3 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.20.1-cp39-cp39-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

flatterer-0.20.1-cp38-none-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

flatterer-0.20.1-cp38-none-win32.whl (17.8 MB view details)

Uploaded CPython 3.8 Windows x86

flatterer-0.20.1-cp38-cp38-manylinux_2_28_x86_64.whl (25.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

flatterer-0.20.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.4 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.20.1-cp38-cp38-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

flatterer-0.20.1-cp37-cp37m-manylinux_2_28_x86_64.whl (25.0 MB view details)

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

flatterer-0.20.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.4 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.20.1-cp37-cp37m-macosx_10_7_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1.tar.gz
Algorithm Hash digest
SHA256 b1b81012264ccedeb434c4dbe3e1e25131aa1c4a353d4486d972163df1bdcab1
MD5 1f3f3b173d621a61cab65e959d9ab970
BLAKE2b-256 89672442066bb976c13effb284c8bc65c26293b2ee3e2fb4a4e5009ebbdcdf78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 810d388dba016f24630f614374aa691b69cdf72a9885f96727df808398349f13
MD5 3b105f2d42c70be450660cece50edb73
BLAKE2b-256 aa7af738375aca71373e4a790e33b041eeb1496716b507f47172b95721c1c15b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ea6b8d693462ad98c44472d5c6c6fd78dc0ae249b35336e197eba277846469a
MD5 db66b5964b2e2b43c7315027819a463c
BLAKE2b-256 ac1d4a6a73da662b40f3b0c4d0d7fb4959f474e7fb55d93f1d7a50dce08a4f6a

See more details on using hashes here.

File details

Details for the file flatterer-0.20.1-cp313-none-win_amd64.whl.

File metadata

File hashes

Hashes for flatterer-0.20.1-cp313-none-win_amd64.whl
Algorithm Hash digest
SHA256 da0547bc28fbc2d2013cf9644b123494c408c312fe1fe472a04f12340f0054ca
MD5 00ecaad1efab9157a3aa52ec61cb986c
BLAKE2b-256 94370b4bae4c76b0c15021aa454bea7fbb4268ed44285d053c313fec660491b8

See more details on using hashes here.

File details

Details for the file flatterer-0.20.1-cp313-none-win32.whl.

File metadata

  • Download URL: flatterer-0.20.1-cp313-none-win32.whl
  • Upload date:
  • Size: 17.8 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for flatterer-0.20.1-cp313-none-win32.whl
Algorithm Hash digest
SHA256 f64bb80c0b4f6fabe88da28e0dd8aa8f83dd641a27a6886dfa15cb79bfdd25dd
MD5 57550f83dd96567780ca3caa04660ff2
BLAKE2b-256 05a71b0fa735c20d8c379fb2c2485d0010b0104c4e1c344db159d4b2e4348801

See more details on using hashes here.

File details

Details for the file flatterer-0.20.1-cp313-cp313-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for flatterer-0.20.1-cp313-cp313-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0db572a66018c8c366490f4572492567f4217d4532c5e796f4c052313377bb32
MD5 d8579b6a0a3d84ac39d2f19137ee1970
BLAKE2b-256 2d4c1602689d99b6b1da4d5781714e0834d18320e132e2e1133852781ffa14c1

See more details on using hashes here.

File details

Details for the file flatterer-0.20.1-cp313-cp313-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for flatterer-0.20.1-cp313-cp313-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6579da79da00443569beb60aeb30c7b3365e9110ac65e622815eb920907724f2
MD5 481f95d57e3bd1508beab93b17f499bc
BLAKE2b-256 cdf7a9f773a2e34b7137cf48fe617445a4265613b36e954d659144c79f0e89d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 b66358a0f20225bb03651494cb7f5b2dfb4b670f9529177fc36eba7e6fdbc0b2
MD5 36e8d79d8615966c228d0a4b38d99db8
BLAKE2b-256 d8a2753b4049a02f31ee236ae90ac7544aed7d02416a356f6af23cb362edf01f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1-cp312-none-win32.whl
Algorithm Hash digest
SHA256 e1efc7dfaabaa96f23094e7b8563a5929a23cea54711aa9397625efe08b8ba41
MD5 7a36bc3a7a43a0535e52711306a63e60
BLAKE2b-256 a3f64bbc0670353a434bc24fec7f9a2d08add83bbff2efeb28abbe6725ca8285

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de9608e0c965e6db0161e8060fcf48aaca541a4f4fe68013c3cb4e6d38ae453b
MD5 aeff6e3e62a2e0cab7db8e76b2b5b69e
BLAKE2b-256 fa2377949bdf749924ab259a12134732939de5a55acbaabf73ec844076b4f5e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4cc63346c897fd1698699863b07795aae9c44eab4699bc085645b193cc295af8
MD5 6dcc16d6e8a065fe7b0f493c55bf9ad0
BLAKE2b-256 534c7d7ac61749943475f84290379f2fe786a3d3c2e8803c5fd986e73b5cb268

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 140a4b27dc878f32976b6f5e3d76afba49cc2fa052e780feaed499e024ae1cf9
MD5 e735c2791a4850531b1e4042c5f358d2
BLAKE2b-256 790c670d004280edb144ec45a8fa9166008aa4f584a0c13cbc0b746f8bcf274f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 fff1d9d69cfcb0ae6bf9c1b035630ec8ae4c95783521ecc8daaa59b60b909763
MD5 30446999f5625c36e8ffd2c540448bc6
BLAKE2b-256 393dc55b6659cc24b9cd1f312d8d9843495b7b9f546b82b106eb8f89d4566549

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1-cp311-none-win32.whl
Algorithm Hash digest
SHA256 d837f124c001452bbfe660139ba2813206c93806e85cad4664ef0c7fc09af3e2
MD5 90ad084a42ed7ed7c7dd931d1e1526ef
BLAKE2b-256 164a56d1852d867861c2cd4554861e484661dfd3941b1739cbb0a01afc0823ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4890cf1f5aa1ab35d7cf206cc0bc2fb58edc3c398bc0924822728f5db06fde1
MD5 7c2c4e7910556914709127f6d2796177
BLAKE2b-256 5e7c4d643541e193adee61b6d5d76df0e25d42cd2ffc4bad6dc934edd0d76ca3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 994786c3368c381f7e2ced7ea89895affd4cfe5339b03e8a5a32488bd5c075f8
MD5 3df572254695690a10c7097b667346b1
BLAKE2b-256 699a4145a5136bbb6dea1ba2dcc237cdb1bd9a7c241f3ead07a2ce52d2d16f78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 aa47adae776ebdba60495343b2b66eb51a9a84e4f1f06d569ff0835e4b8ce911
MD5 64c21eb3a65e40df938372896562f3e4
BLAKE2b-256 4d3e226a412b28f85175ebaeba29c43fb810e91a133407d3be9f75a9ec48d07f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 3d48f8f5736da148872819226c343f66e0f420a87a57ad60798c5c9454a90ffc
MD5 45befa119c405a25b14cb1f2a58abd47
BLAKE2b-256 07d221f1417e7ce8a9f45f27a507f34d43c94f07f47c1bea2dd9b01674db4fc4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1-cp310-none-win32.whl
Algorithm Hash digest
SHA256 b417ac93d795ed88a36f700b5cf937a7b3c1108254f3220a3fb4c951c3e42580
MD5 98486d1fc4ef4a36e354c27c41c85f71
BLAKE2b-256 e7fac781c28fb1592cfa47569261b97ee87e52ca0d37134c58ab1f591ff724fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a75cb2ab71e28f02155ce1916f388bc65574da6055f6929cda83744b7055e7cb
MD5 bafbfe7663b2ce9d864ea99662bca738
BLAKE2b-256 e88c8ec8912554a771c61740dad38c976d2fcce15d621bf2b62f50de4620c17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f7dd8d54337c4ef9b71fb16482afe7071443cd9bae73db8820f1d802e7dc5a1c
MD5 65d2367269e193ab39622bc87bd0dd7a
BLAKE2b-256 c015a7df299068e00f9341d196e5c759d13e3373fe3ab6351121dc8c84540eda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 3384d36a4ce8124f6de115f45d291b529291301d37402ccda0b65651d2ba8e78
MD5 aa376a2ebaa4b8095863c516e21b232e
BLAKE2b-256 17350ab875799bab64ee4d4605ae6876afc37d9ee07d521f50a304e1b1008ff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 e439c070830fdff9ee5eded05cb1db38dabef42694da1798edccd1ac8abdd169
MD5 9b74e583c3aed7de40bb1be9731d7034
BLAKE2b-256 111a4dfddeb0b82552d2c5efb34d4374a31ea7e490bce080b0162961b778cb13

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1-cp39-none-win32.whl
Algorithm Hash digest
SHA256 a70e16ccb316cd86c74512b4cb8cf500123ebfafdf19894b8bcf1ee5e7f4d1f2
MD5 092282f68baa1c681ab0999f3c4a81e0
BLAKE2b-256 11871b2c2e9d50d096eec14a25c3cf0244d8c82abc5f10ea10bc73be0b8c954e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34a197c1316d9103521b2f849f5f8eb446ce362ab05060171889e3e8e31e4010
MD5 06d4172363a52efe65aad3b0ad2447ae
BLAKE2b-256 dd5ce5ae1291f101903493ff0134fbd2f04462609bc2fedb7197b531d35ed3d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9073af4c3bd18b014edf91c07e2ee110edd7edd6af4104b48813e298166e49b2
MD5 b458080f738026923728cd37ba6afa19
BLAKE2b-256 4e1367dc4a77c2e6fab9786a1aacd403a97bc215b6e616db430097215be30bad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 258635c070ce369e94bda6ad3ca21eaab8eec4e00b2a0a0023acc11ecbe81be5
MD5 fc4741d0b014f659cbb6ad73b20e3bd7
BLAKE2b-256 635d6c5492b31a35b2b44b14dd8830c9587b492a007791fcec95dc2f2158213b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 2e2e4d722a3233b86b411274ba6358e5292588fa15bbfefffdc42215eb60a09d
MD5 9a8b49a5ad6d23ffa86aa24318f3089f
BLAKE2b-256 77bf294119ea4c478b0ae9ad27dabbac3a6b2d8b321e7b736c749f2d030ed47d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for flatterer-0.20.1-cp38-none-win32.whl
Algorithm Hash digest
SHA256 4b42bccedc30d3f8ca4056afdf03c12bd2536f2fec265f4e578bfdb35bd096c1
MD5 f9c951b2791c1cdcf57e04c561746604
BLAKE2b-256 e086d704046f8c78266ccdee761193be67ddef1529f8a0c014327d0b5c536f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ace3544619660a69f8a766a9e4fde72cca33845c3940943f74168b9016bedb90
MD5 dfe02ead8e4f624bc06cfaef857922ec
BLAKE2b-256 22bb23c154f729da842b8bf14aef5038fb9d889afe3274236c44e170b872359d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 941c954fce2c32e7601014bf89850826549e05752d4b6adcb0c48896f5ef358f
MD5 34384545d2cab9e1aad0315ce4a8ed0a
BLAKE2b-256 148f12f3f73b98c6752e5a29ca0c70d44c0487e0e9fa6cfc90a93ed2a93595ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 89d270fc9f57c5ef428383e10fee05d9b07b3440cf8f9d32173684b5550fc0ea
MD5 a8ac3505095f2a36a65e93e003081c3f
BLAKE2b-256 b3a8bc6b078f8cd64d968abfc1a0bdc7f36b3211553657dbec13be0b981c785c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d92bb7a5a4a16517ef78e267108a414437bec89a3b05b7d523424d64b8b4563e
MD5 e66643ebfe763bde35bbb98ef73e72c6
BLAKE2b-256 a23d626e1d4b42cbc3ecd9b5a8b078d027da60459532491f382c55d7dda48b09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f80f236d68aeb3cf4abfe5d2380cd57f56b1a2cacf163fc7db303c15e31fa73c
MD5 26d6c17731596186753d9a2f8da0da75
BLAKE2b-256 e449ca247d125eda703d79e4422210950115ddc3613cb5ddd245f3fc1db6b46f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flatterer-0.20.1-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 43833ddb1921083830c4b9220a4cb2e7022bfa63cf575c651805753c049d6f91
MD5 26aed7b6f502eac98ef5cf5396e67d22
BLAKE2b-256 887c200b931a145b7ebeadc479f42488954027dd8f9b77643980f4454d1c58fa

See more details on using hashes here.

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