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 the parsed file and the data type of the parsed cells. With our method we achieve a 97% accuracy for dialect detection, with a 21% improvement on non-standard (messy) CSV files.

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.5.tar.gz (53.1 kB view details)

Uploaded Source

Built Distributions

clevercsv-0.5.5-cp38-cp38-win_amd64.whl (53.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

clevercsv-0.5.5-cp38-cp38-win32.whl (52.3 kB view details)

Uploaded CPython 3.8 Windows x86

clevercsv-0.5.5-cp38-cp38-manylinux2010_x86_64.whl (85.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

clevercsv-0.5.5-cp38-cp38-manylinux2010_i686.whl (83.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

clevercsv-0.5.5-cp38-cp38-manylinux1_x86_64.whl (85.4 kB view details)

Uploaded CPython 3.8

clevercsv-0.5.5-cp38-cp38-manylinux1_i686.whl (83.9 kB view details)

Uploaded CPython 3.8

clevercsv-0.5.5-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.5-cp37-cp37m-win_amd64.whl (53.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

clevercsv-0.5.5-cp37-cp37m-win32.whl (52.2 kB view details)

Uploaded CPython 3.7m Windows x86

clevercsv-0.5.5-cp37-cp37m-manylinux2010_x86_64.whl (85.6 kB view details)

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

clevercsv-0.5.5-cp37-cp37m-manylinux2010_i686.whl (84.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

clevercsv-0.5.5-cp37-cp37m-manylinux1_x86_64.whl (85.6 kB view details)

Uploaded CPython 3.7m

clevercsv-0.5.5-cp37-cp37m-manylinux1_i686.whl (84.2 kB view details)

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.6+ intel

clevercsv-0.5.5-cp36-cp36m-win_amd64.whl (53.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

clevercsv-0.5.5-cp36-cp36m-win32.whl (52.2 kB view details)

Uploaded CPython 3.6m Windows x86

clevercsv-0.5.5-cp36-cp36m-manylinux2010_x86_64.whl (83.7 kB view details)

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

clevercsv-0.5.5-cp36-cp36m-manylinux2010_i686.whl (82.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

clevercsv-0.5.5-cp36-cp36m-manylinux1_x86_64.whl (83.7 kB view details)

Uploaded CPython 3.6m

clevercsv-0.5.5-cp36-cp36m-manylinux1_i686.whl (82.4 kB view details)

Uploaded CPython 3.6m

clevercsv-0.5.5-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.5.tar.gz.

File metadata

  • Download URL: clevercsv-0.5.5.tar.gz
  • Upload date:
  • Size: 53.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.1

File hashes

Hashes for clevercsv-0.5.5.tar.gz
Algorithm Hash digest
SHA256 1a5eb764ce43d2c7bc4a8c8b7a0820740727628776a0b0ab548005cc6ec1f5c4
MD5 b8d6dae29c0d4f1fb0de6d1e8a497ab0
BLAKE2b-256 8540aba0ee3fcfced33a184e828075506d691329afffbe5231fb65067fbf1ccd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 53.9 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 525f0b6d30fa8eb526b0daa06bd5a87554c7b5ca93de82fc67fbb338cb09a87b
MD5 eb7e186c9c7636356d60e3242c8d2e39
BLAKE2b-256 b2a8afab90bcd984ca1b0d682ea24b761e4de38c2a5f6e49783543a1ae41ddb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 52.3 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0a377132fa775754096f6dbd79d6707df95df0f212d5652fef29e9ddcbf3a0a9
MD5 72daafa5f2c4def94c56ca29b5eb01d6
BLAKE2b-256 2ca1ef52b6148c454daebe5645a3a69f61acc37243e6899dc388059afdb240c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 85.4 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d9d3771bfe23648ca42928a4c42c42fc4ea620783d20d38a07df43ba0c543631
MD5 9d7f262343fd612a110252fd83dafcd3
BLAKE2b-256 d689ec7d101c29786fafc8e45e14d3193277c5af9d1a73c1adbf88605642cd01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 83.9 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 922f7c9b209176ce773b50efa76051dc6924043d69f45d5fcfb614314e940481
MD5 b2556da0644004b6c13954ffb0898bd4
BLAKE2b-256 2621aa2540a307e5d2232ecf7578403dae455209dcd944d9552472e72601e0b1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5da5069668b5983a340a4399ccee3e5eca1e4b4f2cb20ceeb5f794d7e9e62b66
MD5 af85241228af54e7cf289b3f5f2dd9a1
BLAKE2b-256 4f8ea56d0df4aa7673f09e64c8ecd4dc941a40763ca760591413c77d9558189e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c8797899d6859f3b0d802a19fe51e01cdaf1207bb0bd84b71ebe2c479f467015
MD5 83638a3ab30e50c765214b5bd668aebd
BLAKE2b-256 de52a0ed8741c02742779cb9497a2ab27c28c82a1053b6c0fac2d0222c489ddc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-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.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d83a6ac58de24193f9ea2728ee8d445192f5cf3646743500a0c113551bed964b
MD5 ee1645442bc9796b96ca28b614200f35
BLAKE2b-256 d80f6f13054e019e3005486ad0e882acb7c484386d41045b2f02df08b15618fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 53.8 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 98fc4628d90f0dcc006bdf4d67ac78c4303fef6d43f223f0b94aed9358208242
MD5 73e660a4063f8609c033bd8d444bb35b
BLAKE2b-256 f96f4046a187c4283840ed29078394fe8be0efad9f2362b280eafbda82aff044

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 52.2 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 84b9023523872bd12b0a876dc95959fa5addab7fe3a82f725c6ae8fe738fbf7f
MD5 01b1d8425e53bfb353160711ceb19c73
BLAKE2b-256 4683fd45a28ad1255e55b4aa5743d68952f06e64af6a7480a17df75bbd7f3b14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 85.6 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d7763030c9184609b19a2b4c5464966d0a79c750fb1f0a3b95942a6bea13802f
MD5 cd6914f27c8395547c1d6072a3023ee1
BLAKE2b-256 c5a98648b40a0e9915fb9be0dee543a509a46a97eb1ed014dbcf4d075ecc91a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 84.2 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 485a23b6bf28f3592e3d91321e2a73b22792d5ef25e6d05389ca478224dbf5d9
MD5 189245c74849a1e4d84dff642889b7d2
BLAKE2b-256 78e8d52771690bd4248ca8db99166b74d08c981eb8285d5eeab3f71cf18c450a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 92affb1841232048442fbfc0b7da4df08034c81b6019d63193c1cec646101245
MD5 d2e9c1a543e0ec715b1ccf2de53de7f2
BLAKE2b-256 7cffed4857bea1b212264ebe2f868fe5309182e4d81e6e024b31c32100393e9a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7e126e25b930765bccb9fb1cce6165087c292a29e7246c44b7ab761854b27a42
MD5 2dfc443e56e642ba9ddf23386da1ba79
BLAKE2b-256 8caafc41947d0ffce1ea9929438d21594b183c29ff9ebbfb30d62be66f9ac936

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-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.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.5-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1912a19a0e64ca6d7dd02191254674e9bd57995056667342ba7cba987992b686
MD5 53a5b1433d223ea6cc6a28ebd428c2fa
BLAKE2b-256 6509c53b61f7b67d364fa5c1764a732c5ee6c52126295cee9656b4c19ecf7ec3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 53.8 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2b9e338912470432fc195263f02e27201d1e861dbb9623b5379bc819fa9aa491
MD5 b3b114a92a4f09eb1584ef7e0a6c38db
BLAKE2b-256 b1ca53c1eeca4a2a8b3384362eff28a886b7fca8152207150c06988fc0873386

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 52.2 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ea7a8830379ffcac0f8c2584b6e838257ac8ab86bd44f2758a1d698109e480aa
MD5 c5d34352f9047bc6d91861db9cddee4e
BLAKE2b-256 dcb22477272c9c1ab6d5009f4b09969ecdecdfe8df8c68bd0e8f8fe4310f43c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 83.7 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7aed3db01576e7d6a5bf1c8f26900cd6666393e39fdb3334306c93d6c3436447
MD5 94afc3ba19e529a8645b2f8ac6cc56ec
BLAKE2b-256 93998eb746455cb7a9e4869bf608ad8f07f0668e910be705642fe18b8099fc55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 82.4 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.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2644ca99170ac496127704b498fa09866ac723af81f46b376c137b52d544ebb5
MD5 a3037d14036c84ccceb8bb546528fe48
BLAKE2b-256 f33376682861417526fe0c8d60b9b644a6dea00542072a52588c2de023139a2a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 40d130c76956b0b42c41660004e0d1d3fd071d04035bd5fadda6c5238e613b50
MD5 8a3444995a7ffd5f02a694fed006d3c3
BLAKE2b-256 e13f4626a24d2e2f761b4009a7cd692f08022f375cd7e26009b5134522a95fca

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 70fd56e3345d23edabc3e00944e5552b7ae9d9b713dbb07ed19e10fa9b2b064b
MD5 b7f57e1cfc00a1ceacad306a421cc3ce
BLAKE2b-256 63221b3e716b86e75f3cabffc241ca2763916e2a4e06aae1c921b6a27d37e9d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clevercsv-0.5.5-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.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for clevercsv-0.5.5-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 fca53571fced3ad605b5ee57eafe8b9f4466012d9891aa03cd34ac08a4a4f0f2
MD5 ecc1c57111b9cba5e8c3b1143df23ffa
BLAKE2b-256 44f31100c7ab778383cefdf3960bb04c785f48f5690189ea8f73c5e7d90a4628

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