forked from wireservice/csvkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
194 lines (163 loc) · 7.09 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
1.0.0
-----
This is a major release of csvkit. The entire backend has been rewritten to leverage the agate data analysis library, rather than bespoke implementations. In addition to the specific changes enumerated below there may be small changes to the way the output of the various tools is formatted. For example:
* If `--no-header-row` is set, the output will have column names a, b, c, etc. instead of column1, column2, column3, etc.
If you have built data workflows on top of csvkit you should not upgrade without thorough testing.
Backwards-incompatible changes:
* The --doublequote long flag is gone, and the -b short flag is now an alias for --no-doublequote.
* When using the --columns or --not-columns options, you must not have spaces around the comma-separated values, unless the column names contain spaces.
* When sorting, null values are now greater than other values instead of less than.
* CSVKitReader, CSVKitWriter, CSVKitDictReader, and CSVKitDictWriter have been removed. Use agate.csv.reader, agate.csv.writer, agate.csv.DictReader and agate.csv.DictWriter.
* Drop Python 2.6 support.
Improvements:
* "import csvkit as csv" will now defer to agate readers/writers.
* csvgrep supports --no-header-row.
* csvjoin supports --no-header-row.
* csvjson streams input and output if the --stream and --no-inference flags are set.
* csvjson supports --snifflimit and --no-inference.
* csvlook adds --max-rows, --max-columns and --max-column-width options.
* csvlook supports --snifflimit and --no-inference.
* csvsql supports custom SQLAlchemy dialects.
* csvstat supports --names.
* in2csv CSV-to-CSV conversion streams input and output if the --no-inference flag is set.
* in2csv CSV-to-CSV conversion uses agate.Table.
* in2csv GeoJSON conversion adds columns for geometry type, longitude and latitude.
* Documentation: Update tool usage, remove shell prompts, document connection string, correct typos.
Fixes:
* Change -b, --doublequote to --no-doublequote, as doublequote is True by default.
* in2csv DBF conversion works with Python 3.
* in2csv correctly guesses format when file has an uppercase extension.
* in2csv correctly interprets --no-inference.
* in2csv again supports nested JSON objects (fixes regression).
* in2csv --format geojson will print a JSON object instead of `OrderedDict([(...)])`.
* csvclean with standard input works on Windows.
* csvgrep returns the input file's line numbers if the --linenumbers flag is set.
* csvgrep can match multiline values.
* csvgrep correctly operates on ragged rows.
* csvsql correctly escapes `%` characters in SQL queries.
* csvstack supports stacking a single file.
* csvstat always reports frequencies.
* FilteringCSVReader's any_match argument works correctly.
* All tools handle empty files without error.
0.9.1
-----
* Add Antonio Lima to AUTHORS.
* Add support for ndjson. (#329)
* Add missing docs for csvcut -C. (#227)
* Reorganize docs so TOC works better. (#339)
* Render docs locally with RTD theme.
* Fix header in "tricks" docs.
* Add install instructions to tutorial. (#331)
* Add killer examples to doc index. (#328)
* Reorganize doc index
* Fix broken csvkit module documentation. (#327)
* Fix version of openpyxl to work around encoding issue. (#391, #288)
0.9.0
-----
* Write missing sections of the tutorial. (#32)
* Remove -q arg from sql2csv (conflicts with common flag).
* Fix csvjoin in case where left dataset rows without all columns.
* Rewrote tutorial based on LESO data. (#324)
* Don't error in csvjson if lat/lon columns are null. (#326)
* Maintain field order in output of csvjson.
* Add unit test for json in2csv. (#77)
* Maintain key order when converting JSON into CSV. (#325.)
* Upgrade python-dateutil to version 2.2 (#304)
* Fix sorting of columns with null values. (#302)
* Added release documentation.
* Fill out short rows with null values. (#313)
* Fix unicode output for csvlook and csvstat. (#315)
* Add documentation for --zero. (#323)
* Fix Integrity error when inserting zero rows in database with csvsql. (#299)
* Add Michael Mior to AUTHORS. (#305)
* Add --count option to CSVStat.
* Implement csvformat.
* Fix bug causing CSVKitDictWriter to output 'utf-8' for blank fields.
0.8.0
-----
* Add pnaimoli to AUTHORS.
* Fix column specification in csvstat. (#236)
* Added "Tips and Tricks" documentation. (#297, #298)
* Add Espartaco Palma to AUTHORS.
* Remove unnecessary enumerate calls. (#292)
* Deprecated DBF support for Python 3+.
* Add support for Python 3.3 and 3.4 (#239)
0.7.3
-----
* Fix date handling with openpyxl > 2.0 (#285)
* Add Kristina Durivage to AUTHORS. (#243)
* Added Richard Low to AUTHORS.
* Support SQL queries "directly" on CSV files. (#276)
* Add Tasneem Raja to AUTHORS.
* Fix off-by-one error in open ended column ranges. (#238)
* Add Matt Pettis to AUTHORS.
* Add line numbers flag to csvlook (#244)
* Only install argparse for Python < 2.7. (#224)
* Add Diego Rabatone Oliveira to AUTHORS.
* Add Ryan Murphy to AUTHORS.
* Fix DBF dependency. (#270)
0.7.2
-----
* Fix CHANGELOG for release.
0.7.1
-----
* Fix homepage url in setup.py.
0.7.0
-----
* Fix XLSX datetime normalization bug. (#223)
* Add raistlin7447 to AUTHORS.
* Merged sql2csv utility (#259).
* Add Jeroen Janssens to AUTHORS.
* Validate csvsql DB connections before parsing CSVs. (#257)
* Clarify install process for Ubuntu. (#249)
* Clarify docs for --escapechar. (#242)
* Make ``import csvkit`` API compatible with ``import csv``.
* Update Travis CI link. (#258)
* Add Sébastien Fievet to AUTHORS.
* Use case-sensitive name for SQLAlchemy (#237)
* Add Travis Swicegood to AUTHORS.
0.6.1
-----
* Add Chris Rosenthal to AUTHORS.
* Fix multi-file input to csvsql. (#193)
* Passing --snifflimit=0 to disable dialect sniffing. (#190)
* Add aarcro to the AUTHORS file.
* Improve performance of csvgrep. (#204)
* Add Matt Dudys to AUTHORS.
* Add support for --skipinitialspace. (#201)
* Add Joakim Lundborg to AUTHORS.
* Add --no-inference option to in2csv and csvsql. (#206)
* Add Federico Scrinzi to AUTHORS file.
* Add --no-header-row to all tools. (#189)
* Fix csvstack blowing up on empty files. (#209)
* Add Chris Rosenthal to AUTHORS file.
* Add --db-schema option to csvsql. (#216)
* Add Shane StClair to AUTHORS file.
* Add --no-inference support to csvsort. (#222)
0.5.0
-----
* Implement geojson support in csvjson. (#159)
* Optimize writing of eight bit codecs. (#175)
* Created csvpy. (#44)
* Support --not-columns for excluding columns. (#137)
* Add Jan Schulz to AUTHORS file.
* Add Windows scripts. (#111, #176)
* csvjoin, csvsql and csvstack will no longer hold open all files. (#178)
* Added Noah Hoffman to AUTHORS.
* Make csvlook output compatible with emacs table markup. (#174)
0.4.4
-----
* Add Derek Wilson to AUTHORS.
* Add Kevin Schaul to AUTHORS.
* Add DBF support to in2csv. (#11, #160)
* Support --zero option for zero-based column indexing. (#144)
* Support mixing nulls and blanks in string columns.
* Add --blanks option to csvsql. (#149)
* Add multi-file (glob) support to csvsql. (#146)
* Add Gregory Temchenko to AUTHORS.
* Add --no-create option to csvsql. (#148)
* Add Anton Ian Sipos to AUTHORS.
* Fix broken pipe errors. (#150)
0.4.3
-----
* Begin CHANGELOG (a bit late, I'll admit).