{ "info": { "author": "Jean-Benoist Leger", "author_email": "jb@leger.tf", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only" ], "description": "# csvspoon: a tool to manipulate csv file with headers\n\nAgain, again, and again.\n\n## Installing\n\nFrom pypi:\n\n```\npip3 install csvspoon\n```\n\nOr developer version:\n\n```\ngit clone \ncd csvspoon\npip3 install -e .\n```\n\n## Enable completion (for bash or other shells using bash-completion)\n\n```\nmkdir -p ~/.local/share/bash-completion/completions\nregister-python-argcomplete csvspoon > ~/.local/share/bash-completion/completions/csvspoon\n```\n\n## Python module\n\nAll methods and functions are accessible in the python module.\n## Cli usage\n```\nusage: csvspoon [-h] {cat,apply,filter,sort,join,aggregate} ...\n\nA tool to manipulate csv files with headers.\nAgain, again and again.\n\noptional arguments:\n -h, --help show this help message and exit\n\nsubcommands:\n {cat,apply,filter,sort,join,aggregate}\n cat Concatenate csv files.\n apply Apply a formula to compute a new column.\n filter Filter a csv with a formula.\n sort Sort csv files.\n join Operate join on csv files\n aggregate Apply a aggregation formula to compute a new column.\n\n```\n## `csvspoon cat`\n```\nusage: csvspoon cat [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT]\n [input [input ...]]\n\nConcatenate csv files.\nEmpty fields added if some columns do not exist in all files\nThis method is completely streamed and no data is stored in memory.\n\npositional arguments:\n input Input file specification. If no input file is\n provided, stdin is used as first input file, otherwise\n use explicitly \"-\" for stdin. Can be a filename (e.g.\n \"file.csv\"), a filename followed a semicolon and\n column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n\nExamples:\n Change delimiter of a csv file:\n csvspoon cat -d \"\\t\" -u \";\" file.csv > result.csv\n\n Change delimiter of a csv file with specified output:\n csvspoon cat -o result.csv -d \"\\t\" -u \";\" file.csv\n\n Cat two csv files:\n csvspoon cat file1.csv file2.csv\n\n Reformat two columns of a csv files:\n csvspoon cat -f a_colname:5.1f -f another_colname:04d file.csv\n\n Cat one csv file, keeping only a column:\n csvspoon cat file.csv:a_col\n\n Cat two csv files, renaming a column on the second file:\n csvspoon cat file1.csv file2.csv:new_col=old_col,another_col\n\n```\n## `csvspoon apply`\n```\nusage: csvspoon apply [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT]\n [-b BEFORE] [-t TYPE] [-a COLSPEC FORMULA]\n [input]\n\nApply a formula to compute a new column.\nThe formula must be a valid python expression evaluated on each row.\nThis method is completely streamed and no data is stored in memory.\n\npositional arguments:\n input Input file specification. If no input file is\n provided, stdin is used as input file. Can be a\n filename (e.g. \"file.csv\"), a filename followed a\n semicolon and column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n -b BEFORE, --before BEFORE\n Run the following code before evaluate the expression\n on each row. Can be specified multiple times. (e.g.\n \"import math\").\n -t TYPE, --type TYPE Apply type conversion on specified command prior to\n expression. The argument must be a column name\n followed by a valid Python type. See \"--before\" to\n define non standard type. e.g. \"a_column:int\" or\n \"a_column:float\". This option can be specified\n multiple time to type different columns.\n -a COLSPEC FORMULA, --add COLSPEC FORMULA, --add-column COLSPEC FORMULA\n Append a new column (or update existing one). Take two\n argument, COLSPEC and FORMULA. COLSPEC is the name of\n the created column obtained by appling the formula.\n The column is remplaced if already exists. The COLSPEC\n can also contains a colon and a format specifier, see\n \"--format\" for example. FORMULA must be a valid python\n expression. For the current row, columns values are\n accessible as local variable. e.g. \"a_colname +\n other_colname\" or \"min(a_colname, other_colname)\". See\n \"--type\" for typing other columns and \"--before\" for\n run code before evaluating expression. Can be\n specified multiple time.\n\nExamples:\n Combine text columns by a formula:\n csvspoon apply -a name \"lastname.upper()+' '+firstname.lower()\" file.csv\n\n Sum to integer columns:\n csvspoon apply -t cola:int -t colb:int -a colsum \"cola+colb\" file.csv\n\n Sum to integer columns and format the result:\n csvspoon apply -t cola:int -t colb:int -a colsum:05d \"cola+colb\" file.csv\n\n Compute complex expression between columns:\n csvspoon apply \\\n -b \"import math\" \\\n -t x:float \\\n -t y:float \\\n -a norm \"math.sqrt(x**2+y**2)\" \\\n file.csv\n\n Multiple computation can be done reusing newly created columns:\n csvspoon apply -t x:int -a x2p1 \"x**2+1\" -a x2p1m1 \"x2p1-1\" file.csv\n\n```\n## `csvspoon filter`\n```\nusage: csvspoon filter [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT]\n [-b BEFORE] [-t TYPE] [-a FILTER_FORMULA]\n [input]\n\nEvaluate a formula on each row, and keep only rows where the formula\nis evaluated True.\nThe formula must be a valid python expression evaluated on each row.\nThis method is completely streamed and no data is stored in memory.\n\npositional arguments:\n input Input file specification. If no input file is\n provided, stdin is used as input file. Can be a\n filename (e.g. \"file.csv\"), a filename followed a\n semicolon and column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n -b BEFORE, --before BEFORE\n Run the following code before evaluate the expression\n on each row. Can be specified multiple times. (e.g.\n \"import math\").\n -t TYPE, --type TYPE Apply type conversion on specified command prior to\n expression. The argument must be a column name\n followed by a valid Python type. See \"--before\" to\n define non standard type. e.g. \"a_column:int\" or\n \"a_column:float\". This option can be specified\n multiple time to type different columns.\n -a FILTER_FORMULA, --add FILTER_FORMULA, --add-filter FILTER_FORMULA\n FORMULA must be a valid python expression, which is\n casted to bool(). For the current row, columns values\n are accessible as local variable. e.g. \"a_colname >\n other_colname\" or \"a_colname=='fixedvalue'\". See \"--\n type\" for typing other columns and \"--before\" for run\n code before evaluating filter expression. Can be\n specified multiple time.\n\nExamples:\n Filter csv file using two columns:\n csvspoon filter -a \"lastname!=firstname\" file.csv\n\n Chain filters on csv file:\n csvspoon filter \\\n -a \"lastname.startswith('Doe')\" \\\n -a \"firstname.starswith('John')\" \\\n file.csv\n\n Filter csv file with float column price:\n csvspoon filter -t price:float -a \"price>12.5\" file.csv\n\n Filter csv file with complex expression:\n csvspoon filter \\\n -b \"import math\" \\\n -t x:float \\\n -t y:float \\\n -t z:float \\\n -a \"math.sqrt(x**2+y**2)>z\" \\\n file.csv\n\n```\n## `csvspoon sort`\n```\nusage: csvspoon sort [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT]\n [-k KEYS] [-n] [-r] [-R]\n [input]\n\nSort csv file.\nWarning: this method need to store in memory all the input csv file.\n\npositional arguments:\n input Input file specification. If no input file is\n provided, stdin is used as input file. Can be a\n filename (e.g. \"file.csv\"), a filename followed a\n semicolon and column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n -k KEYS, --key KEYS Column used for sorting. Can be specified multiple\n time.\n -n, --numeric-sort Compare according to numerical value.\n -r, --reverse Reverse the result of comparisons.\n -R, --random-sort Shuffle. If key specified, shuffle is performed inside\n lines with the same key.\n\nExamples:\n Sort csv file using column cola:\n csvspoon sort -k cola file.csv\n\n Sort csv file using columns cola and colb:\n csvspoon sort -k cola -k colb file.csv\n\n Sort csv file using numerical mode on column numcol:\n csvspoon sort -n -k numcol file.csv\n\n Shuffle csv file:\n csvspoon sort -R file.csv\n\n```\n## `csvspoon join`\n```\nusage: csvspoon join [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT] [-l]\n [-r] [-e]\n input [input ...]\n\nNatural join of csv files.\nJoins are performed from left to right.\nWarning: this method need to store in memory all csv except the\n first which is streamed.\n\nIf neither --left or --right specified, inner join is realized. For\ncomplete outer join, use --left and --right together.\n\npositional arguments:\n input Input file specification. If less than two input files\n are provided, stdin is used as first input file,\n otherwise use explicitly \"-\" for stdin. Can be a\n filename (e.g. \"file.csv\"), a filename followed a\n semicolon and column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n -l, --left Perform left join. If more than two files are\n provided, each join in a left join. Can be used with\n `-r` to obtain a outer join.\n -r, --right Perform right join. If more than two files are\n provided, each join in a right join. Can be used with\n `-l` to obtain a outer join.\n -e, --empty Indicate than empty field have to be considered as a\n value.\n\nExamples:\n Operate NATURAL JOIN on two csv files:\n csvspoon join file1.csv file2.csv\n\n Operate two NATURAL JOIN on three csv files:\n csvspoon join file1.csv file2.csv file3.csv\n\n Operate LEFT JOIN on two csv files\n csvspoon join -l file1.csv file2.csv\n\n Operate RIGHT JOIN on two csv files\n csvspoon join -r file1.csv file2.csv\n\n Operate OUTER JOIN on two csv files\n csvspoon join -lr file1.csv file2.csv\n\n```\n## `csvspoon aggregate`\n```\nusage: csvspoon aggregate [-h] [-d DELIM] [-o OUTPUT] [-u ODELIM] [-f FORMAT]\n [-b BEFORE] [-t TYPE] [-a COLSPEC FORMULA] [-k KEYS]\n [input]\n\nApply a formula to compute a new column.\nThe formula must be a valid python expression evaluated for each\ngroupped row.\nOnly aggregation or column with non ambiguous values are keeped.\nWarning: this method need to store in memory all the input csv file.\n\npositional arguments:\n input Input file specification. If no input file is\n provided, stdin is used as input file. Can be a\n filename (e.g. \"file.csv\"), a filename followed a\n semicolon and column names separated by commas (e.g.\n \"file.csv:a_colname,another_colname\"). A column can be\n renamed while reading the file (e.g.\n \"file.csv:a_colname,new_colname=old_colname\"). When\n column names are specified, only these columns are\n used, with the provided order.\n\noptional arguments:\n -h, --help show this help message and exit\n -d DELIM, --delim DELIM\n Input delimiter. (default: ',')\n -o OUTPUT, --output OUTPUT\n Output file, else output on stdout.\n -u ODELIM, --output-delim ODELIM\n Output delimiter. (default: ',')\n -f FORMAT, --format FORMAT\n Apply a format on a column on output. The argument\n must be a column name followed by a colon and a format\n specifier. e.g. \"a_colname:5d\" or \"a_colname:+07.2f\".\n This option can be specified multiple time to format\n different columns.\n -b BEFORE, --before BEFORE\n Run the following code before evaluate the expression\n on each row. Can be specified multiple times. (e.g.\n \"import math\").\n -t TYPE, --type TYPE Apply type conversion on specified command prior to\n expression. The argument must be a column name\n followed by a valid Python type. See \"--before\" to\n define non standard type. e.g. \"a_column:int\" or\n \"a_column:float\". This option can be specified\n multiple time to type different columns.\n -a COLSPEC FORMULA, --add COLSPEC FORMULA, --add-aggregation COLSPEC FORMULA\n Append a new colon by aggregation of values. Take two\n argument, COLSPEC and FORMULA. COLSPEC is the name of\n the created column obtained the aggregation. The\n COLSPEC can also contains a colon and a format\n specifier, see \"--format\" for example. FORMULA must be\n a valid python expression. For each column, list of\n values to aggregate are accessible as local variable.\n The formula should return a single value. e.g.\n \"sum(a_colname) + sum(other_colname)\". See \"--type\"\n for typing other columns and \"--before\" for run code\n before evaluating expression. Can be specified\n multiple time.\n -k KEYS, --key KEYS Column used groupping the aggregate. Can be specified\n multiple time. Similar to \"GROUP BY\" in SQL.\n\nExamples:\n Keeping unique lines, one line per group:\n csvspoon aggregate \\\n -k group \\\n file.csv\n\n Computing the total mean grade:\n csvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n file.csv\n\n Computing the total mean grade specifing a format:\n csvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade:.2f \"np.mean(grade)\" \\\n file.csv\n\n Computing the mean grade by group:\n csvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n -k group \\\n file.csv\n\n Computing the mean grade, median, standard deviation by group:\n csvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n -a mediangrade \"np.median(grade)\" \\\n -a stdgrade \"np.std(grade)\" \\\n -k group \\\n file.csv\n\n```\n## Cli example\n### csvspoon cat: Concatenate CSV files\n - Change delimiter of a csv file:\n```\ncsvspoon cat -d \"\\t\" -u \";\" file.csv > result.csv\n```\n - Change delimiter of a csv file with specified output:\n```\ncsvspoon cat -o result.csv -d \"\\t\" -u \";\" file.csv\n```\n - Cat two csv files:\n```\ncsvspoon cat file1.csv file2.csv\n```\n - Reformat two columns of a csv files:\n```\ncsvspoon cat -f a_colname:5.1f -f another_colname:04d file.csv\n```\n - Cat one csv file, keeping only a column:\n```\ncsvspoon cat file.csv:a_col\n```\n - Cat two csv files, renaming a column on the second file:\n```\ncsvspoon cat file1.csv file2.csv:new_col=old_col,another_col\n```\n### csvspoon apply: Apply functions to add columns\n - Combine text columns by a formula:\n```\ncsvspoon apply -a name \"lastname.upper()+' '+firstname.lower()\" file.csv\n```\n - Sum to integer columns:\n```\ncsvspoon apply -t cola:int -t colb:int -a colsum \"cola+colb\" file.csv\n```\n - Sum to integer columns and format the result:\n```\ncsvspoon apply -t cola:int -t colb:int -a colsum:05d \"cola+colb\" file.csv\n```\n - Compute complex expression between columns:\n```\ncsvspoon apply \\\n -b \"import math\" \\\n -t x:float \\\n -t y:float \\\n -a norm \"math.sqrt(x**2+y**2)\" \\\n file.csv\n```\n - Multiple computation can be done reusing newly created columns:\n```\ncsvspoon apply -t x:int -a x2p1 \"x**2+1\" -a x2p1m1 \"x2p1-1\" file.csv\n```\n### csvspoon sort: Sort CSV file\n - Sort csv file using column cola:\n```\ncsvspoon sort -k cola file.csv\n```\n - Sort csv file using columns cola and colb:\n```\ncsvspoon sort -k cola -k colb file.csv\n```\n - Sort csv file using numerical mode on column numcol:\n```\ncsvspoon sort -n -k numcol file.csv\n```\n - Shuffle csv file:\n```\ncsvspoon sort -R file.csv\n```\n### csvspoon filter: Filter CSV from given conditions\n - Filter csv file using two columns:\n```\ncsvspoon filter -a \"lastname!=firstname\" file.csv\n```\n - Chain filters on csv file:\n```\ncsvspoon filter \\\n -a \"lastname.startswith('Doe')\" \\\n -a \"firstname.starswith('John')\" \\\n file.csv\n```\n - Filter csv file with float column price:\n```\ncsvspoon filter -t price:float -a \"price>12.5\" file.csv\n```\n - Filter csv file with complex expression:\n```\ncsvspoon filter \\\n -b \"import math\" \\\n -t x:float \\\n -t y:float \\\n -t z:float \\\n -a \"math.sqrt(x**2+y**2)>z\" \\\n file.csv\n```\n### csvspoon join: Join CSV files\n - Operate NATURAL JOIN on two csv files:\n```\ncsvspoon join file1.csv file2.csv\n```\n - Operate two NATURAL JOIN on three csv files:\n```\ncsvspoon join file1.csv file2.csv file3.csv\n```\n - Operate LEFT JOIN on two csv files\n```\ncsvspoon join -l file1.csv file2.csv\n```\n - Operate RIGHT JOIN on two csv files\n```\ncsvspoon join -r file1.csv file2.csv\n```\n - Operate OUTER JOIN on two csv files\n```\ncsvspoon join -lr file1.csv file2.csv\n```\n### csvspoon aggregate: Compute aggregation on CSV file\n - Keeping unique lines, one line per group:\n```\ncsvspoon aggregate \\\n -k group \\\n file.csv\n```\n - Computing the total mean grade:\n```\ncsvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n file.csv\n```\n - Computing the total mean grade specifing a format:\n```\ncsvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade:.2f \"np.mean(grade)\" \\\n file.csv\n```\n - Computing the mean grade by group:\n```\ncsvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n -k group \\\n file.csv\n```\n - Computing the mean grade, median, standard deviation by group:\n```\ncsvspoon aggregate \\\n -b \"import numpy as np\" \\\n -t grade:float \\\n -a meangrade \"np.mean(grade)\" \\\n -a mediangrade \"np.median(grade)\" \\\n -a stdgrade \"np.std(grade)\" \\\n -k group \\\n file.csv\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitub.com/jb-leger/csvspoon", "keywords": "csv", "license": "", "maintainer": "", "maintainer_email": "", "name": "csvspoon", "package_url": "https://pypi.org/project/csvspoon/", "platform": "", "project_url": "https://pypi.org/project/csvspoon/", "project_urls": { "Homepage": "https://gitub.com/jb-leger/csvspoon" }, "release_url": "https://pypi.org/project/csvspoon/0.6/", "requires_dist": [ "argparse", "argcomplete", "pytest ; extra == 'test'", "numpy ; extra == 'test'" ], "requires_python": ">=3.5", "summary": "A tool to manipulate csv files with headers.", "version": "0.6" }, "last_serial": 5452314, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ae65b1f6b081f430e63bf4857c20c3f2", "sha256": "9de2434f58e96977eaef9a3d04997a3625c58df220fd6ebb3aecd406a83a4577" }, "downloads": -1, "filename": "csvspoon-0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "ae65b1f6b081f430e63bf4857c20c3f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 11450, "upload_time": "2019-06-23T20:19:56", "url": "https://files.pythonhosted.org/packages/27/11/d870f1c34465e8c8edbdf9c93a27627b1f49c6f3b544730c2007ed41d88f/csvspoon-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "361c144a0fe87c75dc5fc96f579ed1f3", "sha256": "8bef2f49349bec8ed88d9e5f4a8e05aefccc61cab9216f621d44e28457d229a7" }, "downloads": -1, "filename": "csvspoon-0.1.tar.gz", "has_sig": false, "md5_digest": "361c144a0fe87c75dc5fc96f579ed1f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11695, "upload_time": "2019-06-23T20:19:58", "url": "https://files.pythonhosted.org/packages/53/73/7123edc8902182fec09b1c93297dc349f80e005a7ef745090128dc95c3ec/csvspoon-0.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "777e9f199d7db5933798430cf90b3ba0", "sha256": "a820879150e49e525ac535e1eb4f8555850ae288ddbf72342cdd115b713ddc85" }, "downloads": -1, "filename": "csvspoon-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "777e9f199d7db5933798430cf90b3ba0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12281, "upload_time": "2019-06-23T20:32:41", "url": "https://files.pythonhosted.org/packages/7d/b4/5f1f03299974ba6e965803ee62e141d4e0e8823cb1dd69a2d5d8b5203709/csvspoon-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f66a01f312dc7f132c9cfa9d19aa7cb", "sha256": "f0d333b61fb307ac50dd61496261805fb15e7e0fd5844331c7b462ce5a3c0bf0" }, "downloads": -1, "filename": "csvspoon-0.3.tar.gz", "has_sig": false, "md5_digest": "7f66a01f312dc7f132c9cfa9d19aa7cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13492, "upload_time": "2019-06-23T20:32:43", "url": "https://files.pythonhosted.org/packages/23/5f/96e03e163f3797fcd82f96ee6da46565fc30bdf2a9618fbb0ef0b94750a9/csvspoon-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "d2c751e284b551c958504e81ffe647fd", "sha256": "51689cffde1628668e63afa3bdd9a444859df0a17e4855e5a343633407e64428" }, "downloads": -1, "filename": "csvspoon-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d2c751e284b551c958504e81ffe647fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 14733, "upload_time": "2019-06-23T20:45:18", "url": "https://files.pythonhosted.org/packages/c0/22/01879511188ba18c2b3dcb5ee6752cd65983514a15b9f7465a3da3bd9671/csvspoon-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bff52a52a7376b112d9f3562a55f441e", "sha256": "fd61e50dcdafbc91a299d8fe859608f4511846a48d40f01bfdc449ec04428ba6" }, "downloads": -1, "filename": "csvspoon-0.4.tar.gz", "has_sig": false, "md5_digest": "bff52a52a7376b112d9f3562a55f441e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18046, "upload_time": "2019-06-23T20:45:20", "url": "https://files.pythonhosted.org/packages/3b/cb/fac222732fa554467052dbabc88df0fb36d1b2c109ec9220c7672ff60c42/csvspoon-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "c525ac358aed9646f1411d440fe66881", "sha256": "6c8d87f2f583309cda3d382f0afb3ad69c5e3d57463e2ed0573d20217cac5a45" }, "downloads": -1, "filename": "csvspoon-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c525ac358aed9646f1411d440fe66881", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 14827, "upload_time": "2019-06-24T16:40:56", "url": "https://files.pythonhosted.org/packages/ea/96/c748e21cfc3d663f839152cc4234bf2dd39d6644823db2da32122677474f/csvspoon-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9706ac0f78d5b479ca6b976fdb2f9d7", "sha256": "d268255aaf3e0b77f532f496969d259bd8ca0e32ad2cc063621a4fc86c5f83d6" }, "downloads": -1, "filename": "csvspoon-0.5.tar.gz", "has_sig": false, "md5_digest": "d9706ac0f78d5b479ca6b976fdb2f9d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18163, "upload_time": "2019-06-24T16:40:58", "url": "https://files.pythonhosted.org/packages/f0/e7/717f1cefb4b5f2a698526d703956e68100f1599a0c4ae07133f86f993c0e/csvspoon-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "706badde3453c095488155a78be50667", "sha256": "40d6f92b0d31125704ab2cf2820d5fd6de2969b1831eeabb581fd2eab191a0a7" }, "downloads": -1, "filename": "csvspoon-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "706badde3453c095488155a78be50667", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 15366, "upload_time": "2019-06-26T15:31:45", "url": "https://files.pythonhosted.org/packages/de/45/66bb1723eef1de14dad48ea54d3d4815c9ad2a733ca084206106afb3419d/csvspoon-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0018099f5a43ee3193ab969e7d1260e5", "sha256": "28c828bdf6c3a35b938984f1c28b9c728fe6cb58c01e27f10e6052cbaa4e7fb4" }, "downloads": -1, "filename": "csvspoon-0.6.tar.gz", "has_sig": false, "md5_digest": "0018099f5a43ee3193ab969e7d1260e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19286, "upload_time": "2019-06-26T15:31:47", "url": "https://files.pythonhosted.org/packages/30/0c/c50bb095651d02e9e0874201d2589f53dbe0d9f26f01704478754711316d/csvspoon-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "706badde3453c095488155a78be50667", "sha256": "40d6f92b0d31125704ab2cf2820d5fd6de2969b1831eeabb581fd2eab191a0a7" }, "downloads": -1, "filename": "csvspoon-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "706badde3453c095488155a78be50667", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 15366, "upload_time": "2019-06-26T15:31:45", "url": "https://files.pythonhosted.org/packages/de/45/66bb1723eef1de14dad48ea54d3d4815c9ad2a733ca084206106afb3419d/csvspoon-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0018099f5a43ee3193ab969e7d1260e5", "sha256": "28c828bdf6c3a35b938984f1c28b9c728fe6cb58c01e27f10e6052cbaa4e7fb4" }, "downloads": -1, "filename": "csvspoon-0.6.tar.gz", "has_sig": false, "md5_digest": "0018099f5a43ee3193ab969e7d1260e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19286, "upload_time": "2019-06-26T15:31:47", "url": "https://files.pythonhosted.org/packages/30/0c/c50bb095651d02e9e0874201d2589f53dbe0d9f26f01704478754711316d/csvspoon-0.6.tar.gz" } ] }