fastnumparse 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. fastnumparse-0.0.1/.github/workflows/pypi.yml +80 -0
  2. fastnumparse-0.0.1/.github/workflows/testpypi.yml +80 -0
  3. fastnumparse-0.0.1/.gitignore +31 -0
  4. fastnumparse-0.0.1/AGENTS.md +2 -0
  5. fastnumparse-0.0.1/CMakeLists.txt +48 -0
  6. fastnumparse-0.0.1/LICENSE +21 -0
  7. fastnumparse-0.0.1/PKG-INFO +151 -0
  8. fastnumparse-0.0.1/README.md +123 -0
  9. fastnumparse-0.0.1/assets/csv_float_244768x3.7z +0 -0
  10. fastnumparse-0.0.1/assets/csv_float_24608x3.7z +0 -0
  11. fastnumparse-0.0.1/assets/csv_int_1689166x2.7z +0 -0
  12. fastnumparse-0.0.1/assets/csv_int_2854577x3.7z +0 -0
  13. fastnumparse-0.0.1/assets/noncsv_char_2854577.7z +0 -0
  14. fastnumparse-0.0.1/assets/noncsv_int_244761.7z +0 -0
  15. fastnumparse-0.0.1/benchmarks/benchmark_csv.py +231 -0
  16. fastnumparse-0.0.1/benchmarks/benchmark_from_string_buffer_csv.py +301 -0
  17. fastnumparse-0.0.1/dep/fast_float/CMakeLists.txt +4 -0
  18. fastnumparse-0.0.1/dep/fast_float/fast_float/fast_float.h +3913 -0
  19. fastnumparse-0.0.1/dep/nanothread/.gitignore +23 -0
  20. fastnumparse-0.0.1/dep/nanothread/.gitmodules +3 -0
  21. fastnumparse-0.0.1/dep/nanothread/CMakeLists.txt +110 -0
  22. fastnumparse-0.0.1/dep/nanothread/LICENSE +26 -0
  23. fastnumparse-0.0.1/dep/nanothread/README.md +270 -0
  24. fastnumparse-0.0.1/dep/nanothread/ext/cmake-defaults/CMakeLists.txt +310 -0
  25. fastnumparse-0.0.1/dep/nanothread/ext/cmake-defaults/README.md +31 -0
  26. fastnumparse-0.0.1/dep/nanothread/include/nanothread/nanothread.h +652 -0
  27. fastnumparse-0.0.1/dep/nanothread/src/nanothread.cpp +678 -0
  28. fastnumparse-0.0.1/dep/nanothread/src/park.cpp +195 -0
  29. fastnumparse-0.0.1/dep/nanothread/src/park.h +92 -0
  30. fastnumparse-0.0.1/dep/nanothread/src/queue.cpp +705 -0
  31. fastnumparse-0.0.1/dep/nanothread/src/queue.h +368 -0
  32. fastnumparse-0.0.1/dep/nanothread/tests/CMakeLists.txt +22 -0
  33. fastnumparse-0.0.1/dep/nanothread/tests/test_01.c +55 -0
  34. fastnumparse-0.0.1/dep/nanothread/tests/test_02.cpp +56 -0
  35. fastnumparse-0.0.1/dep/nanothread/tests/test_03.cpp +76 -0
  36. fastnumparse-0.0.1/dep/nanothread/tests/test_04.cpp +71 -0
  37. fastnumparse-0.0.1/dep/nanothread/tests/test_05.cpp +85 -0
  38. fastnumparse-0.0.1/dep/nanothread/tests/test_06.cpp +511 -0
  39. fastnumparse-0.0.1/dep/pybind11/2.13.6/.appveyor.yml +35 -0
  40. fastnumparse-0.0.1/dep/pybind11/2.13.6/.clang-format +38 -0
  41. fastnumparse-0.0.1/dep/pybind11/2.13.6/.clang-tidy +79 -0
  42. fastnumparse-0.0.1/dep/pybind11/2.13.6/.cmake-format.yaml +73 -0
  43. fastnumparse-0.0.1/dep/pybind11/2.13.6/.codespell-ignore-lines +24 -0
  44. fastnumparse-0.0.1/dep/pybind11/2.13.6/.gitattributes +1 -0
  45. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/CODEOWNERS +9 -0
  46. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/CONTRIBUTING.md +388 -0
  47. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/ISSUE_TEMPLATE/bug-report.yml +61 -0
  48. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/ISSUE_TEMPLATE/config.yml +8 -0
  49. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/dependabot.yml +15 -0
  50. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/labeler.yml +13 -0
  51. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/labeler_merged.yml +8 -0
  52. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/matchers/pylint.json +32 -0
  53. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/pull_request_template.md +19 -0
  54. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/ci.yml +1241 -0
  55. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/configure.yml +92 -0
  56. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/emscripten.yaml +30 -0
  57. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/format.yml +60 -0
  58. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/labeler.yml +25 -0
  59. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/pip.yml +120 -0
  60. fastnumparse-0.0.1/dep/pybind11/2.13.6/.github/workflows/upstream.yml +116 -0
  61. fastnumparse-0.0.1/dep/pybind11/2.13.6/.gitignore +46 -0
  62. fastnumparse-0.0.1/dep/pybind11/2.13.6/.pre-commit-config.yaml +156 -0
  63. fastnumparse-0.0.1/dep/pybind11/2.13.6/.readthedocs.yml +20 -0
  64. fastnumparse-0.0.1/dep/pybind11/2.13.6/CMakeLists.txt +378 -0
  65. fastnumparse-0.0.1/dep/pybind11/2.13.6/LICENSE +29 -0
  66. fastnumparse-0.0.1/dep/pybind11/2.13.6/MANIFEST.in +6 -0
  67. fastnumparse-0.0.1/dep/pybind11/2.13.6/README.rst +181 -0
  68. fastnumparse-0.0.1/dep/pybind11/2.13.6/SECURITY.md +13 -0
  69. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/Doxyfile +21 -0
  70. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/_static/css/custom.css +3 -0
  71. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/chrono.rst +81 -0
  72. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/custom.rst +93 -0
  73. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/eigen.rst +310 -0
  74. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/functional.rst +109 -0
  75. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/index.rst +43 -0
  76. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/overview.rst +170 -0
  77. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/stl.rst +249 -0
  78. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/cast/strings.rst +296 -0
  79. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/classes.rst +1335 -0
  80. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/embedding.rst +262 -0
  81. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/exceptions.rst +401 -0
  82. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/functions.rst +614 -0
  83. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/misc.rst +429 -0
  84. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/pycpp/index.rst +13 -0
  85. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/pycpp/numpy.rst +453 -0
  86. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/pycpp/object.rst +286 -0
  87. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/pycpp/utilities.rst +155 -0
  88. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/advanced/smart_ptrs.rst +174 -0
  89. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/basics.rst +314 -0
  90. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/benchmark.py +89 -0
  91. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/benchmark.rst +95 -0
  92. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/changelog.rst +3285 -0
  93. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/classes.rst +555 -0
  94. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/cmake/index.rst +8 -0
  95. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/compiling.rst +726 -0
  96. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/conf.py +369 -0
  97. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/faq.rst +352 -0
  98. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/index.rst +48 -0
  99. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/installing.rst +105 -0
  100. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/limitations.rst +68 -0
  101. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/pybind11-logo.png +0 -0
  102. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/pybind11_vs_boost_python1.png +0 -0
  103. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/pybind11_vs_boost_python1.svg +427 -0
  104. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/pybind11_vs_boost_python2.png +0 -0
  105. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/pybind11_vs_boost_python2.svg +427 -0
  106. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/reference.rst +130 -0
  107. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/release.rst +143 -0
  108. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/requirements.in +6 -0
  109. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/requirements.txt +275 -0
  110. fastnumparse-0.0.1/dep/pybind11/2.13.6/docs/upgrade.rst +594 -0
  111. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/attr.h +690 -0
  112. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/buffer_info.h +208 -0
  113. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/cast.h +1855 -0
  114. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/chrono.h +225 -0
  115. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/common.h +2 -0
  116. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/complex.h +74 -0
  117. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/class.h +767 -0
  118. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/common.h +1287 -0
  119. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/cpp_conduit.h +77 -0
  120. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/descr.h +172 -0
  121. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/exception_translation.h +71 -0
  122. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/init.h +436 -0
  123. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/internals.h +766 -0
  124. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/type_caster_base.h +1195 -0
  125. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/typeid.h +65 -0
  126. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/detail/value_and_holder.h +77 -0
  127. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/eigen/common.h +9 -0
  128. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/eigen/matrix.h +715 -0
  129. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/eigen/tensor.h +515 -0
  130. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/eigen.h +12 -0
  131. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/embed.h +313 -0
  132. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/eval.h +156 -0
  133. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/functional.h +149 -0
  134. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/gil.h +219 -0
  135. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/gil_safe_call_once.h +100 -0
  136. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/iostream.h +265 -0
  137. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/numpy.h +2139 -0
  138. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/operators.h +202 -0
  139. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/options.h +92 -0
  140. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/pybind11.h +2978 -0
  141. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/pytypes.h +2606 -0
  142. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/stl/filesystem.h +124 -0
  143. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/stl.h +448 -0
  144. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/stl_bind.h +822 -0
  145. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  146. fastnumparse-0.0.1/dep/pybind11/2.13.6/include/pybind11/typing.h +242 -0
  147. fastnumparse-0.0.1/dep/pybind11/2.13.6/noxfile.py +107 -0
  148. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/__init__.py +19 -0
  149. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/__main__.py +86 -0
  150. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/_version.py +12 -0
  151. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/commands.py +39 -0
  152. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/py.typed +0 -0
  153. fastnumparse-0.0.1/dep/pybind11/2.13.6/pybind11/setup_helpers.py +500 -0
  154. fastnumparse-0.0.1/dep/pybind11/2.13.6/pyproject.toml +87 -0
  155. fastnumparse-0.0.1/dep/pybind11/2.13.6/setup.cfg +43 -0
  156. fastnumparse-0.0.1/dep/pybind11/2.13.6/setup.py +149 -0
  157. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/CMakeLists.txt +604 -0
  158. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/conftest.py +224 -0
  159. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/constructor_stats.h +322 -0
  160. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/cross_module_gil_utils.cpp +111 -0
  161. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/cross_module_interleaved_error_already_set.cpp +54 -0
  162. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/eigen_tensor_avoid_stl_array.cpp +16 -0
  163. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/env.py +31 -0
  164. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/exo_planet_c_api.cpp +103 -0
  165. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/exo_planet_pybind11.cpp +19 -0
  166. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/extra_python_package/pytest.ini +0 -0
  167. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/extra_python_package/test_files.py +299 -0
  168. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/extra_setuptools/pytest.ini +0 -0
  169. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/extra_setuptools/test_setuphelper.py +153 -0
  170. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/home_planet_very_lonely_traveler.cpp +13 -0
  171. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/local_bindings.h +92 -0
  172. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/object.h +205 -0
  173. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/pybind11_cross_module_tests.cpp +149 -0
  174. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/pybind11_tests.cpp +131 -0
  175. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/pybind11_tests.h +98 -0
  176. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/pyproject.toml +21 -0
  177. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/pytest.ini +23 -0
  178. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/requirements.txt +13 -0
  179. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_async.cpp +25 -0
  180. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_async.py +31 -0
  181. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_buffers.cpp +271 -0
  182. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_buffers.py +237 -0
  183. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_builtin_casters.cpp +387 -0
  184. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_builtin_casters.py +532 -0
  185. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_call_policies.cpp +113 -0
  186. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_call_policies.py +249 -0
  187. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_callbacks.cpp +280 -0
  188. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_callbacks.py +230 -0
  189. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_chrono.cpp +81 -0
  190. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_chrono.py +207 -0
  191. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_class.cpp +656 -0
  192. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_class.py +503 -0
  193. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/CMakeLists.txt +80 -0
  194. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/embed.cpp +23 -0
  195. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/installed_embed/CMakeLists.txt +28 -0
  196. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/installed_function/CMakeLists.txt +39 -0
  197. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/installed_target/CMakeLists.txt +46 -0
  198. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/main.cpp +6 -0
  199. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +47 -0
  200. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +41 -0
  201. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +47 -0
  202. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cmake_build/test.py +10 -0
  203. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_const_name.cpp +55 -0
  204. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_const_name.py +31 -0
  205. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_constants_and_functions.cpp +158 -0
  206. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_constants_and_functions.py +58 -0
  207. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_copy_move.cpp +544 -0
  208. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_copy_move.py +140 -0
  209. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cpp_conduit.cpp +22 -0
  210. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cpp_conduit.py +162 -0
  211. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cpp_conduit_traveler_bindings.h +47 -0
  212. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_cpp_conduit_traveler_types.h +25 -0
  213. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_custom_type_casters.cpp +217 -0
  214. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_custom_type_casters.py +124 -0
  215. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_custom_type_setup.cpp +41 -0
  216. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_custom_type_setup.py +50 -0
  217. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_docstring_options.cpp +129 -0
  218. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_docstring_options.py +66 -0
  219. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eigen_matrix.cpp +443 -0
  220. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eigen_matrix.py +816 -0
  221. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eigen_tensor.cpp +18 -0
  222. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eigen_tensor.inl +338 -0
  223. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eigen_tensor.py +290 -0
  224. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/CMakeLists.txt +54 -0
  225. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/catch.cpp +43 -0
  226. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/external_module.cpp +20 -0
  227. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/test_interpreter.cpp +488 -0
  228. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/test_interpreter.py +16 -0
  229. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_embed/test_trampoline.py +18 -0
  230. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_enum.cpp +133 -0
  231. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_enum.py +270 -0
  232. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eval.cpp +118 -0
  233. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eval.py +52 -0
  234. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_eval_call.py +5 -0
  235. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_exceptions.cpp +388 -0
  236. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_exceptions.h +13 -0
  237. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_exceptions.py +434 -0
  238. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_factory_constructors.cpp +430 -0
  239. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_factory_constructors.py +518 -0
  240. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_gil_scoped.cpp +144 -0
  241. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_gil_scoped.py +249 -0
  242. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_iostream.cpp +126 -0
  243. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_iostream.py +297 -0
  244. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_kwargs_and_defaults.cpp +325 -0
  245. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_kwargs_and_defaults.py +428 -0
  246. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_local_bindings.cpp +106 -0
  247. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_local_bindings.py +259 -0
  248. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_methods_and_attributes.cpp +492 -0
  249. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_methods_and_attributes.py +539 -0
  250. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_modules.cpp +125 -0
  251. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_modules.py +118 -0
  252. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_multiple_inheritance.cpp +341 -0
  253. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_multiple_inheritance.py +495 -0
  254. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_array.cpp +547 -0
  255. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_array.py +672 -0
  256. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_dtypes.cpp +641 -0
  257. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_dtypes.py +448 -0
  258. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_vectorize.cpp +107 -0
  259. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_numpy_vectorize.py +268 -0
  260. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_opaque_types.cpp +77 -0
  261. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_opaque_types.py +60 -0
  262. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_operator_overloading.cpp +281 -0
  263. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_operator_overloading.py +153 -0
  264. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_pickling.cpp +194 -0
  265. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_pickling.py +95 -0
  266. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_python_multiple_inheritance.cpp +45 -0
  267. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_python_multiple_inheritance.py +36 -0
  268. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_pytypes.cpp +989 -0
  269. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_pytypes.py +1092 -0
  270. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_sequences_and_iterators.cpp +600 -0
  271. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_sequences_and_iterators.py +267 -0
  272. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_smart_ptr.cpp +476 -0
  273. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_smart_ptr.py +317 -0
  274. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_stl.cpp +549 -0
  275. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_stl.py +383 -0
  276. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_stl_binders.cpp +275 -0
  277. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_stl_binders.py +395 -0
  278. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_tagbased_polymorphic.cpp +148 -0
  279. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_tagbased_polymorphic.py +30 -0
  280. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_thread.cpp +66 -0
  281. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_thread.py +49 -0
  282. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_type_caster_pyobject_ptr.cpp +167 -0
  283. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_type_caster_pyobject_ptr.py +122 -0
  284. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_type_caster_std_function_specializations.cpp +46 -0
  285. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_type_caster_std_function_specializations.py +15 -0
  286. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_union.cpp +22 -0
  287. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_union.py +10 -0
  288. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_unnamed_namespace_a.cpp +38 -0
  289. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_unnamed_namespace_a.py +36 -0
  290. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_unnamed_namespace_b.cpp +13 -0
  291. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_unnamed_namespace_b.py +7 -0
  292. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_vector_unique_ptr_member.cpp +54 -0
  293. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_vector_unique_ptr_member.py +16 -0
  294. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_virtual_functions.cpp +592 -0
  295. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/test_virtual_functions.py +463 -0
  296. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/valgrind-numpy-scipy.supp +140 -0
  297. fastnumparse-0.0.1/dep/pybind11/2.13.6/tests/valgrind-python.supp +117 -0
  298. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/FindCatch.cmake +76 -0
  299. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/FindEigen3.cmake +86 -0
  300. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/FindPythonLibsNew.cmake +310 -0
  301. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/JoinPaths.cmake +23 -0
  302. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/check-style.sh +44 -0
  303. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/cmake_uninstall.cmake.in +23 -0
  304. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/codespell_ignore_lines_from_errors.py +40 -0
  305. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/libsize.py +38 -0
  306. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/make_changelog.py +92 -0
  307. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11.pc.in +7 -0
  308. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11Common.cmake +455 -0
  309. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11Config.cmake.in +233 -0
  310. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11GuessPythonExtSuffix.cmake +86 -0
  311. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11NewTools.cmake +341 -0
  312. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pybind11Tools.cmake +239 -0
  313. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/pyproject.toml +3 -0
  314. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/setup_global.py.in +63 -0
  315. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/setup_main.py.in +44 -0
  316. fastnumparse-0.0.1/dep/pybind11/2.13.6/tools/test-pybind11GuessPythonExtSuffix.cmake +161 -0
  317. fastnumparse-0.0.1/docs/publish.md +161 -0
  318. fastnumparse-0.0.1/docs/temp.txt +0 -0
  319. fastnumparse-0.0.1/pyproject.toml +68 -0
  320. fastnumparse-0.0.1/src/fastnumparse/CMakeLists.txt +58 -0
  321. fastnumparse-0.0.1/src/fastnumparse/__init__.py +17 -0
  322. fastnumparse-0.0.1/src/fastnumparse/_fastnumparse.pyi +24 -0
  323. fastnumparse-0.0.1/src/fastnumparse/fastnumparse.cpp +1036 -0
  324. fastnumparse-0.0.1/src/fastnumparse/fastnumparse.h +50 -0
  325. fastnumparse-0.0.1/src/fastnumparse/py.typed +1 -0
  326. fastnumparse-0.0.1/testapp/CMakeLists.txt +33 -0
  327. fastnumparse-0.0.1/testapp/main.cpp +117 -0
  328. fastnumparse-0.0.1/tests/test_import.py +15 -0
  329. fastnumparse-0.0.1/tools/gendata.py +126 -0
