Skip to main content

A Python package for handling messy CSV files

Project description


Travis Build Status PyPI version Documentation Status Downloads Binder

CleverCSV provides a drop-in replacement for the Python csv package with improved dialect detection for messy CSV files. It also provides a handy command line tool that can standardize a messy file or generate Python code to import it.

Useful links:

Introduction

  • CSV files are awesome! They are lightweight, easy to share, human-readable, version-controllable, and supported by many systems and tools!
  • CSV files are terrible! They can have many different formats, multiple tables, headers or no headers, escape characters, and there's no support for recording metadata!

CleverCSV is a Python package that aims to solve some of the pain points of CSV files, while maintaining many of the good things. The package automatically detects (with high accuracy) the format (dialect) of CSV files, thus making it easier to simply point to a CSV file and load it, without the need for human inspection. In the future, we hope to solve some of the other issues of CSV files too.

CleverCSV is based on science. We investigated thousands of real-world CSV files to find a robust way to automatically detect the dialect of a file. This may seem like an easy problem, but to a computer a CSV file is simply a long string, and every dialect will give you some table. In CleverCSV we use a technique based on the patterns of row lengths of the parsed file and the data type of the resulting cells. With our method we achieve a 97% accuracy for dialect detection, with a 21% improvement on non-standard (messy) CSV files compared to the Python standard library.

