Closed realratchet closed 1 year ago
Great work! I'll help you with windows on Monday. I have most of the day available. I'll try to start early Monday morning so you can get me working on it.
I also don't see it as a show stopper as we can release it to dce as a .dev version
On Sat, 30 Sept 2023, 13:19 Ratchet, @.***> wrote:
I'm likely going to merge this on Monday, you can see if you want to add something else.
I will also rebase so that the test pipeline commits don't spam the commit history.
Known issues: I can't get it to work within Windows pipelines so I'll need help from someone with windows to get python working with nim.
I will also add a fallback to use the old python implementation as a fallback if it throws within nim until we're confident with maintaining nim only implementation.
You can view, comment on, or merge this pull request online at:
https://github.com/root-11/tablite/pull/86 Commit Summary
- 3fa91d5 https://github.com/root-11/tablite/pull/86/commits/3fa91d5519ef46bc53d091ab906b1578f5c266b8
- changes
- 2132317 https://github.com/root-11/tablite/pull/86/commits/2132317f31b5dd9019f235abc7eb776f418c5a7b
- ocd
- 223b6c2 https://github.com/root-11/tablite/pull/86/commits/223b6c2472a47e320eb741fb1a6544054e1d2456
- missing word
- adf357d https://github.com/root-11/tablite/pull/86/commits/adf357db2624a4650a8564f65ad761295c495503
- headers are supposed to be strings
- 2e2bcd5 https://github.com/root-11/tablite/pull/86/commits/2e2bcd54dce0a2229beab3266c1f0f726b587a58
- stuff
- 3357f45 https://github.com/root-11/tablite/pull/86/commits/3357f454d9dcfd5ae6fb757aa794e8f9168f3fb0
- seems to work
- 286314e https://github.com/root-11/tablite/pull/86/commits/286314ee635afe95d5b22047f3566c61ee929daa
- dont have parity yet but seems faster
- b7c85da https://github.com/root-11/tablite/pull/86/commits/b7c85da083f690e8d98ee33a32809f14e83f3405 works, no parity in terms of functionality but it's fast
- e3fc29c https://github.com/root-11/tablite/pull/86/commits/e3fc29c1a769d908a626c63b9158f8ad3a0221f5 cleanup
- f9dcc1e https://github.com/root-11/tablite/pull/86/commits/f9dcc1e4d287b63952e2156dc0eedaa4c4e2c64f
- working on parsing stuff
- d8086a3 https://github.com/root-11/tablite/pull/86/commits/d8086a3b021acd946f8a68c608f4d41ffed96360
- forgot to save
- ccea962 https://github.com/root-11/tablite/pull/86/commits/ccea9624058e31106cbef2b7eb9df21d7c6171df
- only missing date classes
- c60bcff https://github.com/root-11/tablite/pull/86/commits/c60bcff9983678c0a148523684d4359dd9610778
- working on pickling date
- 9941c9e https://github.com/root-11/tablite/pull/86/commits/9941c9e7e3f1e869f0d5b8407f445b2ddc8b9794
- dumping tiem
- 1b9994d https://github.com/root-11/tablite/pull/86/commits/1b9994d4131e214a008cc1f56559243a3c781cde
- rewrote the date parser so that it could be merged with time parser and used for datetime parser
- b9e6c8f https://github.com/root-11/tablite/pull/86/commits/b9e6c8f9038299de80ff1b5c567e3a89d7ba9f1d
- check daye range
- 49fd910 https://github.com/root-11/tablite/pull/86/commits/49fd910486d5bdc2d5b5d36b05d7fe7eaee6d1c3
- i think most of the formats work not to cleanup code and to fix leftover bugs
- fe04bca https://github.com/root-11/tablite/pull/86/commits/fe04bca107e230bf381c5971c4394551cd67fb4f
- split file encoder from main script
- 4b86543 https://github.com/root-11/tablite/pull/86/commits/4b86543363f919207467ea2c5b55bbd764f3e77a
- split csv parser from main
- 639f870 https://github.com/root-11/tablite/pull/86/commits/639f8702f8d1a248dd975a7e53400d702ece311d
- split pickling from main
- a5909b7 https://github.com/root-11/tablite/pull/86/commits/a5909b7010db843c20abc8cea504ced0cd37e2b7
- split infer types and numpy from main
- 75fa51d https://github.com/root-11/tablite/pull/86/commits/75fa51d33aea4d500004be7e92c4f9ae0dec7654
- rank update
- 20651f8 https://github.com/root-11/tablite/pull/86/commits/20651f807178a941bf17220d87d1da736a590b5e
- modular
- 0023e19 https://github.com/root-11/tablite/pull/86/commits/0023e198fbbbce77bf77381b2468bb9f4ce738d9
- improve type inference
- cc7a690 https://github.com/root-11/tablite/pull/86/commits/cc7a6903fabb8c8423825efd5143cdf5bf32283c
- cleanup
- a10ba39 https://github.com/root-11/tablite/pull/86/commits/a10ba39b1701e75803e2180e8a11ade6a6b6c1c8
- fix date
- 8f5964b https://github.com/root-11/tablite/pull/86/commits/8f5964b13d867dfda931294c4e0669eba190913a
- fixed date range but need to account for shortdate+int format
- aa32274 https://github.com/root-11/tablite/pull/86/commits/aa32274784bf0f89dc49211597d2d7f49f2d7058
- improve heuristics when short format + int
- 2315b3b https://github.com/root-11/tablite/pull/86/commits/2315b3b9972155292bbefb615f86baf1938b6b58 *updates
- 18e8512 https://github.com/root-11/tablite/pull/86/commits/18e851200714fec9659135d830ba2df4b7341a65
- working on dumping back to python
- 4902b97 https://github.com/root-11/tablite/pull/86/commits/4902b97e553b7189017767df518c9fe56a7832f7
- python layer
- f7d0318 https://github.com/root-11/tablite/pull/86/commits/f7d0318a37329754e684b377175c9e62bef7728a
- pass dtypes, bugfixes left
- b9df065 https://github.com/root-11/tablite/pull/86/commits/b9df0650736d376f90422ce95f4fb09eef6d8ebc
- cleanup
- 79277bf https://github.com/root-11/tablite/pull/86/commits/79277bf1b61f91654d196d2c4094017ad8a6bfde
- cleanup
- 88013a4 https://github.com/root-11/tablite/pull/86/commits/88013a4e55e5c6799d85d3e27b10b81e697602ad
- fix some stuff
- 9327ed1 https://github.com/root-11/tablite/pull/86/commits/9327ed13fa4b0f573dddcedc77040b555073fadd
- fixed some stuff
- 4239ed8 https://github.com/root-11/tablite/pull/86/commits/4239ed87c8281461674d45af623e9829c49b5376
- fix pylayer
- 06744dc https://github.com/root-11/tablite/pull/86/commits/06744dcce75dea5fbb1b6dd7038e0777afd828b2
- added to pycode
- cd9083b https://github.com/root-11/tablite/pull/86/commits/cd9083b741a715291da731db500f9c48d07f2eab
- switching branches because other stuff came up
- 902af67 https://github.com/root-11/tablite/pull/86/commits/902af673cceaeafd92947a3e8f9b20f1e6e0fb60 Merge branch 'master' into nim-csv
- f28d674 https://github.com/root-11/tablite/pull/86/commits/f28d6746779ac638bde42f8760569229b4045216
- added start/limit
- 71ea781 https://github.com/root-11/tablite/pull/86/commits/71ea7816efe8cc63d5b24588eddd5a46b21f1883
- fix no qualifier
- 8e82c69 https://github.com/root-11/tablite/pull/86/commits/8e82c692bf426c070e6246c841f12dc41d5677fe
- win1251 support
- d61077e https://github.com/root-11/tablite/pull/86/commits/d61077e353a23bdf432e614f1f0d9e523be1f314
- add skip trailing space
- 7081920 https://github.com/root-11/tablite/pull/86/commits/7081920cac50f64c010f1684aa2ddf024f7418e0
- header row fla support
- 65dd612 https://github.com/root-11/tablite/pull/86/commits/65dd61227c52f06284c7455eab0a0232cc73cb70
- header row offset
- 770307a https://github.com/root-11/tablite/pull/86/commits/770307aae431ff5eb1eaf0e2cf886197916a6625 all but one of the tests pass, and even then it's only when executing all of the tests and not it individually, something to do with shared state? is it a problem with nimporter or nim? i don't think there's any stateful code on my end
- a798a7d https://github.com/root-11/tablite/pull/86/commits/a798a7deaa9adc4a87a3877d415b1a0b6370d50a
- why was the test re-guessing the dtype? and failing?
- 0255666 https://github.com/root-11/tablite/pull/86/commits/025566675b5abb5af3a6e9c126f4b412c1d5bfdc
- undo
- 6d2fd3d https://github.com/root-11/tablite/pull/86/commits/6d2fd3df30d788bb6194d755490806d7fabc23a9
- parsing int/float now supports tablite locale parsin
- 632bebf https://github.com/root-11/tablite/pull/86/commits/632bebf26647d0513812a4004c981d24cb058fce
- fix and optimize utf16 reader
- cc5ae40 https://github.com/root-11/tablite/pull/86/commits/cc5ae402e8c4e6c48a022a509df91d76c3ccc15f
- arparse
- 11bcfce https://github.com/root-11/tablite/pull/86/commits/11bcfcebf577614634b1c39797892c867a6f3be8
- some bugfixes
- 296bde4 https://github.com/root-11/tablite/pull/86/commits/296bde4cfe4467e0b479b5145ec186b7f9a370a7
- fix gc, pointer deferencing actually copies but gc seems to do some shady stuff
- 1bbc097 https://github.com/root-11/tablite/pull/86/commits/1bbc097f4b40df69bca89ceea72893f7ce6a5400
- removed pointers because nim seems to poop itself in gc when they are used
- d4f33e7 https://github.com/root-11/tablite/pull/86/commits/d4f33e76797d7f054853ce00fb2224b245fa36d5
- version
- bbf02a3 https://github.com/root-11/tablite/pull/86/commits/bbf02a33d8c4227862836f4ca7aaf0dd7af90e1e
- fix nim 2.0.0 support, there's a bug in the GC when using notinit attempting to deallocate unallocated memory and the traceback is wrong!
- 11ceb37 https://github.com/root-11/tablite/pull/86/commits/11ceb3777425e7f498739567bfc6a3459b9873a8
- cleanup
- 0686ab7 https://github.com/root-11/tablite/pull/86/commits/0686ab7e25c0a8c61aacbf1c1712a6ea8a349dfa
- hmm
- 083a03f https://github.com/root-11/tablite/pull/86/commits/083a03fc5f9905ce579b6a140560443c833ece5f Merge branch 'nim-csv'
- 92e4a91 https://github.com/root-11/tablite/pull/86/commits/92e4a91dfa867f7dd796ca4461d29c73cdd11f68 Test pipelines
- 4ee6f0b https://github.com/root-11/tablite/pull/86/commits/4ee6f0bf5de1406fe4a709412f3d3dbc1daaee72 Test pipelines
- 06d51c9 https://github.com/root-11/tablite/pull/86/commits/06d51c950f0b9c02d3aa46f074b2b6b0600b03e3 what the
- 8dc0e9a https://github.com/root-11/tablite/pull/86/commits/8dc0e9ac51d0342902893e57effa2f3cc36b21d9 i'm stupid
- debd830 https://github.com/root-11/tablite/pull/86/commits/debd8304ade064b9793fc4767cf0c114e5459b69 Test pipelines, I hate windows edition
- ed10d94 https://github.com/root-11/tablite/pull/86/commits/ed10d944416c0bfada3d5e62a6044c034d6aada9 Test pipelines, I hate windows edition
- 1b87276 https://github.com/root-11/tablite/pull/86/commits/1b8727668466c6a8766883607454e94d00d8a37d Test pipelines, I hate windows edition
- 863fa46 https://github.com/root-11/tablite/pull/86/commits/863fa46158aa946e47a1889ec91214d73f6fc872 Test pipelines, I hate windows edition
- e24b2d8 https://github.com/root-11/tablite/pull/86/commits/e24b2d85c1bbfeef296ff2239df19d37db6f4e3e Test pipelines, I hate windows edition
- d46785c https://github.com/root-11/tablite/pull/86/commits/d46785c9531cc664609e864d51a8a95ff19d4ba0 Test pipelines, I hate windows edition
- 62b1319 https://github.com/root-11/tablite/pull/86/commits/62b131956c773e8ec3732e940b6b6713af3e8c7d Test pipelines, I hate windows edition
- 0157ffa https://github.com/root-11/tablite/pull/86/commits/0157ffac60bbcec4cf4fbfe835da73f71f7b12b3 Test pipelines, I hate windows edition
- 7f02543 https://github.com/root-11/tablite/pull/86/commits/7f0254331718ca3a8b030fc702e335d3043df30a Test pipelines, I hate windows edition
- d22d832 https://github.com/root-11/tablite/pull/86/commits/d22d8327e4dbdcef313cf8fb24bf6aa0a5d6db29 Test pipelines, I hate windows edition
- 2ef7248 https://github.com/root-11/tablite/pull/86/commits/2ef72489b285d565489d3a0e0791d7d97c5a5773 Test pipelines, I hate windows edition
- 5a2a9ae https://github.com/root-11/tablite/pull/86/commits/5a2a9ae2ea2d775771921a2577227fb10720fcfa Test pipelines, I hate windows edition
- bbf7d6d https://github.com/root-11/tablite/pull/86/commits/bbf7d6d0b11920d4c9a6b4b650c33ba03290d652 Test pipelines, I hate windows edition
- 427ef73 https://github.com/root-11/tablite/pull/86/commits/427ef7395baf19627e7d9f9fbff9f5bf78be3742 Test pipelines, I hate windows edition
- a246dbb https://github.com/root-11/tablite/pull/86/commits/a246dbb25df51eda00c896a20e7b9872c53539e6 Test pipelines, I hate windows edition
- b6d7e68 https://github.com/root-11/tablite/pull/86/commits/b6d7e68253ea1408a0d3618b31b961aa5c7ce8d0 Test pipelines, I hate windows edition
- cd3c06e https://github.com/root-11/tablite/pull/86/commits/cd3c06e118cbb8857f1d542d29c3f3e8301e6fd6 Test pipelines, I hate windows edition
- ab3c5bd https://github.com/root-11/tablite/pull/86/commits/ab3c5bdae061ca3be75e740cb4ac2413573147eb Test pipelines, I hate windows edition
- b687cbc https://github.com/root-11/tablite/pull/86/commits/b687cbc215de93a44905198bd600f70b9b1ff7be Test pipelines, I hate windows edition
- 3383689 https://github.com/root-11/tablite/pull/86/commits/33836892ca2b29809ae1bcdf8224d2f20065e959 Test pipelines, I hate windows edition
- c691ec6 https://github.com/root-11/tablite/pull/86/commits/c691ec6db6762653ee68df7abc58c286d4ea8d47 Test pipelines, I hate windows edition
- ad875d9 https://github.com/root-11/tablite/pull/86/commits/ad875d9baf23e0d1959fe2816606ee5cc0aa3fea Test pipelines, I hate windows edition
- 2faf3d4 https://github.com/root-11/tablite/pull/86/commits/2faf3d40a74c0f9f4193dbf4e54000dcbd9c898e Test pipelines, I hate windows edition
- 623b44a https://github.com/root-11/tablite/pull/86/commits/623b44a7524562da46050070d59065466bf32bc2 Test pipelines, I hate windows edition
- 4a55c29 https://github.com/root-11/tablite/pull/86/commits/4a55c2902ce98fa52f7033d7e4a95f514ede0a75 Test pipelines, I hate windows edition
- ea2d726 https://github.com/root-11/tablite/pull/86/commits/ea2d72609e310b1097a89b665911737924e5032d
- inlining
- 787761e https://github.com/root-11/tablite/pull/86/commits/787761ee9cabe97f41997a8c9b6ce1964e9fb081 Update ranking.nim
File Changes
(32 files https://github.com/root-11/tablite/pull/86/files)
- M .github/workflows/publish.yml https://github.com/root-11/tablite/pull/86/files#diff-551d1fcf87f78cc3bc18a7b332a4dc5d8773a512062df881c5aba28a6f5c48d7 (62)
- M .github/workflows/python-test.yml https://github.com/root-11/tablite/pull/86/files#diff-0165ee7fe5057e5c6e9f2ae4ae3d87d21324f691385cbf51b220a4abe79ce492 (40)
- M .gitignore https://github.com/root-11/tablite/pull/86/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947 (2)
- A _nimlite/cli.nim https://github.com/root-11/tablite/pull/86/files#diff-7655e9fee1fd5079f3fe660f62d385a78a6d3dd0cc55c9e7f7e3819b5f924574 (62)
- A _nimlite/csvparse.nim https://github.com/root-11/tablite/pull/86/files#diff-6bc01993fbf07b33bdad91d350966197f7f34b0f412edd8534bb5c2c8aa10bdb (289)
- A _nimlite/encfile.nim https://github.com/root-11/tablite/pull/86/files#diff-6008dcd0b49269647cc1becc4f6146b25bb717cceb2cb3c8dab035fb673928b4 (181)
- A _nimlite/infertypes.nim https://github.com/root-11/tablite/pull/86/files#diff-a01e6a6bf35a35b69052367b55a617257841082756e3e6c85ee29d4ec0bc397c (412)
- A _nimlite/insertsort.nim https://github.com/root-11/tablite/pull/86/files#diff-55375e4e17fbbde5e651980878ff26a8f16be1926ba7873a84faed4075a300b5 (9)
- A _nimlite/nimlite.nim https://github.com/root-11/tablite/pull/86/files#diff-b131ab4ae972a294c38d4736e05cac71d674289846f01f18b3545f43449d9d94 (284)
- A _nimlite/nimlite.pyi https://github.com/root-11/tablite/pull/86/files#diff-131f68a2dc784da99944f382a0531a32c8c6ee7553d1cd715a169f4e90401674 (5)
- A _nimlite/numpy.nim https://github.com/root-11/tablite/pull/86/files#diff-ce34e9979d27a230f704fb1944436fb6b90be30e61e7182c4b8ac1cef123bf30 (47)
- A _nimlite/paging.nim https://github.com/root-11/tablite/pull/86/files#diff-f435c4ebfeeb93b4c7c112ed9e01a2058e8507bf4082b3adfc915bed4db7902a (219)
- A _nimlite/pickling.nim https://github.com/root-11/tablite/pull/86/files#diff-33078a327ab9e583d86c6b086fecfa4172b82e01c290b0ff3128c0eed2b91b5d (302)
- A _nimlite/pylayer.nim https://github.com/root-11/tablite/pull/86/files#diff-c5ffcfaf853a9f08e7ef46abcc8127687c01e1b649b148193812017ebcc83053 (47)
- A _nimlite/ranking.nim https://github.com/root-11/tablite/pull/86/files#diff-fca3929cb33643ffe5969f0fd257a2728b12ebfd02f2d457d3392a1d4bf2df85 (91)
- A _nimlite/table.nim https://github.com/root-11/tablite/pull/86/files#diff-1331ec1f6f60c51adaafadd198810572581ffdd75dca6c8fd244d318ea37477f (79)
- A _nimlite/taskargs.nim https://github.com/root-11/tablite/pull/86/files#diff-d8cc41948d15c198cf32982e2aa1d40f26c97f2521ed2277044d4eabf0453b12 (98)
- A _nimlite/textreader.nim https://github.com/root-11/tablite/pull/86/files#diff-d0d0b86947146a0c6f8cc3a760b0f6e8432477248429b4c25005bd5c484e48e1 (189)
- A _nimlite/utils.nim https://github.com/root-11/tablite/pull/86/files#diff-c40829e24f9554343f51c96ae749df6470e9bb76517fa2efb55b673eecc923d3 (18)
- M requirements.txt https://github.com/root-11/tablite/pull/86/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552 (3)
- M setup.py https://github.com/root-11/tablite/pull/86/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7 (8)
- M tablite/init.py https://github.com/root-11/tablite/pull/86/files#diff-5aa2ebb194c0b2f942c1ffdea6af782ed883f0937eaece5b842eca192877c3d7 (2)
- M tablite/base.py https://github.com/root-11/tablite/pull/86/files#diff-c308236ef3ad023e5000bcad7c0fbdfa4d1f2bf53e50f1d0c145d0b427428817 (10)
- M tablite/config.py https://github.com/root-11/tablite/pull/86/files#diff-15f9ef21afe76caf04fb8ba499a50674dcfefb5f9648ef39444632b88eb3c652 (6)
- M tablite/core.py https://github.com/root-11/tablite/pull/86/files#diff-334cf4bf25646d517ed024daa6437a3a1fb6f8ede20940b69dee8cfd40030234 (2)
- M tablite/import_utils.py https://github.com/root-11/tablite/pull/86/files#diff-47edcef722d81c1f689012bd42701fc4bf400e90f4ea264678251dc8a1f75f1c (753)
- A tablite/nimlite.py https://github.com/root-11/tablite/pull/86/files#diff-93773b0d09695f5b0d6ba818b411d182890f7d0054141c6ca6652f005bf5ebd7 (144)
- A tablite/nimlite.pyi https://github.com/root-11/tablite/pull/86/files#diff-1e9a3682b1aeffcd6b863c00579ff63464565a654d85180f0a3cdd81cf10f959 (18)
- M tablite/version.py https://github.com/root-11/tablite/pull/86/files#diff-93ec861119b6d4a06abf9c83ff1d4295461f6a90d2c86d3e722476d97b8b54b9 (2)
- A tests/data/utf16_be.csv https://github.com/root-11/tablite/pull/86/files#diff-ea8d48809f7ae848819b074702992a429d8fd4adacda7b98b8bb1da76879c8a7 (0)
- A tests/data/utf16_le.csv https://github.com/root-11/tablite/pull/86/files#diff-ed7dfe160971ad6f4406663b12e6a7c07fa1641c06a4f8348fdaec956a5a2cf7 (0)
- M tests/test_filereader_formats.py https://github.com/root-11/tablite/pull/86/files#diff-804f5747b1b653020ee2f167c0a2052bc62bd28f3e4525e71bd4e4f9ab857e92 (35)
Patch Links:
— Reply to this email directly, view it on GitHub https://github.com/root-11/tablite/pull/86, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA64MJTPCEE3W4QZHQAL3ILX5AE5JANCNFSM6AAAAAA5NQR7RU . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Merging #86 (f330b96) into master (ad562ff) will decrease coverage by
0.70%
. The diff coverage is74.93%
.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@ Coverage Diff @@
## master #86 +/- ##
==========================================
- Coverage 83.04% 82.35% -0.70%
==========================================
Files 24 25 +1
Lines 3704 3910 +206
==========================================
+ Hits 3076 3220 +144
- Misses 628 690 +62
Files | Coverage Δ | |
---|---|---|
tablite/__init__.py | 100.00% <100.00%> (ø) |
|
tablite/base.py | 87.51% <100.00%> (+0.04%) |
:arrow_up: |
tablite/config.py | 100.00% <100.00%> (ø) |
|
tablite/core.py | 86.58% <ø> (ø) |
|
tablite/version.py | 100.00% <100.00%> (ø) |
|
tablite/import_utils.py | 82.35% <88.65%> (+5.22%) |
:arrow_up: |
tablite/nimlite.py | 10.76% <10.76%> (ø) |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
I'm likely going to merge this on Monday, you can see if you want to add something else.
I will also rebase so that the test pipeline commits don't spam the commit history.
Known issues: I can't get it to work within Windows pipelines so I'll need help from someone with windows to get python working with nim.
I will also add a fallback to use the old python implementation as a fallback if it throws within nim until we're confident with maintaining nim only implementation.