@@ -0,0 +1,80 @@
1
+ name: Build and publish to PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ release:
6
+ types: [published]
7
+
8
+ jobs:
9
+ build-wheels:
10
+ name: Build wheels on ${{ matrix.os }}
11
+ runs-on: ${{ matrix.os }}
12
+ permissions:
13
+ contents: read
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os:
18
+ - ubuntu-latest
19
+ - windows-latest
20
+ - macos-15-intel
21
+ - macos-14
22
+
23
+ steps:
24
+ - name: Check out repository
25
+ uses: actions/checkout@v6
26
+ with:
27
+ persist-credentials: false
28
+
29
+ - name: Build and test wheels
30
+ uses: pypa/cibuildwheel@v4.2.0
31
+
32
+ - name: Store wheels
33
+ uses: actions/upload-artifact@v4
34
+ with:
35
+ name: cibw-wheels-${{ matrix.os }}
36
+ path: wheelhouse/*.whl
37
+ if-no-files-found: error
38
+
39
+ build-sdist:
40
+ name: Build source distribution
41
+ runs-on: ubuntu-latest
42
+ permissions:
43
+ contents: read
44
+
45
+ steps:
46
+ - name: Check out repository
47
+ uses: actions/checkout@v6
48
+ with:
49
+ persist-credentials: false
50
+
51
+ - name: Build source distribution
52
+ run: pipx run build --sdist
53
+
54
+ - name: Store source distribution
55
+ uses: actions/upload-artifact@v4
56
+ with:
57
+ name: cibw-sdist
58
+ path: dist/*.tar.gz
59
+ if-no-files-found: error
60
+
61
+ publish-pypi:
62
+ name: Publish distributions to PyPI
63
+ needs: [build-wheels, build-sdist]
64
+ runs-on: ubuntu-latest
65
+ environment:
66
+ name: pypi
67
+ url: https://pypi.org/project/fastnumparse/
68
+ permissions:
69
+ id-token: write
70
+
71
+ steps:
72
+ - name: Download distributions
73
+ uses: actions/download-artifact@v6
74
+ with:
75
+ pattern: cibw-*
76
+ path: dist
77
+ merge-multiple: true
78
+
79
+ - name: Publish to PyPI
80
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,80 @@
1
+ name: Build and publish to TestPyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ build-wheels:
8
+ name: Build wheels on ${{ matrix.os }}
9
+ runs-on: ${{ matrix.os }}
10
+ permissions:
11
+ contents: read
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os:
16
+ - ubuntu-latest
17
+ - windows-latest
18
+ - macos-15-intel
19
+ - macos-14
20
+
21
+ steps:
22
+ - name: Check out repository
23
+ uses: actions/checkout@v6
24
+ with:
25
+ persist-credentials: false
26
+
27
+ - name: Build and test wheels
28
+ uses: pypa/cibuildwheel@v4.2.0
29
+
30
+ - name: Store wheels
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: cibw-wheels-${{ matrix.os }}
34
+ path: wheelhouse/*.whl
35
+ if-no-files-found: error
36
+
37
+ build-sdist:
38
+ name: Build source distribution
39
+ runs-on: ubuntu-latest
40
+ permissions:
41
+ contents: read
42
+
43
+ steps:
44
+ - name: Check out repository
45
+ uses: actions/checkout@v6
46
+ with:
47
+ persist-credentials: false
48
+
49
+ - name: Build source distribution
50
+ run: pipx run build --sdist
51
+
52
+ - name: Store source distribution
53
+ uses: actions/upload-artifact@v4
54
+ with:
55
+ name: cibw-sdist
56
+ path: dist/*.tar.gz
57
+ if-no-files-found: error
58
+
59
+ publish-testpypi:
60
+ name: Publish distributions to TestPyPI
61
+ needs: [build-wheels, build-sdist]
62
+ runs-on: ubuntu-latest
63
+ environment:
64
+ name: testpypi
65
+ url: https://test.pypi.org/project/fastnumparse/
66
+ permissions:
67
+ id-token: write
68
+
69
+ steps:
70
+ - name: Download distributions
71
+ uses: actions/download-artifact@v6
72
+ with:
73
+ pattern: cibw-*
74
+ path: dist
75
+ merge-multiple: true
76
+
77
+ - name: Publish to TestPyPI
78
+ uses: pypa/gh-action-pypi-publish@release/v1
79
+ with:
80
+ repository-url: https://test.pypi.org/legacy/
@@ -0,0 +1,31 @@
1
+ .vscode/*
2
+ .vscode/
3
+ .vs/
4
+ __pycache__/
5
+ *.py[cod]
6
+ .pytest_cache/
7
+ .ruff_cache/
8
+ .mypy_cache/
9
+ .idea/
10
+ .DS_Store
11
+ Thumbs.db
12
+
13
+ # external/*
14
+
15
+ /build/*
16
+ /buildvs/*
17
+ /build2/*
18
+ /build_debug/*
19
+ /build_release/*
20
+ /install/*
21
+ /Testing/*
22
+ /data
23
+ /temp
24
+
25
+ # Python virtual environments and build artifacts
26
+ .venv/
27
+ venv/
28
+ /dist
29
+ /wheelhouse/
30
+ *.egg-info/
31
+ /docs/tmp_*
@@ -0,0 +1,2 @@
1
+ # Project Agent Instructions
2
+
@@ -0,0 +1,48 @@
1
+ cmake_minimum_required(VERSION 3.15...4.4)
2
+
3
+ set(FASTNUMPARSE_PROJECT_NAME "fastnumparse")
4
+ set(FASTNUMPARSE_PROJECT_VERSION "0.0.1")
5
+
6
+ # scikit-build-core defines these variables when building a Python package.
7
+ # Keep standalone CMake configuration usable for IDEs and local development.
8
+ if(DEFINED SKBUILD_PROJECT_NAME)
9
+ set(FASTNUMPARSE_PROJECT_NAME "${SKBUILD_PROJECT_NAME}")
10
+ endif()
11
+ if(DEFINED SKBUILD_PROJECT_VERSION)
12
+ set(FASTNUMPARSE_PROJECT_VERSION "${SKBUILD_PROJECT_VERSION}")
13
+ endif()
14
+
15
+ project(
16
+ ${FASTNUMPARSE_PROJECT_NAME}
17
+ VERSION ${FASTNUMPARSE_PROJECT_VERSION}
18
+ LANGUAGES CXX
19
+ )
20
+
21
+ set(
22
+ FASTNUMPARSE_RUNTIME_OUTPUT_DIRECTORY
23
+ "${CMAKE_BINARY_DIR}/bin/$<CONFIG>"
24
+ )
25
+
26
+ set(PYBIND11_FINDPYTHON ON)
27
+ set(NANOTHREAD_STATIC ON)
28
+ add_subdirectory(dep/fast_float EXCLUDE_FROM_ALL)
29
+ add_subdirectory(dep/nanothread EXCLUDE_FROM_ALL)
30
+ add_subdirectory(dep/pybind11/2.13.6 EXCLUDE_FROM_ALL)
31
+
32
+ add_subdirectory(src/fastnumparse)
33
+
34
+ set(FASTNUMPARSE_BUILD_TESTAPP_DEFAULT ON)
35
+ if(SKBUILD)
36
+ set(FASTNUMPARSE_BUILD_TESTAPP_DEFAULT OFF)
37
+ endif()
38
+
39
+ option(
40
+ FASTNUMPARSE_BUILD_TESTAPP
41
+ "Build the fastnumparse C++ test application"
42
+ ${FASTNUMPARSE_BUILD_TESTAPP_DEFAULT}
43
+ )
44
+
45
+ if(FASTNUMPARSE_BUILD_TESTAPP)
46
+ enable_testing()
47
+ add_subdirectory(testapp)
48
+ endif()
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 AndrewChan2022
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: fastnumparse
3
+ Version: 0.0.1
4
+ Summary: Fast number parsing for NumPy, powered by C++.
5
+ Keywords: numpy,number-parsing,parser
6
+ Author: AndrewChan2022
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3 :: Only
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
14
+ Classifier: Typing :: Typed
15
+ Project-URL: Homepage, https://github.com/AndrewChan2022/fastnumparse
16
+ Project-URL: Repository, https://github.com/AndrewChan2022/fastnumparse
17
+ Project-URL: Issues, https://github.com/AndrewChan2022/fastnumparse/issues
18
+ Requires-Python: >=3.10
19
+ Requires-Dist: numpy>=1.23
20
+ Provides-Extra: dev
21
+ Requires-Dist: build>=1.2.2; extra == "dev"
22
+ Requires-Dist: cibuildwheel<5,>=4.2; extra == "dev"
23
+ Requires-Dist: mypy>=1.11; extra == "dev"
24
+ Requires-Dist: py7zr<2,>=1.0; extra == "dev"
25
+ Requires-Dist: pytest>=8; extra == "dev"
26
+ Requires-Dist: twine>=6; extra == "dev"
27
+ Description-Content-Type: text/markdown
28
+
29
+
30
+ # fastnumparse
31
+
32
+ Fast number parsing for NumPy, powered by C++.
33
+
34
+ > [!NOTE]
35
+ > This project is in its initial scaffolding stage; the public parsing API has
36
+ > not been defined yet.
37
+
38
+
39
+ ## install
40
+
41
+
42
+ ```bash
43
+ pip install fastnumparse
44
+ ```
45
+
46
+ ## usage
47
+
48
+
49
+ for csv-like data, with row * col, with sep=" " and comment ="#"
50
+
51
+ ```txt
52
+ 1.694992566108704e+01 4.373334741592407e+01 1.491762180328369e+02 # comment
53
+ 1.875837993621826e+01 4.405829811096191e+01 1.520713310241699e+02
54
+ 1.766352510452271e+01 4.732764196395874e+01 1.513219413757324e+02
55
+ ```
56
+
57
+ ```python
58
+ import fastnumparse as fnp
59
+
60
+ path = "csv_data.txt"
61
+ raw_buffer = open(path, "rb").read()
62
+ values, _ = fnp.from_string_buffer_csv(
63
+ raw_buffer,
64
+ offset=0,
65
+ dtype=np.float64,
66
+ comment="#",
67
+ max_rows = 3,
68
+ column_count=3,
69
+ ndmin=2, # 2: return 2d array, 0~1: return 1d array
70
+ max_threads=16,
71
+ )
72
+ ```
73
+
74
+
75
+ for noncsv data, each row unkown number count, with sep=" " and comment ="#", and with an end char
76
+ ```txt
77
+ 15 780721 655221
78
+ 955795 127489 609646 896903 101275 343792 898984
79
+ 699394 898633 781093 1361969 631076 899312 898945 899053 780575 149987
80
+ }
81
+ ```
82
+
83
+
84
+ ```python
85
+ import fastnumparse as fnp
86
+
87
+ path = "noncsv_data.txt"
88
+ raw_buffer = open(path, "rb").read()
89
+ values, _ = fnp.from_string_buffer_noncsv(
90
+ raw_buffer,
91
+ offset=0,
92
+ dtype=np.int64,
93
+ comment="#",
94
+ end_char="}",
95
+ nelement=20,
96
+ max_threads=16,
97
+ )
98
+ ```
99
+
100
+
101
+ ## Development setup
102
+
103
+ Create and activate a virtual environment, then install the project in editable
104
+ mode with its development dependencies:
105
+
106
+ ```console
107
+ python -m pip install -e ".[dev]"
108
+ ```
109
+
110
+ This compiles the C++ extension with CMake and pybind11. Run the tests with:
111
+
112
+ ```console
113
+ python tools/gendata.py
114
+ python -m pytest
115
+ ```
116
+
117
+ `tools/gendata.py` extracts the compressed test and benchmark datasets from
118
+ `assets/` into the ignored `data/` directory. Pass `--force` to replace files
119
+ that have already been extracted.
120
+
121
+ ## Build distribution artifacts
122
+
123
+ ```console
124
+ python -m build
125
+ python -m twine check dist/*
126
+ ```
127
+
128
+ ## publish to PyPI
129
+
130
+ The source distribution can be uploaded to PyPI directly. Platform wheels must
131
+ be built separately for each supported operating system and Python version;
132
+ `cibuildwheel` is included in the development dependencies for that purpose.
133
+
134
+ See [docs/publish.md](docs/publish.md) for the complete cibuildwheel and
135
+ TestPyPI Trusted Publishing workflow.
136
+
137
+ And here is simple operation
138
+ - on github, click action, then choose the workflow to publish
139
+ - Build and publish to TestPyPI
140
+ - Build and publish to PyPI
141
+
142
+ ## limited
143
+
144
+ - comment only support # now
145
+ - delimiter only support space now
146
+
147
+ ## Acknowledgements
148
+
149
+ - [nanothread](https://github.com/mitsuba-renderer/nanothread) for light tbb style parallel_for
150
+ - [fast_float](https://github.com/fastfloat/fast_float) for fast string to float
151
+ - [pybind11](https://github.com/pybind/pybind11) for python binding
@@ -0,0 +1,123 @@
1
+
2
+ # fastnumparse
3
+
4
+ Fast number parsing for NumPy, powered by C++.
5
+
6
+ > [!NOTE]
7
+ > This project is in its initial scaffolding stage; the public parsing API has
8
+ > not been defined yet.
9
+
10
+
11
+ ## install
12
+
13
+
14
+ ```bash
15
+ pip install fastnumparse
16
+ ```
17
+
18
+ ## usage
19
+
20
+
21
+ for csv-like data, with row * col, with sep=" " and comment ="#"
22
+
23
+ ```txt
24
+ 1.694992566108704e+01 4.373334741592407e+01 1.491762180328369e+02 # comment
25
+ 1.875837993621826e+01 4.405829811096191e+01 1.520713310241699e+02
26
+ 1.766352510452271e+01 4.732764196395874e+01 1.513219413757324e+02
27
+ ```
28
+
29
+ ```python
30
+ import fastnumparse as fnp
31
+
32
+ path = "csv_data.txt"
33
+ raw_buffer = open(path, "rb").read()
34
+ values, _ = fnp.from_string_buffer_csv(
35
+ raw_buffer,
36
+ offset=0,
37
+ dtype=np.float64,
38
+ comment="#",
39
+ max_rows = 3,
40
+ column_count=3,
41
+ ndmin=2, # 2: return 2d array, 0~1: return 1d array
42
+ max_threads=16,
43
+ )
44
+ ```
45
+
46
+
47
+ for noncsv data, each row unkown number count, with sep=" " and comment ="#", and with an end char
48
+ ```txt
49
+ 15 780721 655221
50
+ 955795 127489 609646 896903 101275 343792 898984
51
+ 699394 898633 781093 1361969 631076 899312 898945 899053 780575 149987
52
+ }
53
+ ```
54
+
55
+
56
+ ```python
57
+ import fastnumparse as fnp
58
+
59
+ path = "noncsv_data.txt"
60
+ raw_buffer = open(path, "rb").read()
61
+ values, _ = fnp.from_string_buffer_noncsv(
62
+ raw_buffer,
63
+ offset=0,
64
+ dtype=np.int64,
65
+ comment="#",
66
+ end_char="}",
67
+ nelement=20,
68
+ max_threads=16,
69
+ )
70
+ ```
71
+
72
+
73
+ ## Development setup
74
+
75
+ Create and activate a virtual environment, then install the project in editable
76
+ mode with its development dependencies:
77
+
78
+ ```console
79
+ python -m pip install -e ".[dev]"
80
+ ```
81
+
82
+ This compiles the C++ extension with CMake and pybind11. Run the tests with:
83
+
84
+ ```console
85
+ python tools/gendata.py
86
+ python -m pytest
87
+ ```
88
+
89
+ `tools/gendata.py` extracts the compressed test and benchmark datasets from
90
+ `assets/` into the ignored `data/` directory. Pass `--force` to replace files
91
+ that have already been extracted.
92
+
93
+ ## Build distribution artifacts
94
+
95
+ ```console
96
+ python -m build
97
+ python -m twine check dist/*
98
+ ```
99
+
100
+ ## publish to PyPI
101
+
102
+ The source distribution can be uploaded to PyPI directly. Platform wheels must
103
+ be built separately for each supported operating system and Python version;
104
+ `cibuildwheel` is included in the development dependencies for that purpose.
105
+
106
+ See [docs/publish.md](docs/publish.md) for the complete cibuildwheel and
107
+ TestPyPI Trusted Publishing workflow.
108
+
109
+ And here is simple operation
110
+ - on github, click action, then choose the workflow to publish
111
+ - Build and publish to TestPyPI
112
+ - Build and publish to PyPI
113
+
114
+ ## limited
115
+
116
+ - comment only support # now
117
+ - delimiter only support space now
118
+
119
+ ## Acknowledgements
120
+
121
+ - [nanothread](https://github.com/mitsuba-renderer/nanothread) for light tbb style parallel_for
122
+ - [fast_float](https://github.com/fastfloat/fast_float) for fast string to float
123
+ - [pybind11](https://github.com/pybind/pybind11) for python binding