We think this kind of work can be very valuable for working data scientists and programmers and we hope that you find CleverCSV useful (if there's a problem, please open an issue!) Since the academic world counts citations, please cite CleverCSV if you use the package. Here's a BibTeX entry you can use:

@article{van2019wrangling,
        title = {Wrangling Messy {CSV} Files by Detecting Row and Type Patterns},
        author = {{van den Burg}, G. J. J. and Naz{\'a}bal, A. and Sutton, C.},
        journal = {Data Mining and Knowledge Discovery},
        year = {2019},
        volume = {33},
        number = {6},
        pages = {1799--1820},
        issn = {1573-756X},
        doi = {10.1007/s10618-019-00646-y},
}

And of course, if you like the package please spread the word! You can do this by Tweeting about it (#CleverCSV) or clicking the ⭐️ on GitHub!

Installation

The package is available on PyPI:

$ pip install clevercsv

Usage

CleverCSV consists of a Python library and a command line tool called clevercsv.

Library

We designed CleverCSV to provide a drop-in replacement for the built-in CSV module, with some useful functionality added to it. Therefore, if you simply want to replace the builtin CSV module with CleverCSV, you can import CleverCSV as follows, and use it as you would use the builtin csv module.

import clevercsv

CleverCSV provides an improved version of the dialect sniffer in the CSV module, but it also adds some useful wrapper functions. These functions automatically detect the dialect and aim to make working with CSV files easier. We currently have the following helper functions:

  • detect_dialect: takes a path to a CSV file and returns the detected dialect
  • read_csv: automatically detects the dialect and encoding of the file, and returns the data as a list of rows. A version that returns a generator is also available: stream_csv
  • csv2df: detects the dialect and encoding of the file and then uses Pandas to read the CSV into a DataFrame.
  • write_table: write a table (a list of lists) to a file using the RFC-4180 dialect.

Of course, you can also use the traditional way of loading a CSV file, as in the Python CSV module:

# importing this way makes it easy to port existing code to CleverCSV!
import clevercsv as csv

with open("data.csv", "r", newline="") as fp:
  # you can use verbose=True to see what CleverCSV does:
  dialect = csv.Sniffer().sniff(fid.read(), verbose=False)
  fp.seek(0)
  reader = csv.reader(fp, dialect)
  rows = list(reader)

That's the basics! If you want more details, you can look at the code of the package, the test suite, or the API documentation.

Command-Line Tool

The clevercsv command line application has a number of handy features to make working with CSV files easier. For instance, it can be used to view a CSV file on the command line while automatically detecting the dialect. It can also generate Python code for importing data from a file with the correct dialect. The full help text is as follows:

USAGE
  clevercsv [-h] [-v] [-V] <command> [<arg1>] ... [<argN>]

ARGUMENTS
  <command>       The command to execute
  <arg>           The arguments of the command

GLOBAL OPTIONS
  -h (--help)     Display this help message.
  -v (--verbose)  Enable verbose mode.
  -V (--version)  Display the application version.

AVAILABLE COMMANDS
  code            Generate Python code for importing the CSV file.
  detect          Detect the dialect of a CSV file
  help            Display the manual of a command
  standardize     Convert a CSV file to one that conforms to RFC-4180.
  view            View the CSV file on the command line using TabView

Each of the commands has further options (for instance, the code command can generate code for importing a Pandas DataFrame). Use clevercsv help <command> for more information. Below are some examples for each command:

Code

Code generation is useful when you don't want to detect the dialect of the same file over and over again. You simply run the following command and copy the generated code to a Python script!

$ clevercsv code imdb.csv

# Code generated with CleverCSV

import clevercsv

with open("imdb.csv", "r", newline="", encoding="utf-8") as fp:
    reader = clevercsv.reader(fp, delimiter=",", quotechar="", escapechar="\\")
    rows = list(reader)

We also have a version that reads a Pandas dataframe:

$ clevercsv code --pandas imdb.csv

# Code generated with CleverCSV

import clevercsv

df = clevercsv.csv2df("imdb.csv", delimiter=",", quotechar="", escapechar="\\")

Detect

Detection is useful when you only want to know the dialect.

$ clevercsv detect imdb.csv
Detected: SimpleDialect(',', '', '\\')

The --plain flag gives the components of the dialect on separate lines, which makes combining it with grep easier.

$ clevercsv detect --plain imdb.csv
delimiter = ,
quotechar =
escapechar = \

Standardize

Use the standardize command when you want to rewrite a file using the RFC-4180 standard:

$ clevercsv standardize --output imdb_standard.csv imdb.csv

In this particular example the use of the escape character is replaced by using quotes.

View

This command allows you to view the file in the terminal. The dialect is of course detected using CleverCSV! Both this command and the standardize command support the --transpose flag, if you want to transpose the file before viewing or saving:

$ clevercsv view --transpose imdb.csv

Contributing

If you want to encourage development of CleverCSV, the best thing to do now is to spread the word!

If you encounter an issue in CleverCSV, please open an issue or submit a pull request. Don't hesitate, you're helping to make this project better! If GitHub's not your thing but you still want to contact us, you can send an email to gertjanvandenburg at gmail dot com instead.

Note that all contributions to the project must adhere to the Code of Conduct.

The CleverCSV package was originally written by Gertjan van den Burg and came out of scientific research on wrangling messy CSV files by Gertjan van den Burg, Alfredo Nazabal, and Charles Sutton.

Notes

License: MIT (see LICENSE file).

Copyright (c) 2019-2020 The Alan Turing Institute.

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

clevercsv-0.5.6.tar.gz (53.4 kB view details)

Uploaded Source

Built Distributions

clevercsv-0.5.6-cp38-cp38-win_amd64.whl (54.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

clevercsv-0.5.6-cp38-cp38-win32.whl (52.4 kB view details)

Uploaded CPython 3.8 Windows x86

clevercsv-0.5.6-cp38-cp38-manylinux2010_x86_64.whl (86.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

clevercsv-0.5.6-cp38-cp38-manylinux2010_i686.whl (85.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

clevercsv-0.5.6-cp38-cp38-manylinux1_x86_64.whl (86.3 kB view details)

Uploaded CPython 3.8

clevercsv-0.5.6-cp38-cp38-manylinux1_i686.whl (85.1 kB view details)

Uploaded CPython 3.8

clevercsv-0.5.6-cp38-cp38-macosx_10_9_x86_64.whl (47.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

clevercsv-0.5.6-cp37-cp37m-win_amd64.whl (54.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

clevercsv-0.5.6-cp37-cp37m-win32.whl (52.3 kB view details)

Uploaded CPython 3.7m Windows x86

clevercsv-0.5.6-cp37-cp37m-manylinux2010_x86_64.whl (86.5 kB view details)

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

clevercsv-0.5.6-cp37-cp37m-manylinux2010_i686.whl (85.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

clevercsv-0.5.6-cp37-cp37m-manylinux1_x86_64.whl (86.5 kB view details)

Uploaded CPython 3.7m

clevercsv-0.5.6-cp37-cp37m-manylinux1_i686.whl (85.3 kB view details)

Uploaded CPython 3.7m

clevercsv-0.5.6-cp37-cp37m-macosx_10_6_intel.whl (53.8 kB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

clevercsv-0.5.6-cp36-cp36m-win_amd64.whl (54.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

clevercsv-0.5.6-cp36-cp36m-win32.whl (52.3 kB view details)

Uploaded CPython 3.6m Windows x86

clevercsv-0.5.6-cp36-cp36m-manylinux2010_x86_64.whl (84.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

clevercsv-0.5.6-cp36-cp36m-manylinux2010_i686.whl (83.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

clevercsv-0.5.6-cp36-cp36m-manylinux1_x86_64.whl (84.6 kB view details)

Uploaded CPython 3.6m

clevercsv-0.5.6-cp36-cp36m-manylinux1_i686.whl (83.5 kB view details)

Uploaded CPython 3.6m

clevercsv-0.5.6-cp36-cp36m-macosx_10_6_intel.whl (53.8 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

File details

Details for the file clevercsv-0.5.6.tar.gz.

File metadata

  • Download URL: clevercsv-0.5.6.tar.gz
  • Upload date:
  • Size: 53.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for clevercsv-0.5.6.tar.gz
Algorithm Hash digest
SHA256 abf16cbd8e2cbc81cfa48b8c118c8758cb7f676cf6fc7dd25f924cccf230fd38
MD5 4488951d1e37a2b4c840984a9c428d66
BLAKE2b-256 794840fddf0d8aa4ccf1695c465025a207498884b4b209edccd468cc58e14cf6

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 93773cca1347ab0da687f3b28d684e240efbf1dbfce5c03a0885158b7fa72eea
MD5 3dee813c7424a8adba6778144ff4ef79
BLAKE2b-256 39226722095ea813c7e0f063e61694ea78986d7441fcdbe19c4a37db850a5b99

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-win32.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-win32.whl
  • Upload date:
  • Size: 52.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 36b14c1e94faac697ed134bc3b5426242d87f3cba6e067e425e69ffb7649e0a3
MD5 933b4407825e863e8a999e493e5f0fa2
BLAKE2b-256 1d36aeb87b7a6332dc24b3d949b4038829b9567eca5e4083404857066c2cb5e9

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 86.3 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d2aca0397be1169272297b120530733cca5d1708c8aaf98e967da7e5e7d104dd
MD5 fa75eaf2f80c7dc778b6ebebce39dcbf
BLAKE2b-256 75fca0882b8c1ed91129ea772dbe8853d7b5bc913746a7e34eee8b9e1045d366

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 85.1 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b30acc7d83547ca06fb75a3dd965df93a3e49c7cfcd541cac0a2b0dd8a657969
MD5 6f78fd730e25f5242c4df6fbe06a48eb
BLAKE2b-256 e6d95ce0863c4127f7f1d78292510e57720f8b7974938367d3c8bf2759e6c2ff

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 86.3 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9f903b9cb1671ecfd80fab0acec8b53d08ae6115717e259df68a3a103f00cb2c
MD5 bac2ec1676c56cc3c62aba1160c181f8
BLAKE2b-256 d1d1d500864e410542d1e0c37708a7d07db27a2c09f7804ce6078df00c7e9baf

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 85.1 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 91b6e6cd51798614a59f4810aade326b414655dd9dbf4dec6e8f7b5aea16107e
MD5 93aac220b9d2a6d0aedfaeb87cbdfedd
BLAKE2b-256 ec773bed84b61a7b778141dcde917c6c9f0b53efbfb376d97e216e1261c249be

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6cbf6dabd02ba4ab3330cbafb507179e61188b9f77045d391718d16286a515ca
MD5 6a35f89789cdf8a934e5c29bd98717a2
BLAKE2b-256 f38f5018760dfd68ce77a610d482a887a5cfac7cb05d8b1569f4ce4c51263dbe

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5c2873270ce4c6c38a9b8ea506e3bb9b7c26f0355ba1d57c0b46b484a977ce21
MD5 e07133ca82d15255964925ecaf9f387a
BLAKE2b-256 b7f0bf58b2f66c86b51015c8ef4e13a9c7c975b61007ee1c363f9da34a0522a9

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-win32.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d4679511d6f99a34a2bbf0c4fef03760d820f722d6ce3be0427f0af524656bfb
MD5 efdc33ec23942b75d6bd1333920231b7
BLAKE2b-256 adf5a894a2976661b92337627baa1f361329f7de6bf130369902abef8bdcb524

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 11f8eecd81daf851f9bc352a08af01af1647d8d93cc0f4b9c3da8643ba24e138
MD5 b2a0b1ffb985c4b180b11b6bf92fd11e
BLAKE2b-256 168eab29d90cad58408b2f7df89d88cfb7171a77dbeb97e12dfd6f47fd221b8d

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 85.3 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c384315d7d776a8f187689bfd79cfac2e076b1a890cfb92ac26488a800e17913
MD5 af8b77ed75eadb21ac47079a19149a89
BLAKE2b-256 7537e74c51e29b84d7c13c2def74c9af54003fc055eb55cbf2a7acff5900e910

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9ce971729f030bc1ba13ebd9f51928f47eb7c9a5d44ca32c844448742f3e3ada
MD5 4ae51c6c236fcb103dd77a59bdec6906
BLAKE2b-256 441ad7e3834388995c6d2f5fa352ae080eace7ccdc27a3865e324963cf832595

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 85.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1fcc0499d92065a58645b71087cecaf69f748e9d9655a27a89a66abf289667be
MD5 bab7fd8f08a1899c2d0ff20525945a5e
BLAKE2b-256 fe8e2fba01eceba5457cf63f2fb87eca8ebf023351e4b80aa462b71f65ef8322

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 53.8 kB
  • Tags: CPython 3.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.6-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 52a005e7342ebe8e759491b7d13e0506e932099c39a6d333bf8d93477700125c
MD5 a9627d6d8de0c2349f9c0f66b55279b6
BLAKE2b-256 d61ff8cb6a3f49c86a14b5ec6e5102512e38ad74ae48050a4a0bb47680982dff

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 88ce6c44ee8c7819da977311bbdbfacf292c7d0b34596b79a298be504a9c58d7
MD5 fce17cd844ae2f3e491427a7027ee7c1
BLAKE2b-256 3782045680b3d3066752a3d90e7339175695b2c83c3757410ba359817a893042

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-win32.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 65325ab2614982a45bbe733722feda3f9fe92af369cbd1231ffd2814fc0b2036
MD5 bc0fd3166944b551212de4f138412b0c
BLAKE2b-256 1a28a432d2722cf07e12153fb9ed5b8058acd896823bd9a25f84a79120d811ce

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 84.6 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c3893ee1b3780b376a2fbdc6e02cd0a28ae98cfb4ad87fe05c3f8cf892189af4
MD5 c63011d4d44c2507b81f96ca210bff6d
BLAKE2b-256 c243a16170cc8988babec2eba0d5451ceb199e7e5e39ea86712d4442de7e58e0

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 83.5 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5d6e5141f048f5b12f223a64e66c926e14da3b93d6cdd560f58e0ae750e0a80a
MD5 6358b2375370bccec1e907ea7edcb3f6
BLAKE2b-256 8554e778d3a9a855221b566c3048737f19aa58ddd09efb1cbe0d655e57234e0e

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 84.6 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7348b187f6f26993dcc9580e274286616e5316f6fb2739a5891a029d47b5a444
MD5 e99c2974679bd8172e42e2a0210ae4e0
BLAKE2b-256 d935957cda6131c774e616103238d9d13918afb6e64c4f624b5c4d5d47ecd8df

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 83.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c962a10e792062fd39028b919dba4e4000d9c46155fd277222cdd165dc8f3e4a
MD5 a2276b181c0c22a4d6753e9fa3f45bd0
BLAKE2b-256 6b5e8839d70b6bac370327b69020cee361deb3f8e4f2739a7f2344684b6f183b

See more details on using hashes here.

File details

Details for the file clevercsv-0.5.6-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: clevercsv-0.5.6-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 53.8 kB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.6-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 bd75b99ea15bf69ebafbb87e6ef67c1fec1dd94ac49cee001f9f9efbe87b00ec
MD5 9ff6d89a0622841b8cd20603a5b1f834
BLAKE2b-256 29cdb2eaf6aa2d5818693c2d08766f98326a3b7d38d3da4e205cad02d86ceb11

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