GotoUsuke commited on
Commit
8334cee
·
verified ·
1 Parent(s): a65108d

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +11 -0
  2. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/INSTALLER +1 -0
  3. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/LICENSE.txt +0 -0
  4. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/METADATA +86 -0
  5. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/NOTICE.txt +84 -0
  6. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/RECORD +869 -0
  7. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/REQUESTED +0 -0
  8. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/WHEEL +5 -0
  9. graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/top_level.txt +2 -0
  10. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__init__.pxd +42 -0
  11. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__init__.py +435 -0
  12. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/__init__.cpython-312.pyc +0 -0
  13. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/_compute_docstrings.cpython-312.pyc +0 -0
  14. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/_generated_version.cpython-312.pyc +0 -0
  15. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/acero.cpython-312.pyc +0 -0
  16. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/benchmark.cpython-312.pyc +0 -0
  17. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/cffi.cpython-312.pyc +0 -0
  18. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/compute.cpython-312.pyc +0 -0
  19. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/conftest.cpython-312.pyc +0 -0
  20. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/csv.cpython-312.pyc +0 -0
  21. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/cuda.cpython-312.pyc +0 -0
  22. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/dataset.cpython-312.pyc +0 -0
  23. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/feather.cpython-312.pyc +0 -0
  24. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/flight.cpython-312.pyc +0 -0
  25. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/fs.cpython-312.pyc +0 -0
  26. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/ipc.cpython-312.pyc +0 -0
  27. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/json.cpython-312.pyc +0 -0
  28. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/jvm.cpython-312.pyc +0 -0
  29. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/orc.cpython-312.pyc +0 -0
  30. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/pandas_compat.cpython-312.pyc +0 -0
  31. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/substrait.cpython-312.pyc +0 -0
  32. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/types.cpython-312.pyc +0 -0
  33. graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/util.cpython-312.pyc +0 -0
  34. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.cpython-312-x86_64-linux-gnu.so +0 -0
  35. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.pxd +44 -0
  36. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.pyx +608 -0
  37. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_azurefs.cpython-312-x86_64-linux-gnu.so +0 -0
  38. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_azurefs.pyx +134 -0
  39. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.cpython-312-x86_64-linux-gnu.so +3 -0
  40. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.pxd +70 -0
  41. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.pyx +0 -0
  42. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute_docstrings.py +56 -0
  43. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.cpython-312-x86_64-linux-gnu.so +0 -0
  44. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.pxd +55 -0
  45. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.pyx +1542 -0
  46. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_cuda.pxd +67 -0
  47. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_cuda.pyx +1080 -0
  48. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.cpython-312-x86_64-linux-gnu.so +3 -0
  49. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.pxd +183 -0
  50. graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.pyx +0 -0
.gitattributes CHANGED
@@ -65,3 +65,14 @@ graphrag-ollama/lib/python3.12/site-packages/regex/_regex.cpython-312-x86_64-lin
65
  graphrag-ollama/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
66
  graphrag-ollama/lib/python3.12/site-packages/tiktoken/_tiktoken.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
67
  graphrag-ollama/lib/python3.12/site-packages/yaml/_yaml.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
65
  graphrag-ollama/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
66
  graphrag-ollama/lib/python3.12/site-packages/tiktoken/_tiktoken.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
67
  graphrag-ollama/lib/python3.12/site-packages/yaml/_yaml.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
68
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
69
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
70
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/_flight.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
71
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/lib.cpython-312-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
72
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow.so.1800 filter=lfs diff=lfs merge=lfs -text
73
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow_acero.so.1800 filter=lfs diff=lfs merge=lfs -text
74
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow_dataset.so.1800 filter=lfs diff=lfs merge=lfs -text
75
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow_flight.so.1800 filter=lfs diff=lfs merge=lfs -text
76
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow_python.so filter=lfs diff=lfs merge=lfs -text
77
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libarrow_substrait.so.1800 filter=lfs diff=lfs merge=lfs -text
78
+ graphrag-ollama/lib/python3.12/site-packages/pyarrow/libparquet.so.1800 filter=lfs diff=lfs merge=lfs -text
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/LICENSE.txt ADDED
The diff for this file is too large to render. See raw diff
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/METADATA ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: pyarrow
3
+ Version: 18.0.0
4
+ Summary: Python library for Apache Arrow
5
+ Maintainer-email: Apache Arrow Developers <[email protected]>
6
+ License: Apache Software License
7
+ Project-URL: Homepage, https://arrow.apache.org/
8
+ Project-URL: Documentation, https://arrow.apache.org/docs/python
9
+ Project-URL: Repository, https://github.com/apache/arrow
10
+ Project-URL: Issues, https://github.com/apache/arrow/issues
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ License-File: ../LICENSE.txt
20
+ License-File: ../NOTICE.txt
21
+ Provides-Extra: test
22
+ Requires-Dist: pytest ; extra == 'test'
23
+ Requires-Dist: hypothesis ; extra == 'test'
24
+ Requires-Dist: cffi ; extra == 'test'
25
+ Requires-Dist: pytz ; extra == 'test'
26
+ Requires-Dist: pandas ; extra == 'test'
27
+
28
+ <!---
29
+ Licensed to the Apache Software Foundation (ASF) under one
30
+ or more contributor license agreements. See the NOTICE file
31
+ distributed with this work for additional information
32
+ regarding copyright ownership. The ASF licenses this file
33
+ to you under the Apache License, Version 2.0 (the
34
+ "License"); you may not use this file except in compliance
35
+ with the License. You may obtain a copy of the License at
36
+
37
+ http://www.apache.org/licenses/LICENSE-2.0
38
+
39
+ Unless required by applicable law or agreed to in writing,
40
+ software distributed under the License is distributed on an
41
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
42
+ KIND, either express or implied. See the License for the
43
+ specific language governing permissions and limitations
44
+ under the License.
45
+ -->
46
+
47
+ ## Python library for Apache Arrow
48
+
49
+ [![pypi](https://img.shields.io/pypi/v/pyarrow.svg)](https://pypi.org/project/pyarrow/) [![conda-forge](https://img.shields.io/conda/vn/conda-forge/pyarrow.svg)](https://anaconda.org/conda-forge/pyarrow)
50
+
51
+ This library provides a Python API for functionality provided by the Arrow C++
52
+ libraries, along with tools for Arrow integration and interoperability with
53
+ pandas, NumPy, and other software in the Python ecosystem.
54
+
55
+ ## Installing
56
+
57
+ Across platforms, you can install a recent version of pyarrow with the conda
58
+ package manager:
59
+
60
+ ```shell
61
+ conda install pyarrow -c conda-forge
62
+ ```
63
+
64
+ On Linux, macOS, and Windows, you can also install binary wheels from PyPI with
65
+ pip:
66
+
67
+ ```shell
68
+ pip install pyarrow
69
+ ```
70
+
71
+ If you encounter any issues importing the pip wheels on Windows, you may need
72
+ to install the [Visual C++ Redistributable for Visual Studio 2015][6].
73
+
74
+ ## Development
75
+
76
+ See [Python Development][2] in the documentation subproject.
77
+
78
+ ### Building the documentation
79
+
80
+ See [documentation build instructions][1] in the documentation subproject.
81
+
82
+ [1]: https://github.com/apache/arrow/blob/main/docs/source/developers/documentation.rst
83
+ [2]: https://github.com/apache/arrow/blob/main/docs/source/developers/python.rst
84
+ [3]: https://github.com/pandas-dev/pandas
85
+ [5]: https://arrow.apache.org/docs/latest/python/benchmarks.html
86
+ [6]: https://www.microsoft.com/en-us/download/details.aspx?id=48145
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/NOTICE.txt ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache Arrow
2
+ Copyright 2016-2024 The Apache Software Foundation
3
+
4
+ This product includes software developed at
5
+ The Apache Software Foundation (http://www.apache.org/).
6
+
7
+ This product includes software from the SFrame project (BSD, 3-clause).
8
+ * Copyright (C) 2015 Dato, Inc.
9
+ * Copyright (c) 2009 Carnegie Mellon University.
10
+
11
+ This product includes software from the Feather project (Apache 2.0)
12
+ https://github.com/wesm/feather
13
+
14
+ This product includes software from the DyND project (BSD 2-clause)
15
+ https://github.com/libdynd
16
+
17
+ This product includes software from the LLVM project
18
+ * distributed under the University of Illinois Open Source
19
+
20
+ This product includes software from the google-lint project
21
+ * Copyright (c) 2009 Google Inc. All rights reserved.
22
+
23
+ This product includes software from the mman-win32 project
24
+ * Copyright https://code.google.com/p/mman-win32/
25
+ * Licensed under the MIT License;
26
+
27
+ This product includes software from the LevelDB project
28
+ * Copyright (c) 2011 The LevelDB Authors. All rights reserved.
29
+ * Use of this source code is governed by a BSD-style license that can be
30
+ * Moved from Kudu http://github.com/cloudera/kudu
31
+
32
+ This product includes software from the CMake project
33
+ * Copyright 2001-2009 Kitware, Inc.
34
+ * Copyright 2012-2014 Continuum Analytics, Inc.
35
+ * All rights reserved.
36
+
37
+ This product includes software from https://github.com/matthew-brett/multibuild (BSD 2-clause)
38
+ * Copyright (c) 2013-2016, Matt Terry and Matthew Brett; all rights reserved.
39
+
40
+ This product includes software from the Ibis project (Apache 2.0)
41
+ * Copyright (c) 2015 Cloudera, Inc.
42
+ * https://github.com/cloudera/ibis
43
+
44
+ This product includes software from Dremio (Apache 2.0)
45
+ * Copyright (C) 2017-2018 Dremio Corporation
46
+ * https://github.com/dremio/dremio-oss
47
+
48
+ This product includes software from Google Guava (Apache 2.0)
49
+ * Copyright (C) 2007 The Guava Authors
50
+ * https://github.com/google/guava
51
+
52
+ This product include software from CMake (BSD 3-Clause)
53
+ * CMake - Cross Platform Makefile Generator
54
+ * Copyright 2000-2019 Kitware, Inc. and Contributors
55
+
56
+ The web site includes files generated by Jekyll.
57
+
58
+ --------------------------------------------------------------------------------
59
+
60
+ This product includes code from Apache Kudu, which includes the following in
61
+ its NOTICE file:
62
+
63
+ Apache Kudu
64
+ Copyright 2016 The Apache Software Foundation
65
+
66
+ This product includes software developed at
67
+ The Apache Software Foundation (http://www.apache.org/).
68
+
69
+ Portions of this software were developed at
70
+ Cloudera, Inc (http://www.cloudera.com/).
71
+
72
+ --------------------------------------------------------------------------------
73
+
74
+ This product includes code from Apache ORC, which includes the following in
75
+ its NOTICE file:
76
+
77
+ Apache ORC
78
+ Copyright 2013-2019 The Apache Software Foundation
79
+
80
+ This product includes software developed by The Apache Software
81
+ Foundation (http://www.apache.org/).
82
+
83
+ This product includes software developed by Hewlett-Packard:
84
+ (c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/RECORD ADDED
@@ -0,0 +1,869 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ pyarrow-18.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ pyarrow-18.0.0.dist-info/LICENSE.txt,sha256=Ip2-KeThNE6VFy9vOkJ37A2lx4UMsDiXxH86JLevzgg,110423
3
+ pyarrow-18.0.0.dist-info/METADATA,sha256=3Nfu3fXswkP1YwG7Zr3dEi01IQJpkqTzHRbwDJiHAto,3292
4
+ pyarrow-18.0.0.dist-info/NOTICE.txt,sha256=ti6iQmQtOhjx4psMH-CCQVppQ_4VjuIrSM_zdi81QAk,3032
5
+ pyarrow-18.0.0.dist-info/RECORD,,
6
+ pyarrow-18.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ pyarrow-18.0.0.dist-info/WHEEL,sha256=GAEhkxm77H2WVEyE70oaJna7cr1z-ZyZC29APwfwcpg,113
8
+ pyarrow-18.0.0.dist-info/top_level.txt,sha256=Zuk_c1WeinXdMz20fXlEtGC67zfKOWuwU8adpEEU_nI,18
9
+ pyarrow/__init__.pxd,sha256=Wnar1phFqM_ZHnZmtbuqm6wJHsXlBoYKhV7Qmo2jUHA,2195
10
+ pyarrow/__init__.py,sha256=KdUkzmN0NJf1AKTskHDoH3OwZoc0Ih2PRu3BqtdjHbY,18119
11
+ pyarrow/__pycache__/__init__.cpython-312.pyc,,
12
+ pyarrow/__pycache__/_compute_docstrings.cpython-312.pyc,,
13
+ pyarrow/__pycache__/_generated_version.cpython-312.pyc,,
14
+ pyarrow/__pycache__/acero.cpython-312.pyc,,
15
+ pyarrow/__pycache__/benchmark.cpython-312.pyc,,
16
+ pyarrow/__pycache__/cffi.cpython-312.pyc,,
17
+ pyarrow/__pycache__/compute.cpython-312.pyc,,
18
+ pyarrow/__pycache__/conftest.cpython-312.pyc,,
19
+ pyarrow/__pycache__/csv.cpython-312.pyc,,
20
+ pyarrow/__pycache__/cuda.cpython-312.pyc,,
21
+ pyarrow/__pycache__/dataset.cpython-312.pyc,,
22
+ pyarrow/__pycache__/feather.cpython-312.pyc,,
23
+ pyarrow/__pycache__/flight.cpython-312.pyc,,
24
+ pyarrow/__pycache__/fs.cpython-312.pyc,,
25
+ pyarrow/__pycache__/ipc.cpython-312.pyc,,
26
+ pyarrow/__pycache__/json.cpython-312.pyc,,
27
+ pyarrow/__pycache__/jvm.cpython-312.pyc,,
28
+ pyarrow/__pycache__/orc.cpython-312.pyc,,
29
+ pyarrow/__pycache__/pandas_compat.cpython-312.pyc,,
30
+ pyarrow/__pycache__/substrait.cpython-312.pyc,,
31
+ pyarrow/__pycache__/types.cpython-312.pyc,,
32
+ pyarrow/__pycache__/util.cpython-312.pyc,,
33
+ pyarrow/_acero.cpython-312-x86_64-linux-gnu.so,sha256=CzO1lbcGNSipSDtXVTDpF1uh_dwJNksr0uHgCMablD4,325656
34
+ pyarrow/_acero.pxd,sha256=5ish_GgGWvit4ebhzoZil7b-m0r2RuG5JwYoxsH34FI,1440
35
+ pyarrow/_acero.pyx,sha256=56orFsG2ksoP4C0DPIa-ruQxQRCC489lYlHkGJIh1zY,21301
36
+ pyarrow/_azurefs.cpython-312-x86_64-linux-gnu.so,sha256=j0mX0ZVWYrLyG2z1XiFiSKJHZEUjMk7F_sYBzeiC46o,100736
37
+ pyarrow/_azurefs.pyx,sha256=ezGU_z3kIw2r14YAB4yogaxMssJXikcxajz4dZSez1k,5909
38
+ pyarrow/_compute.cpython-312-x86_64-linux-gnu.so,sha256=-75kXqawlzHSB8wIRB-3wqe0N22QnQHlmr9zb8r2_A0,1367552
39
+ pyarrow/_compute.pxd,sha256=nmjgwV2KCGFfxZj5ruDwM4oH1ITqF0rDQS0yDvcaXBA,1949
40
+ pyarrow/_compute.pyx,sha256=dmGXzWOdzMfrj-nWV8RWBRypswmtKZSEwRZ64KZsuuY,107233
41
+ pyarrow/_compute_docstrings.py,sha256=7Vg8jt1aCsWrpTxsdqR7gY6M0faxXNX31c1RZdq9CFw,1707
42
+ pyarrow/_csv.cpython-312-x86_64-linux-gnu.so,sha256=kvIlEcQZF8mZC8bFbLB79BEQo3EA64DSa3Rmhtot9EA,370136
43
+ pyarrow/_csv.pxd,sha256=1Zk3Zpvvhy-Tb7c79Aqd4e7bBM21kc1JxWJkl02Y4DE,1638
44
+ pyarrow/_csv.pyx,sha256=aqWLHgfZ-nrqKHfVVVXeGbtY2ZChE6Oi9qIa5jP4m1M,54705
45
+ pyarrow/_cuda.pxd,sha256=VzhM6j9dpNgrABlvFJKoMpRC0As55im-M3tgPTOuwEk,1922
46
+ pyarrow/_cuda.pyx,sha256=YSlswn4Tj1H24SL_iPIGqT3v3JmofE7NwCunuOLMNwY,35136
47
+ pyarrow/_dataset.cpython-312-x86_64-linux-gnu.so,sha256=TINV01BLRr-V8CU0rIxhvsXmxJYIb22OmFtW9TsFeyQ,1069560
48
+ pyarrow/_dataset.pxd,sha256=Ag9rUhoBySU6ba3wFLeuZyWMJnz9VkAf9TQEzWG4hUU,4944
49
+ pyarrow/_dataset.pyx,sha256=WGqJ4LCtbpxkU4bdIjLR0MAxE1WgmrsCvSQlr1M-emc,157400
50
+ pyarrow/_dataset_orc.cpython-312-x86_64-linux-gnu.so,sha256=Ncpe1WqEvmFMLpdn9_M7BQizHOySb9gnO_YjDLNQBB4,78528
51
+ pyarrow/_dataset_orc.pyx,sha256=JSFoRI0pfHtL2jeIuPg5TJHodcfuCNYmj_iEZ4xY87w,1499
52
+ pyarrow/_dataset_parquet.cpython-312-x86_64-linux-gnu.so,sha256=rdGHm9V-aqQbylDCfS_XcGqTIVk9FIUm5PRtAsrr5PM,363208
53
+ pyarrow/_dataset_parquet.pxd,sha256=y-3iKehyB_eB_oeqjtt4aQRbUpVGVN1oUMFGIY13brE,1572
54
+ pyarrow/_dataset_parquet.pyx,sha256=x_VvTpuF9vxfAAUGkLZrr0N_TCxYWlqMahlkg0201gQ,38916
55
+ pyarrow/_dataset_parquet_encryption.cpython-312-x86_64-linux-gnu.so,sha256=nU3etFWPa7m5iWcDiDB-nTLYlAHPVvmHfktNUZ3dsTc,120792
56
+ pyarrow/_dataset_parquet_encryption.pyx,sha256=p7LDNUsp3jMVcWDcbOFp8a3CYJjASVPI_tfATpY-ePg,7229
57
+ pyarrow/_dlpack.pxi,sha256=clw0FkGoyZMEtUU8zPpO_DMtl2X-27kb2UtyhQuIc1s,1832
58
+ pyarrow/_feather.cpython-312-x86_64-linux-gnu.so,sha256=2xQDtVCtdyT3LQlx0Z9H3H_5D-RQzIshL4UzkurgHWg,114048
59
+ pyarrow/_feather.pyx,sha256=DWQI4U0uAWE1ZYUwPreBPJg1TGLEGmF3wPEIRL-PhPw,3773
60
+ pyarrow/_flight.cpython-312-x86_64-linux-gnu.so,sha256=A7HTbAn9DizK0fnyqsxFnTnCfB1eZycu_q-DW4rYuGg,1295936
61
+ pyarrow/_flight.pyx,sha256=siQR9YhOPLToP5dnHtkm-aCjgPfBLYq8d777RHY_MsY,110592
62
+ pyarrow/_fs.cpython-312-x86_64-linux-gnu.so,sha256=hueNcOY_-DCLIUHmNjDm19pT9akEm1fPGO_drOdg9UM,494360
63
+ pyarrow/_fs.pxd,sha256=SmHS31eyYU7VUZlVuP613HKgpd7bENnQGApvX_g2Lfw,2439
64
+ pyarrow/_fs.pyx,sha256=ZyfvmWary8XTHaCoeSYtjI-b0SK0lCsznerI8cGh4K8,52479
65
+ pyarrow/_gcsfs.cpython-312-x86_64-linux-gnu.so,sha256=oddiMszazY06J7lU5UzkrXwqQ3XEtkCMwqLp8qcf-Rs,125624
66
+ pyarrow/_gcsfs.pyx,sha256=fa1QmTQII9sFKtjtfeZPQfTEntAh3IGyJJ1w116OCA4,9121
67
+ pyarrow/_generated_version.py,sha256=i_fCpTx5i1I-UJ-nlF2AibzMnw39cYz34cp6LRgZ6Lw,413
68
+ pyarrow/_hdfs.cpython-312-x86_64-linux-gnu.so,sha256=g1QSx1UkHEy2cQPAWp6lPBBpkU867IzM_iQbK5FIvt8,126368
69
+ pyarrow/_hdfs.pyx,sha256=HA0KkZa6aVRmwg3ku3U7lZo_8COn1cLwylfc6nEJUlg,5885
70
+ pyarrow/_json.cpython-312-x86_64-linux-gnu.so,sha256=2SlAopzzBqY_QokjiQhY8-lOfi09hEuvh9iTAZhTnv4,112216
71
+ pyarrow/_json.pxd,sha256=tECTP14M12-b_ja5QI3snQbd0uWPWmmC9FwkWq23Vg0,1206
72
+ pyarrow/_json.pyx,sha256=RmaWaSTG61u2Qcmc_fLsTns_awLJDls3_SdlaCAg53Y,9860
73
+ pyarrow/_orc.cpython-312-x86_64-linux-gnu.so,sha256=ewqPpAK5I12Kyr8lXgudODy2wEJmZXDtQ5pY6SbnREI,206480
74
+ pyarrow/_orc.pxd,sha256=6hL0cq1RufqQD-B_bV3ne1rhu2g-h4rDOFNQsSb6qps,5689
75
+ pyarrow/_orc.pyx,sha256=Pn7r4dzagWaqMf8rymbXBIWisxonBaStZgXCi7pfrZI,15556
76
+ pyarrow/_parquet.cpython-312-x86_64-linux-gnu.so,sha256=2QyN46ON68iLUE6E9jnxlHQ5IL_aMymi15e1Pg1T0-o,608296
77
+ pyarrow/_parquet.pxd,sha256=bLdSgSZg1bn-ZsQbAKOWH44esooFHQOiO9wqmrQuvn4,26805
78
+ pyarrow/_parquet.pyx,sha256=xpIBXt3xv9S1H9G6CqSpwl_ZokhJpy09yShxuntqMMg,74388
79
+ pyarrow/_parquet_encryption.cpython-312-x86_64-linux-gnu.so,sha256=QxlbaWRzFgFy_Y534VMGc7R4BGnCn6X8LPd25C3FZAg,275008
80
+ pyarrow/_parquet_encryption.pxd,sha256=1vQnkyS1rLrSNMlmuW62PxkOmCsYpzC60L9mqD0_LYc,2586
81
+ pyarrow/_parquet_encryption.pyx,sha256=CaTiq5EjTVGYQnxDEmpYcItSBiEencV-pNEu-lBAiOk,18625
82
+ pyarrow/_pyarrow_cpp_tests.cpython-312-x86_64-linux-gnu.so,sha256=Qe9kRjHecoR0c7V5AAHE-ror_WA9uj2mObVD8UTXq7s,87984
83
+ pyarrow/_pyarrow_cpp_tests.pxd,sha256=nPyRmNtFbOUvSXCwegAApQFfh8UI_K9Hq5dN4oPAxdo,1199
84
+ pyarrow/_pyarrow_cpp_tests.pyx,sha256=gLeMzB9RWodZgXEpipX65_0aqWu12SjMld0JZmZVRP0,1753
85
+ pyarrow/_s3fs.cpython-312-x86_64-linux-gnu.so,sha256=OTlYyfsqxBcc8i2u-XUq1VPCLBs783bA7TkcDZytgos,223392
86
+ pyarrow/_s3fs.pyx,sha256=VFuZkBV8rt44JrYtAwbPxGI1YlZJ9gfl1U91JQgJEMU,19706
87
+ pyarrow/_substrait.cpython-312-x86_64-linux-gnu.so,sha256=Kn-zfj46RpmeRweki24CjN84RLBk3C9fVLWtvIbqBKo,187176
88
+ pyarrow/_substrait.pyx,sha256=CA2kxzxJUVPL7lMn8_XSAa9jt1Alq4IbhcI3sHGvsxw,11630
89
+ pyarrow/acero.py,sha256=_P7DcFTmhgW4-EAyM67luFMWcp4t1iUX1pKBIkVe7cM,15108
90
+ pyarrow/array.pxi,sha256=jP6v7Y3YUVggdyKmfNAa7hGNd2T-1xONCTxK-2a-IOI,151046
91
+ pyarrow/benchmark.pxi,sha256=DYXdu-jMSH7XcTohbc8x8NiKRLtpX9IULfY20ohkffA,869
92
+ pyarrow/benchmark.py,sha256=k9Z3yQyoojpYz4lTA6DkCfqT6fPG3N2fJtsHKjpbYFo,856
93
+ pyarrow/builder.pxi,sha256=9QE4KAiA4JpA7-2JLgX3xo32jRtuWZ3YqC-T9GzUVDc,4634
94
+ pyarrow/cffi.py,sha256=hEcrPH9KeG6NES3ZCpSbOVYhOgDOuBB_2LgMMucgw-8,2396
95
+ pyarrow/compat.pxi,sha256=Sq5c3CKq0uj5aDyOoHHkPEO_VsSpZ90JRaL2rAKHk5I,1920
96
+ pyarrow/compute.py,sha256=MyrZk7PTX-8pYlUu5PLbuXjDMTRpyCcgdFWi2BPVK0I,23181
97
+ pyarrow/config.pxi,sha256=E6QOFjdlw3H1a5BOAevYNJJEmmm6FblfaaeyspnWBWw,3092
98
+ pyarrow/conftest.py,sha256=afosSyVsVRsJdDXRXOFQEyj4qVO39OtZYVb_wbvvadU,9811
99
+ pyarrow/csv.py,sha256=S6tm31Bra9HPf9IsYwBLltZBLMvNzypWfeCLySsjmds,974
100
+ pyarrow/cuda.py,sha256=j--8HcBAm5Ib-kbhK4d2M6SVQmDWkr7Mt5fnwU2LzdQ,1087
101
+ pyarrow/dataset.py,sha256=4ibGh9x36jEYI7VMxTdZc-XDg8VfNx6RPbA2L-bLJbA,40232
102
+ pyarrow/device.pxi,sha256=CtVBXp68zNXrrPwehh56igfLsMSlYRo5rWFcKkEP_gY,5569
103
+ pyarrow/error.pxi,sha256=Wj7-NGUfdvlEwAwd8Ta_JqRC8IUOUpm_PmpvizCFvfY,8909
104
+ pyarrow/feather.py,sha256=9rWL-TYK_qc0FW3vIyYyd6Xt86ApJWLqo-2cK3F5vGQ,9959
105
+ pyarrow/flight.py,sha256=HLB04A0SZ35MZJumPIuBu5I2dpetjEc-CGMEdjQeQRQ,2177
106
+ pyarrow/fs.py,sha256=M-cSbS2bBR4MwbJqpz9Q7VxHY8fa89StEw2J0XMMF7E,14899
107
+ pyarrow/gandiva.pyx,sha256=bF23rkq6e45i-CePDZeTy9iFwoeg8ElrNjz9VK97QRs,24503
108
+ pyarrow/include/arrow/acero/accumulation_queue.h,sha256=_HoTuKEkZodmrwXF9CeWGsmpT7jIM0FrrYZSPMTMMr8,5856
109
+ pyarrow/include/arrow/acero/aggregate_node.h,sha256=9HdFxR6tzSfx_UaUHZtS1I2FCbm3PvfF8FdekVpBO34,2155
110
+ pyarrow/include/arrow/acero/api.h,sha256=fRuKEHbKDYWRCwSHLc7vSD-6mQavyOsztluCR7evFCk,1151
111
+ pyarrow/include/arrow/acero/asof_join_node.h,sha256=Ko6r1wDjxg01FE9-xKkttx7WzCAzf43GxbpvGHgKZp8,1490
112
+ pyarrow/include/arrow/acero/backpressure_handler.h,sha256=CsSWRenrtbZYiNnf-cdYCgMLmu5KUAPUKNKMDWttoD4,2810
113
+ pyarrow/include/arrow/acero/benchmark_util.h,sha256=T5bNabF1TDAp28S7V_vt_VIDn6l5Be0zOVCHhcTcFf8,1943
114
+ pyarrow/include/arrow/acero/bloom_filter.h,sha256=bFzzAzQrs9ePp2tCPQIuk1Oa9gG_Nyp72M_HM0dhakM,11978
115
+ pyarrow/include/arrow/acero/exec_plan.h,sha256=U0KA3tnNvVb75G0XQFLVbGzXCGdddGyRhW3zMa8oWJc,35909
116
+ pyarrow/include/arrow/acero/hash_join.h,sha256=Ji0k5z778QtNQ0MwU6xBP6z7ajLk79Va-vgCqrlApso,3003
117
+ pyarrow/include/arrow/acero/hash_join_dict.h,sha256=_BKJmK3Z_KdJuYHh4KQCuT_1rXlUohrtEgGLtEJ4fgQ,15360
118
+ pyarrow/include/arrow/acero/hash_join_node.h,sha256=FXT-aeXL7nNTuV75f9oXgdGyqMK_72GnqGUm9cmBnko,4378
119
+ pyarrow/include/arrow/acero/map_node.h,sha256=Bd1HcW0N5azoIVth2ATeHxgTKd9XmmEkz42YBNw5eK0,2628
120
+ pyarrow/include/arrow/acero/options.h,sha256=r-GnLElNJAAdFoJ7k0Q1TOfvGSOdgT9BrWbdMcS_SF0,37262
121
+ pyarrow/include/arrow/acero/order_by_impl.h,sha256=dQqplP-AZWPZRKio8LmTjYWlCYz9VmW-usUrtaLpd_w,1691
122
+ pyarrow/include/arrow/acero/partition_util.h,sha256=bs_zxok-qng8jsHmVBlfJ7Ts2uBEmovEb27knqQmT-Q,7411
123
+ pyarrow/include/arrow/acero/pch.h,sha256=8VXXI10rUHzlQiAthx-yjHMQCpGL3dgAiVaGzTubPPE,1094
124
+ pyarrow/include/arrow/acero/query_context.h,sha256=D364aGRS3uWe8lgYqCNRjVvs5sKetLOOXzACdp5GZeg,6212
125
+ pyarrow/include/arrow/acero/schema_util.h,sha256=KA_hV2xy2TRccMyksSzQrdH9_rdGo3tQyHOIvrWWYBQ,7961
126
+ pyarrow/include/arrow/acero/task_util.h,sha256=6pqILuYfcVwt9HqVhRfXFVJoOC-Q_dtk8mQ5SxjgwbY,3706
127
+ pyarrow/include/arrow/acero/test_nodes.h,sha256=xKeLWZZC8iokveVXPjseO1MOvWMcby-0xiMISy0qw8E,2877
128
+ pyarrow/include/arrow/acero/time_series_util.h,sha256=W9yzoaTGkB2jtYm8w2CYknSw1EjMbsdTfmEuuL2zMtk,1210
129
+ pyarrow/include/arrow/acero/tpch_node.h,sha256=l3zocxHTfGmXTjywJxwoXCIk9tjzURgWdYKSgSk8DAQ,2671
130
+ pyarrow/include/arrow/acero/type_fwd.h,sha256=4zLhtLJf_7MSXgrhQIZVGeLxjT7JrEDAn9yW75DTFlc,1103
131
+ pyarrow/include/arrow/acero/util.h,sha256=byhMEj5XoAUy-93AjLrx_p9_iUZdYn5uJ_cDkCJQt5Q,6121
132
+ pyarrow/include/arrow/acero/visibility.h,sha256=E-4G2O4F2YabXnFNJYnsI2VbVoKBtO7AXqh_SPuJi6k,1616
133
+ pyarrow/include/arrow/adapters/orc/adapter.h,sha256=G5SSGGYMSREILC43kqL5fqo94c4tKgukitO15m217tY,11031
134
+ pyarrow/include/arrow/adapters/orc/options.h,sha256=FMxda5YSskRrB6h9FvcAuMxl5qdavWrNYHPlanjtk48,3696
135
+ pyarrow/include/arrow/adapters/tensorflow/convert.h,sha256=ZGFAodnwTJK0ZoXfgYJdjgi_F4vfEhI9E87zejxVb6E,3465
136
+ pyarrow/include/arrow/api.h,sha256=Gs6HiRBYU5N7-a79hjTl9WMSda551XdUKpWthFY2v1s,2491
137
+ pyarrow/include/arrow/array.h,sha256=P5oW6hvD2j97bLaSTE4_UHuV6Y38DTwJVww3Eb3xdTQ,1981
138
+ pyarrow/include/arrow/array/array_base.h,sha256=14RULo7wEJze9IY2psySGtBlBsnCErnqY4lBO4ckU6g,12123
139
+ pyarrow/include/arrow/array/array_binary.h,sha256=JvtB8DoR0_tqfSFS_9nMRrJ39lt1cTm5yXh-DLkhqjU,11247
140
+ pyarrow/include/arrow/array/array_decimal.h,sha256=xRfrZ1IFO09EmkHEolCwrJ4lsXjLo5DXdfH5_v2gSyw,3105
141
+ pyarrow/include/arrow/array/array_dict.h,sha256=6AMbSnZoMj-nhQhZhG4RNnxy9VVPk2DvZjVblwIUhgY,7611
142
+ pyarrow/include/arrow/array/array_nested.h,sha256=xySiF5b1ab97GifKMx6FuYZWb2_6e3YvSMfOORGe3J4,37605
143
+ pyarrow/include/arrow/array/array_primitive.h,sha256=anek7WkjubNBTRz8wOHyZ0_UuE3BExj02P-PCs3F5To,7719
144
+ pyarrow/include/arrow/array/array_run_end.h,sha256=4zs3tcUrIgDOhSEOywJ1vGY2lsH-5QuEBn87mxnDbi8,5101
145
+ pyarrow/include/arrow/array/builder_adaptive.h,sha256=92DpiIZDXSI_yOrMftj7P60zlCLjNmwfGM5ubdbXWM4,6861
146
+ pyarrow/include/arrow/array/builder_base.h,sha256=CP9kS8pDFd4XyJQdgIlBp3pTIX9mND1Lvh85re4IC8w,13723
147
+ pyarrow/include/arrow/array/builder_binary.h,sha256=01BrSwkFQNAEy4FVYi8Esbd2CaeyxN04GDUoXsQUFhU,32718
148
+ pyarrow/include/arrow/array/builder_decimal.h,sha256=DFxyFlpzWRZS9zdBhsjII5fFUOMY9bXHn3EIrIvmOMo,5051
149
+ pyarrow/include/arrow/array/builder_dict.h,sha256=FZjvCRIDmVuwmzx_HCcDK6ZjNoZKCEsSV-fGI0K974Y,27899
150
+ pyarrow/include/arrow/array/builder_nested.h,sha256=1In_M8pjkaqTuvNZlbGXWGID33CW2eBhy4in0oZsavA,31231
151
+ pyarrow/include/arrow/array/builder_primitive.h,sha256=OOfGI-zDM7BMWIBv-Tko_8pJDkpw-ttQM76JldlUOvc,20808
152
+ pyarrow/include/arrow/array/builder_run_end.h,sha256=SZIdsUKK1qAc9pdonPGf0A_aikZHcxxzicezRGR5hLs,11416
153
+ pyarrow/include/arrow/array/builder_time.h,sha256=8M2ifZnDgujSItXKsevyBdtM6Iky3ImyeIdAqZV3fec,2548
154
+ pyarrow/include/arrow/array/builder_union.h,sha256=8BF532sAMc7JxWIbSN-yX6Z9fqY9jmmsIa054DPvbWE,10144
155
+ pyarrow/include/arrow/array/concatenate.h,sha256=wBy-CBTz9MeRCmcnfXGvkXnvSRApvPOcfCf64A42ys8,2059
156
+ pyarrow/include/arrow/array/data.h,sha256=BuYmkq11BUas2FvufTRZkg_aoWVd-rLX1sBQIwB5HuE,25147
157
+ pyarrow/include/arrow/array/diff.h,sha256=bYNKy2oLAxtt6VYDWvCfq2bnJTVNjG5KMTsGl-gT_kM,3344
158
+ pyarrow/include/arrow/array/statistics.h,sha256=JYPb5hAHmJTQ9cDHcEhhHGRBZurt6CcVbUOlp54UWSU,2498
159
+ pyarrow/include/arrow/array/util.h,sha256=qVHvCaVlALz8WJwAjyMwsBm5J2iN89CSgj7NpmmqlkI,3652
160
+ pyarrow/include/arrow/array/validate.h,sha256=JdDb3XJg4TmAfpv_zgu2ITfL2H9no10TQit-HPj9Myw,1710
161
+ pyarrow/include/arrow/buffer.h,sha256=EfXDyFegRdva4rv4nf0jtErnIrt9_FWoXSHk6OPk_G8,23092
162
+ pyarrow/include/arrow/buffer_builder.h,sha256=tXWILwHW0MKpve7NIU2ElElPY0y0ooISa82Dq6UdhVU,17371
163
+ pyarrow/include/arrow/builder.h,sha256=mBxMko271lJ7Xbku0hCixj943Yx-d2i4Q5Hm2WfwiGM,1546
164
+ pyarrow/include/arrow/c/abi.h,sha256=ZohWkqHoTBeIIGYs2iv2VLL8I4G5lP8MAWgbtpWKLVM,7917
165
+ pyarrow/include/arrow/c/bridge.h,sha256=D9W-vKI_Ko6_INcMAdUx15foV08UbBvL48R8RRcL5cM,18132
166
+ pyarrow/include/arrow/c/dlpack.h,sha256=_HIa9AKR2mwbhf1aChIpMF_XDpFrPaf58Lt3fVxWRWc,1817
167
+ pyarrow/include/arrow/c/dlpack_abi.h,sha256=mjp9WWq8qv6gkGirT4y0o3BL_ZI9VyHQpJ5aEpPFetI,9920
168
+ pyarrow/include/arrow/c/helpers.h,sha256=f0Q519PwoliFHpxsHp-QvbP6fpVMN2Ha35Tk-RBK6Ws,6279
169
+ pyarrow/include/arrow/chunk_resolver.h,sha256=b9JpynFnTfkT4zEPBhBMMcMtQmqgGyNEOLrV7qgOv-c,12368
170
+ pyarrow/include/arrow/chunked_array.h,sha256=rKM1xrqlrGKqQ-5_cxSsENaPRO0Ct3GjbeNq4bbRKx4,10657
171
+ pyarrow/include/arrow/compare.h,sha256=U5craXnXACCUzQ8HmGYyhTehNrOezcVUP1ABAlxI62E,5555
172
+ pyarrow/include/arrow/compute/api.h,sha256=IQKXz_6YBBfHKOkuqkXIh9ZTZYyVgq7aEBTIzMkZEiI,2071
173
+ pyarrow/include/arrow/compute/api_aggregate.h,sha256=cgXomjDDHoAK_ddzyH1NSqWAewzEYPD7qJBj4x5Rkhk,17173
174
+ pyarrow/include/arrow/compute/api_scalar.h,sha256=xtRsJg11WgE5RXV9gZZHfhlEElLEpWUUWnbZXTKw4j8,66540
175
+ pyarrow/include/arrow/compute/api_vector.h,sha256=6jxDvg_Zz14_63SfVlWnfUff135kls1aGGK_d9h3bj8,29122
176
+ pyarrow/include/arrow/compute/cast.h,sha256=Xw9j03AIAMU_hZiqk9d2ZD4xTmESkfXaDsuZkiTypLs,4245
177
+ pyarrow/include/arrow/compute/exec.h,sha256=0ZAA9_tzcQEr364sjJ3SwgTtURTwtCjRLzo_LOdn960,17969
178
+ pyarrow/include/arrow/compute/expression.h,sha256=llX_81uUIyJ8vPmP8-2mAippyw4cVNhCGfqHRY37FOM,11184
179
+ pyarrow/include/arrow/compute/function.h,sha256=krTXaLowvT1cKhecs70urPQcx74vQCJ4jswtBE4Xs5A,16345
180
+ pyarrow/include/arrow/compute/function_options.h,sha256=Q9rjkXPrU9-Xi64_fMLPbBbW_byhjJFsvHppP1CumdA,3088
181
+ pyarrow/include/arrow/compute/kernel.h,sha256=ywsxF87w2eI4li8be7Wiua5bXp0NYhMb7LS8IzPFO3U,31406
182
+ pyarrow/include/arrow/compute/ordering.h,sha256=8Vw3VzDi1mGgVwKGQZakz9TVj0A40wxcL13EvuqNVjU,4129
183
+ pyarrow/include/arrow/compute/registry.h,sha256=x7LHiaNEVvZ0VUssZFsasB52Z1AxRflkdI5tR1hhzqc,4837
184
+ pyarrow/include/arrow/compute/row/grouper.h,sha256=m-XUADUbpC2wSYmea8rFMbooh0gJQtdTBoF81ywhhjY,7319
185
+ pyarrow/include/arrow/compute/type_fwd.h,sha256=-O63QUbsxWws8TBi55x6u9FweUSSOOfizhE4pTczLd4,1537
186
+ pyarrow/include/arrow/compute/util.h,sha256=eF_BX2aftTa3qUJwaZA3QGTajrDv4nf6HKXs6dOmjug,8863
187
+ pyarrow/include/arrow/config.h,sha256=8liyKI0CJO0G-Fz5I--QjIAwh0m4hosfyAOwvVVs0sU,3044
188
+ pyarrow/include/arrow/csv/api.h,sha256=LbwWhPyIsi_73hvsSr77RNR9uUxrVyXM__hp7QcSom0,907
189
+ pyarrow/include/arrow/csv/chunker.h,sha256=nTs8hdy4D3Nz3oZWm2JMuA02noY_0pWRYWq_RptqzHY,1171
190
+ pyarrow/include/arrow/csv/column_builder.h,sha256=7oa9YCg2Uc2mB7ExHIyYIvbdt555qLXiU0y4FepkISU,2890
191
+ pyarrow/include/arrow/csv/column_decoder.h,sha256=10idcPJE2V_TbvgjzPqmFy1dd_qSGWvu9eDkenTuCz0,2358
192
+ pyarrow/include/arrow/csv/converter.h,sha256=cjtnz_hZFxm_dWjAMjr1iqqk1egXI2Yb8Bd0xC8md5E,2789
193
+ pyarrow/include/arrow/csv/invalid_row.h,sha256=gTHjEbjkpee6syLGA8hFY7spx1ROMJmtMcwhXv21x5Q,1889
194
+ pyarrow/include/arrow/csv/options.h,sha256=_HkjSoiAPW77z5AHVVnTa452y1KfJgnXWXz2NoPPAYw,7980
195
+ pyarrow/include/arrow/csv/parser.h,sha256=8PplRh3Qxckk8VPyM70P_f1MBb4WMGnNVpoeJ9kOdHU,8616
196
+ pyarrow/include/arrow/csv/reader.h,sha256=416pt3yNQsgn4RhIyRMsmSJmvv1sw3ouQotubXG91gQ,4606
197
+ pyarrow/include/arrow/csv/test_common.h,sha256=uEYzw8EROvd1QMBQ98d4MaZ7BqMlw2e0flAyz-du0Z4,1972
198
+ pyarrow/include/arrow/csv/type_fwd.h,sha256=ptVbengmY_a7Yz1w0SKmKL16yyw9yEeym0Q0cnRCSV4,984
199
+ pyarrow/include/arrow/csv/writer.h,sha256=Y1zErZ5H1r2QzjAta3TXpFrdl2btoardCF8USCAGtGg,3549
200
+ pyarrow/include/arrow/dataset/api.h,sha256=p7i-bncJLhmfBkfjJWS7684vD9Lke1m6tb7HQq7Tpn4,1322
201
+ pyarrow/include/arrow/dataset/dataset.h,sha256=sDkJg42vSE05FwRmYi9pes3jD9932X3J8cyYZ3SY2jI,19830
202
+ pyarrow/include/arrow/dataset/dataset_writer.h,sha256=TQV75b_UigfGjIpBnPk8teOncM5WroKfKV15oicBRRY,4589
203
+ pyarrow/include/arrow/dataset/discovery.h,sha256=x7-5NBAyEeQWGlWanJDLZAoWksKiMwM96tlDx_M6n5c,11236
204
+ pyarrow/include/arrow/dataset/file_base.h,sha256=2oe5v8Qy6v_UthJavg9rjU_WuQvwXcJengWwc3sWLqk,20203
205
+ pyarrow/include/arrow/dataset/file_csv.h,sha256=7PlvQW_2FJ5RRN-VH4-OBw5cZ6nkd0KE0sj1TQvCZeo,5016
206
+ pyarrow/include/arrow/dataset/file_ipc.h,sha256=6-btvXhflZsAH90T3wMkwzZkte6T4ixzeCEUn_5uYW8,4083
207
+ pyarrow/include/arrow/dataset/file_json.h,sha256=sPjOeMOtbZZbvOivnOdb4MvYKHltpTnY8fONkhB9PZs,3523
208
+ pyarrow/include/arrow/dataset/file_orc.h,sha256=P7nAD9nacVngDEjH8ChQRt0AQmDg4Z1wBx360LDOoSg,2452
209
+ pyarrow/include/arrow/dataset/file_parquet.h,sha256=bzArl0XrmtTNvWhs6YTkLFxtD8TLbTIJwYmWz3YRm38,16708
210
+ pyarrow/include/arrow/dataset/parquet_encryption_config.h,sha256=Upo0k5MijZaMaRZjPp5Xg8TRt1p8Zwh2c2tdimjVe1A,3425
211
+ pyarrow/include/arrow/dataset/partition.h,sha256=3wrNekD_-fPO1YW91Za-T4muCfQeAX7SZRIcsCN_czI,16815
212
+ pyarrow/include/arrow/dataset/pch.h,sha256=iAE_PbVtKHfhygz7Ox9Z2nlhsIrfageGixGKjlzNRvg,1194
213
+ pyarrow/include/arrow/dataset/plan.h,sha256=IjuR9K2sWD85_2HpVVoJ-3YUCq--UPblHU46exX5qRg,1181
214
+ pyarrow/include/arrow/dataset/projector.h,sha256=KfZijq09Ht0Z2cJHsrjg-sE3SiZ4TKainflReK-39cg,1135
215
+ pyarrow/include/arrow/dataset/scanner.h,sha256=9Ats-ejc6exp3alGUhq0Sw8fww3kJj4ssi8FOKK7SDk,24598
216
+ pyarrow/include/arrow/dataset/type_fwd.h,sha256=YOUSRwdNAlXJ7meFLolpAFQ_mSlObs2F81zcOy0DoI4,3170
217
+ pyarrow/include/arrow/dataset/visibility.h,sha256=ckmf_sEI0WBo4W7DIgH1QrOq82skOHtoksl9B3yYvzU,1586
218
+ pyarrow/include/arrow/datum.h,sha256=XYaZ_URrAtVqHMq-_2YtXk_ETeQ4yZWLVAnsi-k2Mac,11511
219
+ pyarrow/include/arrow/device.h,sha256=mLz99tb74VdjxXtKt6RZCYKJQ8TYz93uaCFJ1ZiItMw,15344
220
+ pyarrow/include/arrow/device_allocation_type_set.h,sha256=ynoZ-XyFlOAjh01PU-R11mE_EOxuw3xzc94v5OXa0u4,3306
221
+ pyarrow/include/arrow/engine/api.h,sha256=ORM0M5KQeurjEG8Eoa5IeV_ZgKBRPlWyicyv3ORWkAY,886
222
+ pyarrow/include/arrow/engine/pch.h,sha256=8VXXI10rUHzlQiAthx-yjHMQCpGL3dgAiVaGzTubPPE,1094
223
+ pyarrow/include/arrow/engine/substrait/api.h,sha256=W9NB1RAm0ZVxztRXYA-GD7H8XLQNXFoYT7TdGFHoNTE,1079
224
+ pyarrow/include/arrow/engine/substrait/extension_set.h,sha256=FE6cceycuQv7CCe_Fl4t6tIMRyfoJfWClUhSvHgcm90,21552
225
+ pyarrow/include/arrow/engine/substrait/extension_types.h,sha256=x5ZIuynNh6WFt3wRjW--zUsuC3SeDLk1qRg9_xhswWM,3075
226
+ pyarrow/include/arrow/engine/substrait/options.h,sha256=dtvUty_zoDmcFwVflppiDzelYkeOhCO74uRF6izQSzk,5820
227
+ pyarrow/include/arrow/engine/substrait/relation.h,sha256=V3VKFlDdE61e1OS8LbJiwvm5w0uq5bzBLhKqmgmKaws,2385
228
+ pyarrow/include/arrow/engine/substrait/serde.h,sha256=mjxfuFo4aPhCiwefpKAJMIlknF4UOHSr6gWU__1SwCc,16528
229
+ pyarrow/include/arrow/engine/substrait/test_plan_builder.h,sha256=REFa79D1AOIIjp2Iez73iw5gEnzG9Rac9t8WwiGLsuI,3003
230
+ pyarrow/include/arrow/engine/substrait/test_util.h,sha256=IHZeYrk50Sx9anJfC25DWP6XesItKEywDWUqvUJcjEQ,1517
231
+ pyarrow/include/arrow/engine/substrait/type_fwd.h,sha256=P9YRjAQpSgoIjDC0siYyxoQzcPVo3r9y85qjiMtudBs,1028
232
+ pyarrow/include/arrow/engine/substrait/util.h,sha256=_dRiQBaIMWNbsYG7kuXhs3dMk4dI63-pM0uSxYPOvgE,3570
233
+ pyarrow/include/arrow/engine/substrait/visibility.h,sha256=GRzH6U-UCPT8d60cywOkFfcanPSgiZKCDP6X2rIpbMs,1740
234
+ pyarrow/include/arrow/extension/bool8.h,sha256=VsHTtVyrqk6UKgvifad7LouuieoAZuZs_uVvegdGq4Q,2145
235
+ pyarrow/include/arrow/extension/fixed_shape_tensor.h,sha256=VOqvTSnwDIvnhbstYX5nnqWfhtZ7MaD-lSF89BEqlhE,5610
236
+ pyarrow/include/arrow/extension/json.h,sha256=gnJSzCVni_oJKxKMoSNBwsuBg1BJzk_goGIE_uTSMJY,2109
237
+ pyarrow/include/arrow/extension/opaque.h,sha256=uMVqSScey_13Ho6V86vfkuoByZni9ufh5BGKgX4bTZk,2920
238
+ pyarrow/include/arrow/extension/uuid.h,sha256=E_Bnp5KNKSxVuvdhQHjYT-0HKa9mzVPbSAQjuZ9N3Pc,2278
239
+ pyarrow/include/arrow/extension_type.h,sha256=5rDE_IuEMAQg05k6wnbo6pu8hOW3-jp9Ab89souwcds,6628
240
+ pyarrow/include/arrow/filesystem/api.h,sha256=Xgy2GOZtBVwDjTaXPDyPPlS9Bwt9gjWXm5I_QbyRbFo,1383
241
+ pyarrow/include/arrow/filesystem/azurefs.h,sha256=urXoeGp29R42-0ILfkKBhzSa3U2DjjVaFmol2kOsb3g,15223
242
+ pyarrow/include/arrow/filesystem/filesystem.h,sha256=H7MEX1259aVrWMsgsWX26tuCEPSJF-iI51J3sKsYec0,29585
243
+ pyarrow/include/arrow/filesystem/filesystem_library.h,sha256=axaof-G9GxBjzXhRIt4azB7HB8VJ49MtGYsL7pSO0A0,1725
244
+ pyarrow/include/arrow/filesystem/gcsfs.h,sha256=wzVfIkqhUp-aw6NFNhMbvl0bczty3HmdiYG36oPCDS8,10533
245
+ pyarrow/include/arrow/filesystem/hdfs.h,sha256=Jn91pjfk6RMx-MuAWsEAKLTyKQ7bDPNA5jMEVzafSgc,4133
246
+ pyarrow/include/arrow/filesystem/localfs.h,sha256=eIhPrpABheQz21WE845ULleTk83e4EtJnES4jALW6mM,4972
247
+ pyarrow/include/arrow/filesystem/mockfs.h,sha256=kohu7s9s9xtd75sGTE2K_rsHW89swDOtSSSFxBixMcc,4768
248
+ pyarrow/include/arrow/filesystem/path_util.h,sha256=hrDVHk4F9M7oGABB4x2wKfQMjSlSAIS0IaLVv2jHrl4,5698
249
+ pyarrow/include/arrow/filesystem/s3_test_util.h,sha256=ffeqZmR8G8YyzbpUWws2oSEchYPBt254jwOHWdkcWQo,2767
250
+ pyarrow/include/arrow/filesystem/s3fs.h,sha256=0C98nH3MLI-lq0FW3mWufnY8z43GWCl4BVOnhgDsFhw,16217
251
+ pyarrow/include/arrow/filesystem/test_util.h,sha256=MFwd6ljnwR8q1smTSpVRLk_15Ch_v1hEQWkRL3lAo-s,11412
252
+ pyarrow/include/arrow/filesystem/type_fwd.h,sha256=zztDER55Wbt4rVnkd-ReeDO-YnrpemftFeFtZ7ZGidY,1462
253
+ pyarrow/include/arrow/flight/api.h,sha256=YotLTQn-KCl6y5BIg8coEFZ9n7PMtJ02ly7Pc5gmX7U,1257
254
+ pyarrow/include/arrow/flight/client.h,sha256=NtFquWOaafBcmdIB4en9ua5xSEJaCBkC1ZHhAU_Gg60,17798
255
+ pyarrow/include/arrow/flight/client_auth.h,sha256=a3Dkm_jPOuqzNsDA4eejuMUwCEBMavM8uS7w81ihbRY,2216
256
+ pyarrow/include/arrow/flight/client_cookie_middleware.h,sha256=5zkCP2SxMFQuTX8N9NHxOve5J_ef2rFO6-xY4Tfnygk,1204
257
+ pyarrow/include/arrow/flight/client_middleware.h,sha256=aAZwCahuiBhP85iMPe7xNWvidBR9KeHGto2YAqJioI4,2948
258
+ pyarrow/include/arrow/flight/client_tracing_middleware.h,sha256=d0sTmUOfq5M9FMliIKK-flJkR6-7r69NjU2TpxhfqWo,1217
259
+ pyarrow/include/arrow/flight/middleware.h,sha256=JPQd8JnIVcwjTH6yOBck4BWR-WV95fpnAdhHyEYvfKE,2254
260
+ pyarrow/include/arrow/flight/otel_logging.h,sha256=riS9sZM2C3mH6VMbESizJ6lGmudqdJhfdCY9_cJJqMA,1139
261
+ pyarrow/include/arrow/flight/pch.h,sha256=Dp2nrZ3t_KPjm0cIMyu913BbCorJG5rmbtpfyDN09bo,1192
262
+ pyarrow/include/arrow/flight/platform.h,sha256=1ZfzVaollAZosGyH_1JvzEA8iNR0hi9cUGz5eyLT1zc,1209
263
+ pyarrow/include/arrow/flight/server.h,sha256=GAcV0-THuBuj-bXfwqYrZ1P2bwZgKQSJLbu8ToltRvU,13185
264
+ pyarrow/include/arrow/flight/server_auth.h,sha256=zKQ8lvkMBuMYiIfT1sU0MPXqVPQikaOS3npBgytcaKk,5429
265
+ pyarrow/include/arrow/flight/server_middleware.h,sha256=ITKjCNTT2qnX7JeqWdaweC_QpCX_ytW9PFucQYmPkFo,4317
266
+ pyarrow/include/arrow/flight/server_tracing_middleware.h,sha256=zR0FFZYGwAAqhzVhPVDjyXfZda9zmLteqauwA5dgR_w,2186
267
+ pyarrow/include/arrow/flight/test_auth_handlers.h,sha256=XkvMWucv9GQjlt2ttvYxshym4kUubUdMh-timlQIt1I,3315
268
+ pyarrow/include/arrow/flight/test_definitions.h,sha256=esAWPIVJxTQqGpPTxa4Dm_HdAnzK-4DoJAb3zFtQBiM,13022
269
+ pyarrow/include/arrow/flight/test_flight_server.h,sha256=SbRhZP0U4ILnbg7lYQvGeXmvPM_B6bai12FTM_HD4RQ,3930
270
+ pyarrow/include/arrow/flight/test_util.h,sha256=E0OlDLwcknevKf4LzzqdU3jfxUMV_mcIJxy4U_up77Q,6860
271
+ pyarrow/include/arrow/flight/transport.h,sha256=ZDXc-f8o00TFWESwsGU1My7rR9OfM3X7OZjDcGXTwIA,12181
272
+ pyarrow/include/arrow/flight/transport_server.h,sha256=iVdXmrb2pemh4o6BxwvB7OZAV4UeoWrbhe4ePZ5Pi4s,5268
273
+ pyarrow/include/arrow/flight/type_fwd.h,sha256=tQFAM3QNKPdzB4VqUGdEUFjNPYXVZLApwGnSus2GQx8,1797
274
+ pyarrow/include/arrow/flight/types.h,sha256=b_HQAdmPTh8sZsk5KI7diTMlfm5TmnPFgc8sHE9KFWs,46638
275
+ pyarrow/include/arrow/flight/types_async.h,sha256=3nIQqwCYO4Ir3Mt2bG7BNntXxuNHYQNNpz-Yl3EaFTQ,2599
276
+ pyarrow/include/arrow/flight/visibility.h,sha256=N1k74cwyRvOaYFa_tCjdgUjiSdPBhmy20UuVGu0wTg0,1596
277
+ pyarrow/include/arrow/io/api.h,sha256=Pn4jZSTsLW8MAlMyXUokmJdupX54u154GYI5AvD5ByA,996
278
+ pyarrow/include/arrow/io/buffered.h,sha256=YFKKAHStUFncnfpwnk0XSZAZLeLX-LAXV1qH9VGaE1k,5845
279
+ pyarrow/include/arrow/io/caching.h,sha256=AAjoyKwQ06m2XiglFS6Ch_cdg2p4-wkA7GakGI_eX1E,6708
280
+ pyarrow/include/arrow/io/compressed.h,sha256=3JxIOo1q8VhjIErfwVM5ZLVkwwQKXd-FT5517j58etA,3774
281
+ pyarrow/include/arrow/io/concurrency.h,sha256=SmIr0OWCgMUR3j9ngVbjMJhWOUrU15jQf_jz2rUw7r4,7934
282
+ pyarrow/include/arrow/io/file.h,sha256=-ZEklW1Q0sj3pYCQLQ1ebirKd3s2GI3vUEIszFr8mVU,7625
283
+ pyarrow/include/arrow/io/hdfs.h,sha256=2s3f49ggAYgSCsX5SoqnomwsXd24_IZhW-VSBJclqTg,8559
284
+ pyarrow/include/arrow/io/interfaces.h,sha256=QIBHTJUobEkwcqnKMT_GEKu5ArzpeGmK-8v7z4qGHIQ,13428
285
+ pyarrow/include/arrow/io/memory.h,sha256=htc3MmEbEvwc28bLjCtTtt9QcYp-10WKLmX0V9TnwRM,7048
286
+ pyarrow/include/arrow/io/mman.h,sha256=qoLBAGFcvpYTy96Ga7FNWDJKT3uhxpFAF3hbXIaDSiY,4111
287
+ pyarrow/include/arrow/io/slow.h,sha256=8-ZjQJq49EQJ4esQ6qHHjlKCeZNg4BSND7ire-ZtLYQ,3942
288
+ pyarrow/include/arrow/io/stdio.h,sha256=dqMTHoJbmiXcyNa2fN60tSWQsx0GPphZVCLdGiZNt8I,2095
289
+ pyarrow/include/arrow/io/test_common.h,sha256=Rj8mwgcUkzksrlBALiAldtr_6JGHJFLh2SztGVkRiSA,2112
290
+ pyarrow/include/arrow/io/transform.h,sha256=W9XWonw69VymQAaQptfW7jD-6ry7VCpfPXlkB7aZzOE,1890
291
+ pyarrow/include/arrow/io/type_fwd.h,sha256=Pi7EFpFvBXsFN1xKOyZjTSP95xNDs6W5hxb5GucoVVE,2315
292
+ pyarrow/include/arrow/ipc/api.h,sha256=olkdu82mTS8hmwD53DBJJL6QQ0YBplhs-s-m4uOInSQ,1007
293
+ pyarrow/include/arrow/ipc/dictionary.h,sha256=UTjZPIG8mLZOk9IW2QnR9RZGr1npexZOp103fv-O70E,6104
294
+ pyarrow/include/arrow/ipc/feather.h,sha256=uCnxwO7eUH18kJ-lWz9IWwSj6AjfejqqLdoifJ-UBDo,4918
295
+ pyarrow/include/arrow/ipc/json_simple.h,sha256=IjFjx6Z7h_WLXt1paVIJboUOTR5GFBhWUhCbm_m9lNk,2455
296
+ pyarrow/include/arrow/ipc/message.h,sha256=KtMCbIC2J4-5iyPG5Sijqu_MALxiuKWBYZhGnw0jxOQ,20011
297
+ pyarrow/include/arrow/ipc/options.h,sha256=X2BbCaQ03S1uqedgLRbvLyfb1PHZ7WGRBjDLLCbQMGE,6888
298
+ pyarrow/include/arrow/ipc/reader.h,sha256=NqdrqqAEItO1ecYUINRO7-qhKlYy-CHSJKGI2hdXlRQ,24106
299
+ pyarrow/include/arrow/ipc/test_common.h,sha256=_kWOR_-YKtilcCIWK6I4WYo8fcRt6eBMfxEM4kDtY20,6351
300
+ pyarrow/include/arrow/ipc/type_fwd.h,sha256=Ty8ET7nLI4JJeTqDMyP0pEH9QVj9xs7BpJkZrnrpaPY,1440
301
+ pyarrow/include/arrow/ipc/util.h,sha256=wTkfC9YFKZlAAjyzlmQVZcW90oOj_JatjDN4qz0IxHg,1414
302
+ pyarrow/include/arrow/ipc/writer.h,sha256=hum8E_orkG_X38vgyfyKhGbyvcLJ3AkXEykyBjAXIYg,18870
303
+ pyarrow/include/arrow/json/api.h,sha256=XRW1fP43zVqwy1yabaKctNK9MDZqnxkoHDH1fx5B3Y4,879
304
+ pyarrow/include/arrow/json/chunked_builder.h,sha256=DDuMwrImMECw6Mhfncn2xMOjkFcKUV1O1597_fSFSAs,2365
305
+ pyarrow/include/arrow/json/chunker.h,sha256=dkZOcxsF1Q3ek58P7IoA8f3lQyBQpFvGSFeynNV2Olc,1119
306
+ pyarrow/include/arrow/json/converter.h,sha256=3lXsP3BSdpLPIkFAJnYW9vP8BbX3neVYR_W0zFKClQ0,3134
307
+ pyarrow/include/arrow/json/object_parser.h,sha256=Y_6Oceya06aUyeo-1k047dm2-JUMJa2_w9iyZ-goIRQ,1627
308
+ pyarrow/include/arrow/json/object_writer.h,sha256=UrIrjCkIz7Q5n_FpV5NNPD96gHHdTkvTJaekuGBHwTo,1428
309
+ pyarrow/include/arrow/json/options.h,sha256=EypQgDwLZQbrPnAh45nSPfpGGYrxvLgfp1eAG_l0p3Q,2227
310
+ pyarrow/include/arrow/json/parser.h,sha256=3oIzO5kUs2Takc7t_d5mH7bp1uIcc1M-qbuHmPoSI34,3383
311
+ pyarrow/include/arrow/json/rapidjson_defs.h,sha256=lBJlfuYWIeQQ8awPd3bk4jJc81efr_KzKwG8Klw7t1s,1474
312
+ pyarrow/include/arrow/json/reader.h,sha256=KNO9dCyc2RZs7WxUSEW7bpCYBh_h1C3U52YHYxBnP0M,5212
313
+ pyarrow/include/arrow/json/test_common.h,sha256=YiiY_jswpp7Nu6IW1Y2lBhqWSFRoNaNEy1jHd5qkYHQ,10874
314
+ pyarrow/include/arrow/json/type_fwd.h,sha256=o9aigB5losknJFFei1k25pDVYZgkC2elmRMX1C6aTjo,942
315
+ pyarrow/include/arrow/memory_pool.h,sha256=SjPtWz1tx6Lotr2WeOKCCIw9NQc50Zjez3yzgfr7SDw,11064
316
+ pyarrow/include/arrow/memory_pool_test.h,sha256=qv7csk6hZiO2ELFF-1yukpppjETDDX0nuBFBbPFHtMU,3350
317
+ pyarrow/include/arrow/pch.h,sha256=MaR9bqy2cFZDbjq8Aekq9Gh1vzLTlWZOSHu-GhWP1g8,1286
318
+ pyarrow/include/arrow/pretty_print.h,sha256=ZDlroPRr9_ryCk7h_rjA8pL7BNgaJQ9HnRb2PZU63lg,5529
319
+ pyarrow/include/arrow/python/api.h,sha256=W76VAxYqOxi9BHJddji1B62CmaWDFuBhqI65YOhUnGQ,1222
320
+ pyarrow/include/arrow/python/arrow_to_pandas.h,sha256=jUBEUMKXw70oJdMlgkSf6HitaNweQcc7hxI75_C9WSI,5561
321
+ pyarrow/include/arrow/python/async.h,sha256=C0f8YYmgwBGgDau4xEFsdjukiZB4YvpylETHEZryHOo,2352
322
+ pyarrow/include/arrow/python/benchmark.h,sha256=f-kzyMOlPKDse2bcLWhyMrDEMZrG_JHAPpDJgGW0bXU,1192
323
+ pyarrow/include/arrow/python/common.h,sha256=yjljfJK1f7slZ7DBQ4LTo_pob70zioswJNWazy0p-uM,14412
324
+ pyarrow/include/arrow/python/csv.h,sha256=QxU3B-Hv_RsoEcMGS9-1434ugouL2ygC64Lq6FgviNM,1397
325
+ pyarrow/include/arrow/python/datetime.h,sha256=Bny_THGi2tyUeHxcOuw01O7hNE8B_gave5ABAZQtwTQ,7931
326
+ pyarrow/include/arrow/python/decimal.h,sha256=kDDjLzW07D7d7omWSR4CBF1Ocskp4YSZu4Dtxu-gRUg,4726
327
+ pyarrow/include/arrow/python/deserialize.h,sha256=Q4L1qPCra8-Wzl6oLm44cPOUMVuK1FX01LeGzwNUtK4,4260
328
+ pyarrow/include/arrow/python/extension_type.h,sha256=0gzb42y_mbw4fsYs3u8cwPFLBRlG-kkHQLgbvGtrY0U,3181
329
+ pyarrow/include/arrow/python/filesystem.h,sha256=FG0AcLekqaDf9IQPqKixAfIcY_ZLgIKP5NvvXdtBVUM,5126
330
+ pyarrow/include/arrow/python/flight.h,sha256=u5UnulNJqMuXQLlODUWuoyxq-GtL1HuHmVGNzobUVGc,14311
331
+ pyarrow/include/arrow/python/gdb.h,sha256=H-qvM-nU8a_3Z5tk8PvppTwQtBMSZhQKQIVgRAsRfFg,972
332
+ pyarrow/include/arrow/python/helpers.h,sha256=jVNFEbvJXmCceJti3J3-MnZkNlJoynQNq334tt29bbs,5489
333
+ pyarrow/include/arrow/python/inference.h,sha256=FUFvB4Zy7V-tueXdmbDcqTeLK4xj5GZEeRW5yhiJlsU,2038
334
+ pyarrow/include/arrow/python/io.h,sha256=4jGnodpSUlnVqAVh9fWId7H4WldlLPkXyroABpdaW6w,3858
335
+ pyarrow/include/arrow/python/ipc.h,sha256=SZbw6jCCqLiLNCY3k632GmwHeD_r_xrDS0dhqV49VhY,2259
336
+ pyarrow/include/arrow/python/iterators.h,sha256=Ugfm3JvetAH0l-oAjjpZfhrUBqRimVMaw4-xusvqLSg,7327
337
+ pyarrow/include/arrow/python/lib.h,sha256=UNSuhntc2NTo9y8txHS8MqB10IQN41UuXjb5dGtstfw,4631
338
+ pyarrow/include/arrow/python/lib_api.h,sha256=SCXALS0e94-_uXt9ZlqlUlvU-cclpx7xT8LpxAU1nbM,19487
339
+ pyarrow/include/arrow/python/numpy_convert.h,sha256=y13eHwfe1lJKzadoTr2-GyX6xPsE6Z7FN31s7PN-2Rk,4870
340
+ pyarrow/include/arrow/python/numpy_init.h,sha256=FniVHP7W2YBlenoMYhQrODvoqqvDMSls2JANGtNPQts,999
341
+ pyarrow/include/arrow/python/numpy_interop.h,sha256=rI6ek8JTOYtjo7gEADSDBS6QuAOHa2A0YQPZ2GeypFw,3418
342
+ pyarrow/include/arrow/python/numpy_to_arrow.h,sha256=z9KapsuoOSpWILPt9bea7GR4BL6AQ28T6DUO0mSkh3k,2760
343
+ pyarrow/include/arrow/python/parquet_encryption.h,sha256=Mc8tZ8gIfkH0AckNiIOt6hesP_MVKeKhcytT24ZOLdQ,4861
344
+ pyarrow/include/arrow/python/pch.h,sha256=vkbgStQjq820YeHlXBPdzQ-W9LyzJrTGfMBpnMMqahk,1129
345
+ pyarrow/include/arrow/python/platform.h,sha256=XYS5IqiMUejxN2COzu60Zs8b_wAaGTBw4M-zKVqqs5U,1422
346
+ pyarrow/include/arrow/python/pyarrow.h,sha256=TK3BtD9n3QKOQ9dX3LXbQc0hu9alWcufV0O93iQW7B0,2761
347
+ pyarrow/include/arrow/python/pyarrow_api.h,sha256=7l0G4-_m9yALYoifsY8Z6qh3HHD0PgkpVSgCn_JaGU4,867
348
+ pyarrow/include/arrow/python/pyarrow_lib.h,sha256=-70_Ckj3_0ImlzaXSJOE_d3w9pGM66lXiGPyln9c96Y,863
349
+ pyarrow/include/arrow/python/python_test.h,sha256=ea32mM20uHySlygi9MtVxr26O-ydTZHCUQIlxaIMjT4,1195
350
+ pyarrow/include/arrow/python/python_to_arrow.h,sha256=BoVytf6P7PBYXyznchElKZSFvEsFyimB-tLFdw0AUNo,2521
351
+ pyarrow/include/arrow/python/serialize.h,sha256=HVBhIKgc7A4YOmwYfjE2Hqj1Yxl9suCJb940KxrVcrs,4630
352
+ pyarrow/include/arrow/python/type_traits.h,sha256=B_NsRT_hZG8D91sTcihJyKF5SrslPcFmj12QfbpHuLI,10093
353
+ pyarrow/include/arrow/python/udf.h,sha256=de3R8PhNJO5lT9oCqRxe8e2_SE3jBpHOkwbNqCrlgjQ,3104
354
+ pyarrow/include/arrow/python/vendored/pythoncapi_compat.h,sha256=bzMnlHTCfjk5DQRIxwytunYh5aQxU3iSElaaDyNnAY8,40900
355
+ pyarrow/include/arrow/python/visibility.h,sha256=hwJw5sGrWJckQkNaAuLe4Tf-VDjQbXknyzNOVgZI3FI,1381
356
+ pyarrow/include/arrow/record_batch.h,sha256=qk-6MakursNrRIec5MZeCfjUSYyXPQsyYbB1FJcYb7g,17835
357
+ pyarrow/include/arrow/result.h,sha256=1NmZkkVhjVe1CAI7dFXRFdNQefEtk1lxMCF92o41ROE,17739
358
+ pyarrow/include/arrow/scalar.h,sha256=7SguSvJ4wohjqV-FSKboC1pgaFVB09dNfkMz36JjcM8,36543
359
+ pyarrow/include/arrow/sparse_tensor.h,sha256=dd6eQmCjfCmmI76hgsC37R-qPJ11IMhafVaxSo2XJFs,25205
360
+ pyarrow/include/arrow/status.h,sha256=2D-uFQpe83Yja8Qygm1cXvWAybuiibyxlavOxFuPEjs,16417
361
+ pyarrow/include/arrow/stl.h,sha256=yGoKi-YUq6DgxkIW27S5B0_rXd2YiUrdzA1YdvHNCHQ,18164
362
+ pyarrow/include/arrow/stl_allocator.h,sha256=TBbvjbuQIH9y88FI2SaqAL7pOIt3wZ1xMKwXqeKNiJE,4956
363
+ pyarrow/include/arrow/stl_iterator.h,sha256=2nzrza4st-mdii2dqBEGCzql07t-M3rbDQjvzm8S7sY,9963
364
+ pyarrow/include/arrow/table.h,sha256=UoixXGk5S1ckV35utXjbA-KUBQrSeqvfrhSmk22k760,14647
365
+ pyarrow/include/arrow/table_builder.h,sha256=LRcLCL2iUrj6vF4f9AjPswVjqtqlMw7z_8VBAfUJeCo,3763
366
+ pyarrow/include/arrow/tensor.h,sha256=mgPkJ5f5ngl0qDkeYf-uk-BtX7Gyr-0DUuX1qB6YadE,9093
367
+ pyarrow/include/arrow/tensor/converter.h,sha256=RZq0Try_kiZ085_d_CvhewMsd57InGb2TCeiveaf-Oo,2891
368
+ pyarrow/include/arrow/testing/async_test_util.h,sha256=IrHWfPeIyhrgeTGHUPLt92LdsofmFX6khjngWsZv3dY,2262
369
+ pyarrow/include/arrow/testing/builder.h,sha256=4x0bWOedaVomWU0m7dF99irOv3flR-_p-IMofTDZtwo,8556
370
+ pyarrow/include/arrow/testing/executor_util.h,sha256=38_rF-V_9zF1ttJMspkPiI-34VU1RDjg1ADBS8lUFHk,1885
371
+ pyarrow/include/arrow/testing/extension_type.h,sha256=5l_28-SdoO0r6r-nVqkXsfSRFWTLTPgOFEpXzZiqh6U,7430
372
+ pyarrow/include/arrow/testing/fixed_width_test_util.h,sha256=g6yB7RkziU7HEhNJnxOhkn2nE5HeXaFX3tbBX3q9_sE,3091
373
+ pyarrow/include/arrow/testing/future_util.h,sha256=qIhi417OGMWSMUSDHjkGTYd-ihZbqw8ZSIRwJ01vbKg,6246
374
+ pyarrow/include/arrow/testing/generator.h,sha256=h9Kw9GfDnCHDLl7IsEgaLCi8UDu7R6MHL7Au2TWfMVc,12024
375
+ pyarrow/include/arrow/testing/gtest_compat.h,sha256=0NqH39my7m1FMpsrQYnxQx4bdEE10SCXZaysN6yjQFA,1311
376
+ pyarrow/include/arrow/testing/gtest_util.h,sha256=jnVGbM53nnXO433aUNmZHlMyiQ1ftENITLbtqRF6R08,24496
377
+ pyarrow/include/arrow/testing/matchers.h,sha256=3ys7UI6YpFeMvFCgjmF_VWn1w7Hzhqbr2c-_EuJBpnU,16852
378
+ pyarrow/include/arrow/testing/pch.h,sha256=wKPN4rZnVcQbmpn02Sx5tSa7-MEhpUR1w-YJ6drtyRM,1164
379
+ pyarrow/include/arrow/testing/process.h,sha256=AzPW3Lh2R4sTm-RUUi4Od3aSba9zoLcS_zHBxztv4zI,1372
380
+ pyarrow/include/arrow/testing/random.h,sha256=UMxioQORvoZOsodZM6T-ujza5WuYKwAndbvnOImDsqQ,37046
381
+ pyarrow/include/arrow/testing/uniform_real.h,sha256=-G_2J9cvevoCtB55vsCsWtJkMUHLIMyOwdT6G8ZW45Y,2970
382
+ pyarrow/include/arrow/testing/util.h,sha256=Vr_F5jZQo6kd2-PBq5M0IjODeuaY7cNU7dDovpnPtLQ,5391
383
+ pyarrow/include/arrow/testing/visibility.h,sha256=-wjc00QIhygXJa7tknbIL685AQ1wnyCPr-EtVzkzmq0,1606
384
+ pyarrow/include/arrow/type.h,sha256=yxS8FpeY8eK4cjiSc0nBPdKAF8CRnu7cpR0VX_BCY74,96772
385
+ pyarrow/include/arrow/type_fwd.h,sha256=2stweTjQZvCwuWYBFI_QJu2369tT6Y1Az4AIien0NVU,23442
386
+ pyarrow/include/arrow/type_traits.h,sha256=5XS-cpIzY1DQmNIwzhL7zd4ItxPfOgCwEqWfVG-zU80,54725
387
+ pyarrow/include/arrow/util/algorithm.h,sha256=045EVzsC9rThlRVFaCoBmmtWZmFy5y28PR9yapn9sXY,1229
388
+ pyarrow/include/arrow/util/align_util.h,sha256=DG2L24KReTiU8nFpXLigbflkKouKWTPUf6osQs6mxiY,10669
389
+ pyarrow/include/arrow/util/aligned_storage.h,sha256=ZsAqIA3DV3jIhCnC8mmA4J7FCnnQ-CV-gJj_T_pTmsI,4987
390
+ pyarrow/include/arrow/util/async_generator.h,sha256=dMfy3t58k9zQ82LeD002LZT0uEce_QWoDRfwjIapwKk,77704
391
+ pyarrow/include/arrow/util/async_generator_fwd.h,sha256=Y7EZ4VXdvqp7DnzG5I6rTt123_8kQhAgYIOhNcLvBdA,1737
392
+ pyarrow/include/arrow/util/async_util.h,sha256=1nnAJZ22iK7wSzmvZDo3PMhuWqJIt2qKdlXzTyhoCK4,19759
393
+ pyarrow/include/arrow/util/base64.h,sha256=qzcBE98cg8Tx5iPJAvQ4Pdf2yc6R2r-4yGJS1_DEIeY,1095
394
+ pyarrow/include/arrow/util/basic_decimal.h,sha256=3kDphzHx5TxSnbeZJtRDN5R3McKxxjMMePvGZElWNCI,33123
395
+ pyarrow/include/arrow/util/benchmark_util.h,sha256=SG3gfwE-wGNZAwpL3TvffnSiZGM2cztV5xRBnbqy2Mw,7641
396
+ pyarrow/include/arrow/util/binary_view_util.h,sha256=-sFAQX9cnfWmmZJo8stFX5vkJki7T2UloAvDzYO0MN8,4625
397
+ pyarrow/include/arrow/util/bit_block_counter.h,sha256=iSIemzizxVokwC0Ze6SjSi-al_nrP2ViXF6JPoIVUWc,20162
398
+ pyarrow/include/arrow/util/bit_run_reader.h,sha256=IWDww6Dm8OFsCRlJ0hEpJKiHMK3nUM3pqbd09mZhcIQ,16616
399
+ pyarrow/include/arrow/util/bit_util.h,sha256=S0TbReZet8MpPFZk9wjfYzfKpkBquthkkFk2QtxzB7U,12108
400
+ pyarrow/include/arrow/util/bitmap.h,sha256=qDoNl-S8QFoZ220HsAtAN-s-Xm5JcnjOXNOGdaIssL0,17462
401
+ pyarrow/include/arrow/util/bitmap_builders.h,sha256=zOb7Q-eX9vm9rkgu0Z3ftUDsI1xPthxJ_iC4qDYR1is,1563
402
+ pyarrow/include/arrow/util/bitmap_generate.h,sha256=m6ZsNwx1GhsEktQr63NxXHQkX2B7Nti011XYsPg2xfo,3661
403
+ pyarrow/include/arrow/util/bitmap_ops.h,sha256=87_SXoqmVPRC6umXFitektDCIeI8yOalYWUonzdWjt8,10750
404
+ pyarrow/include/arrow/util/bitmap_reader.h,sha256=pLrMDWhVo-Qb3V1mLASAz_aI6QZxDHRr37EtqxqGd9E,8353
405
+ pyarrow/include/arrow/util/bitmap_visit.h,sha256=myn8k66VrvZnL6R6VW6IDPTfO68VxjbJ8Up5IuSjFL4,3470
406
+ pyarrow/include/arrow/util/bitmap_writer.h,sha256=a4goXhLlY0qcfvYxbfbGD_HZ8Au1wFcbV1tVF3BPaXs,9383
407
+ pyarrow/include/arrow/util/bitset_stack.h,sha256=D49IZZSzZOM2hqh6b-fT0vgRISf1mQnl4oG5nnLBZ4A,2776
408
+ pyarrow/include/arrow/util/bpacking.h,sha256=qiiYXgZLWZcYX6sm75_vBQ6qpHtS1AwasL59YQL2Ptk,1175
409
+ pyarrow/include/arrow/util/bpacking64_default.h,sha256=q7kf_BW62k45v1qMtnJtLIPk8VtJIALc5nXkYmISy3w,196990
410
+ pyarrow/include/arrow/util/bpacking_avx2.h,sha256=ymQJGQc54W3zbrSoktjbAcBnWwbq_SphiXLLI-G6fHg,1009
411
+ pyarrow/include/arrow/util/bpacking_avx512.h,sha256=Z_rAQpiKJEH-9QSHUXpbDmZiAgIm7CPCHfPnwlIZDAE,1011
412
+ pyarrow/include/arrow/util/bpacking_default.h,sha256=nDi4g5JdyWwXa_J3EqE22bG9R4G7Czd6W75F9spRU5U,103760
413
+ pyarrow/include/arrow/util/bpacking_neon.h,sha256=vE-V4E8dpqSjk7dq8kagD07-nhRQKGvcYMhc_dE4nqg,1009
414
+ pyarrow/include/arrow/util/byte_size.h,sha256=Pd2c_3a0IeSOUevhPIlXNkDmgoB06g4c9YCsuRwwSKM,3997
415
+ pyarrow/include/arrow/util/cancel.h,sha256=oW33c4AXSKLHUc5R_1mZ4ssjmLXU_P0Jk6GDO3IwZUo,3651
416
+ pyarrow/include/arrow/util/checked_cast.h,sha256=SR9Qg8NuLSBJw2w1UfgeGvCfT8k7wrbN7BzADQOZfAU,2076
417
+ pyarrow/include/arrow/util/compare.h,sha256=OLrSSyllkY4Sv00IK-37A2d68gr4OwnWJsxn1aF9xTU,1982
418
+ pyarrow/include/arrow/util/compression.h,sha256=fvlURoWJsgO8Hr6Xs_VNaqiOatmIGn9ktVUkYv7pIu4,8427
419
+ pyarrow/include/arrow/util/concurrent_map.h,sha256=wMi9WDHfRuJ_aSFgcJPpsVwGJ9vIJ5agaZ3rVUlwGe4,1775
420
+ pyarrow/include/arrow/util/config.h,sha256=NGJWc5QVW-IoYYSPAxCj6xzP35y1U7HGal0CXfdY1Bo,2278
421
+ pyarrow/include/arrow/util/converter.h,sha256=PILfos6VlnLK6fOFMfLIUhiKl3o1dJo9T4HJXeR7V5E,14637
422
+ pyarrow/include/arrow/util/counting_semaphore.h,sha256=iXHYagqi_-ay73T1uPmv7pG334SY34DUQLSdtD_4_tA,2251
423
+ pyarrow/include/arrow/util/cpu_info.h,sha256=MqLdJabBZkzDjiScaQ7if9dmoAGvXT2QavGoGkho3lU,3964
424
+ pyarrow/include/arrow/util/crc32.h,sha256=4gN0M-SRnxaGKci2ATPbMWZG2TG3YULXjaTpadV0Udk,1337
425
+ pyarrow/include/arrow/util/debug.h,sha256=CPB_oDOuZ_u89e9wM8bGn88mGvClgfa7UDxDph6v9sY,971
426
+ pyarrow/include/arrow/util/decimal.h,sha256=ozY_pRsBgftG73qz0KKEPchFQ5HRTb5oxCcTIdWEL7g,20831
427
+ pyarrow/include/arrow/util/delimiting.h,sha256=JYe9YcWMeFT_ISuojx_VgVqOYLvZ2TiiR2sNn-WdeBQ,7317
428
+ pyarrow/include/arrow/util/dict_util.h,sha256=HipvAVlQ1Q6zNneu9tYOwVUv6NLklBu2IfZ1eoeSpVg,986
429
+ pyarrow/include/arrow/util/dispatch.h,sha256=g6R9w8asCTRyDTFoxUipvdOeh6Ye_FvZBGP6Zwg2t3M,3235
430
+ pyarrow/include/arrow/util/double_conversion.h,sha256=23QU2TFX4hpBZnoqMDyTKxZoH7mU9qkY2vkF1KL8bW4,1243
431
+ pyarrow/include/arrow/util/endian.h,sha256=jp4QoQ9r2vb-oigrlb9AhQW7Lxgxjj7desQjzkEre7g,8176
432
+ pyarrow/include/arrow/util/float16.h,sha256=RaJBIWnDdqj7uw2YskxBM0Wlpnrq7QRbMCiTZLr7gJY,7418
433
+ pyarrow/include/arrow/util/formatting.h,sha256=782wKN6ZKlHO7cQLC8CKCF9STixvLGjXrp_CwRqXyVs,22554
434
+ pyarrow/include/arrow/util/functional.h,sha256=4ljKXSWX3G_lBT2BfLXuG44pzZwVKeaojpLWCniqKyc,5612
435
+ pyarrow/include/arrow/util/future.h,sha256=tsSVDEH2dhXKyvIKl6R9BVBolpPdZXoRRf2-YRbtdxg,32296
436
+ pyarrow/include/arrow/util/hash_util.h,sha256=CjiNVPUJPxXvVJy7ys79aIb7YB6Bm-5nTJAR4DHsxcs,1918
437
+ pyarrow/include/arrow/util/hashing.h,sha256=baLrNZVhO0choWat_Bie2OV821WSTiutqIVfDMjYO6o,32892
438
+ pyarrow/include/arrow/util/int_util.h,sha256=zTOAq57M4pUe469WpnW6I5hNtxe3vGRHlZWhngA1DzM,4859
439
+ pyarrow/include/arrow/util/int_util_overflow.h,sha256=AtvkG7v3-1gVzW5SrFrdVkYuXFtT76_nxrKtzIbz_9U,4895
440
+ pyarrow/include/arrow/util/io_util.h,sha256=U6VTCh0yKUmYPaw2oG-CllJd4J02Gce6b0qTfqFi9E4,13709
441
+ pyarrow/include/arrow/util/iterator.h,sha256=nprqdPs6wrrgi6RHIJ2VMQI1YFya-57wBQfOEmHoKUc,18087
442
+ pyarrow/include/arrow/util/key_value_metadata.h,sha256=wjU6uQGcSmy-YFqMs6rwLP7E4X-0IFBjPrWZstistzQ,3590
443
+ pyarrow/include/arrow/util/launder.h,sha256=C3rNBRh4reuUp8YuRdGQU95WPc8vl4bAY-z5LXgDiuA,1046
444
+ pyarrow/include/arrow/util/list_util.h,sha256=_OmtsDqe-mnZ_7tVWxB2yHdgCJhpiME_RP3nXHzKbdI,2028
445
+ pyarrow/include/arrow/util/logger.h,sha256=p9i4dNgne36LWpFmNSYBYgTQ4kFSao20dJ40LgRRZKQ,6693
446
+ pyarrow/include/arrow/util/logging.h,sha256=eY1sZ1QCcvy5lpJwfOCL2rtRgLjc8V8yDf9usSa9-d4,9694
447
+ pyarrow/include/arrow/util/macros.h,sha256=dqnFiDUrFUyqHyNP4xEr54WgaAEXX8gE4ZG7-i3nfZQ,9336
448
+ pyarrow/include/arrow/util/map.h,sha256=KbKB3QNc3aWR_0YU1S7aF9fdI0VCABGxEF1VES2oOqU,2476
449
+ pyarrow/include/arrow/util/math_constants.h,sha256=2sfWoVc8syHz8X26XgBmejzXStl7hmvKiOh9622oUZA,1112
450
+ pyarrow/include/arrow/util/memory.h,sha256=qsxFgvj_wozO5OxIs6fHdcam7aifpozqc1aE81P91Yo,1566
451
+ pyarrow/include/arrow/util/mutex.h,sha256=n4bsrHK2Q8zbYsQEyNaFqNu__vvqgwo1AfrLLCxfkpU,2554
452
+ pyarrow/include/arrow/util/parallel.h,sha256=iZBn0C7HkQhGNKET5WTXCJ2FftcryCZAyBGwcg7qRvo,3616
453
+ pyarrow/include/arrow/util/pcg_random.h,sha256=nbXowfCJFiy4GjVfF9I8VvB6fxkyR5zNB1FKdnFsYTQ,1252
454
+ pyarrow/include/arrow/util/prefetch.h,sha256=vaE4FPdscbtO0cPbzl8F1PzB1NDO18ytYlEmZCHDjHs,1251
455
+ pyarrow/include/arrow/util/print.h,sha256=X0CfuWzDkq8CNHaEUH3I27Yi4v_zdoOo7sdrTad8Wr0,2444
456
+ pyarrow/include/arrow/util/queue.h,sha256=X9vRZQX3YL_a2Lzwe-zcNNHguR7FoGYmD-Q0THqsCBM,1017
457
+ pyarrow/include/arrow/util/range.h,sha256=yhe5pJiZIiLUO8tYr408Y9yEsFrFd7FrBMeTL2hAOKY,8526
458
+ pyarrow/include/arrow/util/ree_util.h,sha256=waTBOQfwWGHhoAYHTyyhUnM2BSwOqsof_H_akHvUgno,22395
459
+ pyarrow/include/arrow/util/regex.h,sha256=Tj92CttOh2HxS0EKQ_9-sxMBAsQrDOUKNP0ngIJFdP8,1742
460
+ pyarrow/include/arrow/util/rows_to_batches.h,sha256=PZNoLeMCfJJdeHVvUny0UHc5AtS0hctUCi7zUztJpeE,7120
461
+ pyarrow/include/arrow/util/simd.h,sha256=PpKm-aWpZYIYP0NnyGrQceOO9m3_7JbN4uro0IhIT9w,1679
462
+ pyarrow/include/arrow/util/small_vector.h,sha256=dDNNMFpNdtIbxLP3L-h_bv3A8raYv4IVuyLEzUVMgck,14421
463
+ pyarrow/include/arrow/util/sort.h,sha256=cXZvBN_EcXkN5j0xhX2oNisbChT2QKXP9KzDgjXW2_M,2466
464
+ pyarrow/include/arrow/util/spaced.h,sha256=790FFCTdZA-z6qKuEJM5_wG24SqTTVtyj7PKnLBe7_Q,3567
465
+ pyarrow/include/arrow/util/span.h,sha256=2zDPUc5ciTQovM-T32EZt4iMpqcsoL7Y46ovKjo-7ro,5551
466
+ pyarrow/include/arrow/util/stopwatch.h,sha256=ADGbEEU1x-fvp_NsIdTHH5BW0b9jDB8rTAj1WOgkClc,1401
467
+ pyarrow/include/arrow/util/string.h,sha256=hYtg4d3kGQBHdd0vGuKJTlVeueCCgfyD3iq-feMA3p8,5756
468
+ pyarrow/include/arrow/util/string_builder.h,sha256=UwOKPz8BQjtl9ecBZ0INoYWMWUkAVQOd_aC8xZZMCgo,2446
469
+ pyarrow/include/arrow/util/task_group.h,sha256=fI330NoJT8u84AEUA6pSxWrE7UBKn2LaM4DfPFoalqA,4362
470
+ pyarrow/include/arrow/util/tdigest.h,sha256=L6nSj-FVlYLtwKJ94WX9qps9YU6Yg-e3xwP6C0qE7pw,3058
471
+ pyarrow/include/arrow/util/test_common.h,sha256=ZniLT8TvAUdCE2T2YrtlDKdwDNPBpT5e9V1EiPHH9LU,2837
472
+ pyarrow/include/arrow/util/thread_pool.h,sha256=4ztLwkJHQJQmTmqwy8IGDmAo8X4N-o3qi6f91agzkkQ,24426
473
+ pyarrow/include/arrow/util/time.h,sha256=4Xi8JzaYlWFxVaenmCJ7orMgu4cuKELvbtMiszuJHUA,2988
474
+ pyarrow/include/arrow/util/tracing.h,sha256=sVfC_Rj2gwkWKVSKT0l0FOO5c2EGsfYwlkZX4d9ncxA,1286
475
+ pyarrow/include/arrow/util/trie.h,sha256=WBvryYO2sNdoPc-UB-XmQ3WzSed79qIsSg7YWCrvwNY,7121
476
+ pyarrow/include/arrow/util/type_fwd.h,sha256=aC3ZZR2FniFUR3InlZDXH8dknZKvmM0RBocHwFKU_Us,1521
477
+ pyarrow/include/arrow/util/type_traits.h,sha256=F0Gdg_3faM0MmZBOXOspRzUwuxnjKbFaVpJiTEaOXGU,1731
478
+ pyarrow/include/arrow/util/ubsan.h,sha256=dJNGOe0smDe1akrYLdYcIbAWDJNS6Z7NRgqgDnr2emc,2765
479
+ pyarrow/include/arrow/util/union_util.h,sha256=PSssBiw-v-PDen_q75c6OkNO5PwyIPhGbf9PMJj7P2M,1211
480
+ pyarrow/include/arrow/util/unreachable.h,sha256=O1TG4ozCYT3_xvDpJouKWrlFADIEpIemQ28y4DqIwu4,1070
481
+ pyarrow/include/arrow/util/uri.h,sha256=D24zebazFcrKGt7iGpkcGQ87DuF-2AbjPKVkDlq9Nuk,3886
482
+ pyarrow/include/arrow/util/utf8.h,sha256=flGZ786kHo33Xg_zw0zVA9GAT8jYdPUHTVhIPHGjOj8,2031
483
+ pyarrow/include/arrow/util/value_parsing.h,sha256=ypbnIIxfFDfDmELinEiS2RYSkeabYDAfuKPW5YsmfRw,29995
484
+ pyarrow/include/arrow/util/vector.h,sha256=w1lxZG3CU0gq2ZrByeU8QX2A0JeTtooGdaZONUsVlfs,5697
485
+ pyarrow/include/arrow/util/visibility.h,sha256=DFEdl8TCr30r3b7vlpgzJIiA5NsK7eW9UmeL47PgcLk,2835
486
+ pyarrow/include/arrow/util/windows_compatibility.h,sha256=Chme9fWRqYRzfIbLw7V_yeiIWd3F4dFeG6ImHHr4Xqw,1255
487
+ pyarrow/include/arrow/util/windows_fixup.h,sha256=hjoh6zvB8u8OVUQqLtdcrmohMzoAoLy6XJFLxcfFhK0,1435
488
+ pyarrow/include/arrow/vendored/ProducerConsumerQueue.h,sha256=Bz1ks3NDgXXLfT8TMUkE38RpMOSwKRRtwU1e37Y1CUw,6101
489
+ pyarrow/include/arrow/vendored/datetime.h,sha256=lVHO-GyyevnRnc2XmnRS33plbC7FGKcPJk0jnWrgLxw,1017
490
+ pyarrow/include/arrow/vendored/datetime/date.h,sha256=PtXn3ecSQSMqcvMpphq4GVx49dXQbsfDQb5NMlr1j9k,237838
491
+ pyarrow/include/arrow/vendored/datetime/ios.h,sha256=SSzUcU3-1_slQ-F8dS8MPMdKyhSmXKFmvSiUF3Wuaoo,1679
492
+ pyarrow/include/arrow/vendored/datetime/tz.h,sha256=k3-r1rO0n-u33qLAb9sKrRWPtb9JXGIW5zXAfnTSiEw,84884
493
+ pyarrow/include/arrow/vendored/datetime/tz_private.h,sha256=OmiXT6TLewxKLT8JdCp42FJTf-gRYi5ylGu_Ks01T1I,10732
494
+ pyarrow/include/arrow/vendored/datetime/visibility.h,sha256=2P38U5rN_wE45fGYqkAqh7P0XLj2eswzz8RgSRJ0c9s,951
495
+ pyarrow/include/arrow/vendored/double-conversion/bignum-dtoa.h,sha256=imGhcg0RywMsFNMYTqp6rlXw2HZCIAla8SC_n92gCqE,4358
496
+ pyarrow/include/arrow/vendored/double-conversion/bignum.h,sha256=RnQ2CPL8Pt6fVCGh_8VDF11e_GyrrwO0IH0uMnTcsEs,5949
497
+ pyarrow/include/arrow/vendored/double-conversion/cached-powers.h,sha256=jjwfR3bue7mNlE5lbTrFR2KlgjRew2OkmjBa7oQO0Qg,3079
498
+ pyarrow/include/arrow/vendored/double-conversion/diy-fp.h,sha256=J-RgqH27jspT5Ubth9pTA9NAZH6e7n1OVhxModgi8Sc,5088
499
+ pyarrow/include/arrow/vendored/double-conversion/double-conversion.h,sha256=J1Tl5-8aFY0A9SnaA9z5Q90jnMxw55illPIuE-jdD5Q,1804
500
+ pyarrow/include/arrow/vendored/double-conversion/double-to-string.h,sha256=C-tKRi0IuLycXgS6CC1oiFkCroOo_-AO0VOjmfe0tlE,23925
501
+ pyarrow/include/arrow/vendored/double-conversion/fast-dtoa.h,sha256=ZAho25fqeP3t2RM0XgqfhTBXQIIicACLpdyHHMRX3JU,4122
502
+ pyarrow/include/arrow/vendored/double-conversion/fixed-dtoa.h,sha256=HLnpxkHjKldm-FBiDRbADYljJBSYbQGP4Gz-sVbiSJU,2828
503
+ pyarrow/include/arrow/vendored/double-conversion/ieee.h,sha256=CVKA9RXSjv4ZygqDHMiF-H2hUh3QHQvp1GZYC3MAhkE,15281
504
+ pyarrow/include/arrow/vendored/double-conversion/string-to-double.h,sha256=Ul6b-2R0pjUaAWNM3Ki4kH933LqrW6_XfPz4BSiE2v8,10906
505
+ pyarrow/include/arrow/vendored/double-conversion/strtod.h,sha256=6xCRm47vmcghYJug5mhhTVbsZ3m3Y6tQfMehEyVZNx0,3096
506
+ pyarrow/include/arrow/vendored/double-conversion/utils.h,sha256=wFRb5cGABiNoUSCnvKmdv_KIMcBtX1PX89tPFfvgbQI,15614
507
+ pyarrow/include/arrow/vendored/pcg/pcg_extras.hpp,sha256=FEYzq8NFxPfdJyLs4kVtTBLkaD6iO71INz9EJnaxTdc,19784
508
+ pyarrow/include/arrow/vendored/pcg/pcg_random.hpp,sha256=7TaV3nZhcwpf6XxlZ6cod1GaW5gm-iUn67t2fiMPNbA,73501
509
+ pyarrow/include/arrow/vendored/pcg/pcg_uint128.hpp,sha256=r8exMtH21S8pjizyZZvP8Q8lAdxkKF22ZEiurSTFtzM,28411
510
+ pyarrow/include/arrow/vendored/portable-snippets/debug-trap.h,sha256=9KphJ9gRtDT9DXR9iZ7aS23xa2T8tLmLsFEJMg0pLDQ,3081
511
+ pyarrow/include/arrow/vendored/portable-snippets/safe-math.h,sha256=q9yWh34bsFu1vSqLTuI3n_cIU4TlY98Lk1elxKHvZP0,48167
512
+ pyarrow/include/arrow/vendored/strptime.h,sha256=q1IZi5CvyUp_PNzbQ4_XLroAV24VEovBEz2TkpwUJ9c,1212
513
+ pyarrow/include/arrow/vendored/xxhash.h,sha256=MUwtyzu7xjkx9mBcS65SaDcCK7tgeqQgj-KYEMxcHWc,844
514
+ pyarrow/include/arrow/vendored/xxhash/xxhash.h,sha256=videnbIaUDw38kaDzbSQjyNwo-NauW4CxOpz3I45nEM,253096
515
+ pyarrow/include/arrow/visit_array_inline.h,sha256=XuQjuME8XZeJp7W86YuCsuoVVgmG1NulXAA0KJkmmB0,2446
516
+ pyarrow/include/arrow/visit_data_inline.h,sha256=4MkdFVsrjhMyTDNrScQtOYV_nwzqR2ddSS2yYnbyLt0,12460
517
+ pyarrow/include/arrow/visit_scalar_inline.h,sha256=KvNY0j8nE9gs_805LXMV3ATgvxvUqW4UeKpXUxR3rMA,2419
518
+ pyarrow/include/arrow/visit_type_inline.h,sha256=45aoF8APn8hm909nLBngls669o2yKCn24WlL5XdDpa4,4397
519
+ pyarrow/include/arrow/visitor.h,sha256=NKos98j54uY9tdXzctI_n_nwFRrXNOwanxLDqDZONw4,8690
520
+ pyarrow/include/arrow/visitor_generate.h,sha256=n2YKZW-5hY7ICQSwEUBZIYh2eg9ZoTfD54XRd9OlNDo,3324
521
+ pyarrow/include/parquet/api/io.h,sha256=Ricq0d2R4QXHiGZCbjxZ_0F_QmKq0IrfTidNu5NoXPI,847
522
+ pyarrow/include/parquet/api/reader.h,sha256=vnM5XDPn1TVsDJk4SDgb3ZU2Ta4vdrRzCpDWO90rYHk,1204
523
+ pyarrow/include/parquet/api/schema.h,sha256=KsNJ529pEh7bGUa0rLUCcfanI9rW2uSTirgpvKq0hdc,855
524
+ pyarrow/include/parquet/api/writer.h,sha256=UJZbY8QGVRMtAmozzjoM9TnI4gssqlNFUKCXBw2IfuI,1007
525
+ pyarrow/include/parquet/arrow/reader.h,sha256=l4R351BVOWpYJOv_vyqWmXdJUErm2z_ztvTAv537q0w,15305
526
+ pyarrow/include/parquet/arrow/schema.h,sha256=Mi56ul7itNS6NDbMpKOJCufjHVqaSY5_rbsNRNLE560,6204
527
+ pyarrow/include/parquet/arrow/test_util.h,sha256=Edb5eSSEwkIExpHZ9Q0LJgPzggWNry4WMQ_i4q9z1uo,20540
528
+ pyarrow/include/parquet/arrow/writer.h,sha256=XicHPFeGb92AcsNRDblJ7V4Hmst2qSPGYYT9MTSNNmI,7095
529
+ pyarrow/include/parquet/benchmark_util.h,sha256=RhFvoDBVyfd5Sv0fm9JO4JrXWJRGYYmIIrHXi0cSJP0,1756
530
+ pyarrow/include/parquet/bloom_filter.h,sha256=TC3OxK0J2v6tHxT_Bbw7mlYtM0603KXgBoHRvmzM9aA,14999
531
+ pyarrow/include/parquet/bloom_filter_reader.h,sha256=63kpHYKs5TPrbRamkBLZsDYbD-I9UeVhF-R8d7JHeLg,2892
532
+ pyarrow/include/parquet/column_page.h,sha256=_BbPcMfSa52JmteUMdsc7BW6KWoGXn9aQepDgr0veSE,6526
533
+ pyarrow/include/parquet/column_reader.h,sha256=3QwlHlpiS5e5jtWmI_kRmD4jrrC8ljfpqF0ilf5JgNI,19299
534
+ pyarrow/include/parquet/column_scanner.h,sha256=HecBvh-z0n_1HJsD-GIdcGHQAvDOHKlLzppB9RBsD9s,8863
535
+ pyarrow/include/parquet/column_writer.h,sha256=Y9VN1eJtsYmQVhpL9UPiWGrHbgSDbDds19Z1nv_yfOA,12294
536
+ pyarrow/include/parquet/encoding.h,sha256=jSYqNVLnsKFu95Mb3uhTP06-7La5_6kNJwn00VqSK_Q,16341
537
+ pyarrow/include/parquet/encryption/crypto_factory.h,sha256=RT4iznr6uvSIPbUzh_7s6Cexe8uMbQkzgrjCTGYBC6I,7057
538
+ pyarrow/include/parquet/encryption/encryption.h,sha256=bHJ7USckzezXfydqjJstljcjuR15r8U6zh8z3IoINCo,19842
539
+ pyarrow/include/parquet/encryption/file_key_material_store.h,sha256=YzAVO3M2H5v5Fz2b_WlmB3GE5wVbMEnFTL3S9XPH6k0,2200
540
+ pyarrow/include/parquet/encryption/file_key_unwrapper.h,sha256=pB30St8lGEaEAxNcwnDnlGtATTvc1muMzNOusfgqzT8,4635
541
+ pyarrow/include/parquet/encryption/file_key_wrapper.h,sha256=d2W4xICbSRAy7aPe5RKahhPhiJDfvxHY_v_lifq7wqY,3762
542
+ pyarrow/include/parquet/encryption/file_system_key_material_store.h,sha256=9H1ey0O3LL4dg9VVeFLNxlZ7Vr263JVaZHKVSu4s8MI,3573
543
+ pyarrow/include/parquet/encryption/key_encryption_key.h,sha256=0c3ZrRud2vrCu5z513ocyPYxlsP2kg1fQ8m0Jqr701g,2232
544
+ pyarrow/include/parquet/encryption/key_material.h,sha256=kPTSIuRFYOnH4BCPIB33zG9hp5D2Ba-5kZVlq3rFnRI,6221
545
+ pyarrow/include/parquet/encryption/key_metadata.h,sha256=Pc0nA9LW3Fc9NLMMxz7osbw8si2jSiOVTES-J-9R0y0,4003
546
+ pyarrow/include/parquet/encryption/key_toolkit.h,sha256=HPabI8qFnIMgxZYhHgXCzYV0LU1c5yJ16xjUx21I9b0,4577
547
+ pyarrow/include/parquet/encryption/kms_client.h,sha256=D34pVHzkCbWqKnPIBYfs6cONxmuYzyLSS9-C52ZFhz0,3151
548
+ pyarrow/include/parquet/encryption/kms_client_factory.h,sha256=VZ97CMgDQxx5oZWFGprjXsaM1hZ0wNudPmFU1_lniAc,1293
549
+ pyarrow/include/parquet/encryption/local_wrap_kms_client.h,sha256=XZxkEct0-Tv93VDpda9sDou1kp9qkTKMxr36bpVcI8s,3954
550
+ pyarrow/include/parquet/encryption/test_encryption_util.h,sha256=zIGeULeTOCU1N-XYHdvIppth5wnnTYEwf2h-OuTcQZQ,5209
551
+ pyarrow/include/parquet/encryption/test_in_memory_kms.h,sha256=jYc5WPsrh_wcaaaWcjf23Gbiye3a_bdg2royUfukWEs,3521
552
+ pyarrow/include/parquet/encryption/two_level_cache_with_expiration.h,sha256=cuHbX9gBWWyd0IPXNVjMmHxjPw7omYTns4If4YhBgSM,5075
553
+ pyarrow/include/parquet/encryption/type_fwd.h,sha256=dL8snyUwNjhTQE2FQ2dXAUjTboEXhH2JOehQovHfixc,955
554
+ pyarrow/include/parquet/exception.h,sha256=yc5A3iMqM9P59hnjuY8VXUIoF_JvbZVPHM6_wPtg4cI,5599
555
+ pyarrow/include/parquet/file_reader.h,sha256=OFRKhwAww2N24aZOZcznzral1Or1TGIFGRd1aACARLQ,9664
556
+ pyarrow/include/parquet/file_writer.h,sha256=6fK6Mn-MdiQ-J4oo8BTi_eVVVshlffoQiJzFaLRrqco,9343
557
+ pyarrow/include/parquet/hasher.h,sha256=HSY1EjPD2xx_dB9HtAg-lXL7hB4j9MDE0cAlR7u0NOc,5227
558
+ pyarrow/include/parquet/level_comparison.h,sha256=5z4fUJJPWq9W60l2CsAI7T7E2auGYD7m0fpR5rfLmsw,1306
559
+ pyarrow/include/parquet/level_comparison_inc.h,sha256=r20_6Rv5L7UmFGJ68f-JaZ5hLXb87wvZa80hZNQoF-I,2494
560
+ pyarrow/include/parquet/level_conversion.h,sha256=OsuqK1xiUnEnOLPKwfm9X-pXTaXRMlDIkj3lwGb2ggI,9432
561
+ pyarrow/include/parquet/level_conversion_inc.h,sha256=0r2Gfd_FMidLGFC_a8kgpC9bnUt2-IBbAn9QbQFTrTo,14161
562
+ pyarrow/include/parquet/metadata.h,sha256=ORXKWkfSM-64vTrZ-qrsQ5naKx_pk8XbjJEPwtct7wI,20751
563
+ pyarrow/include/parquet/page_index.h,sha256=qBKqiq131jCUrtFCfwlBkeb8PL96yOPKg7AqkslnM60,16399
564
+ pyarrow/include/parquet/parquet_version.h,sha256=JdG5J1FtQGc7YYUvn2ef2iHtTiwORave4RU6pm3dl9g,1173
565
+ pyarrow/include/parquet/pch.h,sha256=zIdkjZS4kuFYra3woGMjmvYXCwB4IaXdpm_nR5Nz8hk,1249
566
+ pyarrow/include/parquet/platform.h,sha256=VS0zEUC4d37LQmlQLQZ5aHNaiwRf8QrxixXdWf73m5Q,3898
567
+ pyarrow/include/parquet/printer.h,sha256=_sJ5IoEj4naSTWxlhbq2Pc6WkNG3wMuxRy8zfKfsAJ8,1540
568
+ pyarrow/include/parquet/properties.h,sha256=X5zn-xdztONv4QfK-gcfdh1CBAuq27cVj9jZQgQNqfA,46415
569
+ pyarrow/include/parquet/schema.h,sha256=CjZh2i9WN5VeoDbLqy7M1AZtopZ43_C9blWG3OT2IfU,18222
570
+ pyarrow/include/parquet/statistics.h,sha256=0sk7koXslu-KuVC6CsTiFVD1Fu_ZWPD_FLhcXALas_g,15176
571
+ pyarrow/include/parquet/stream_reader.h,sha256=1WmN0vYCqTz1Lwb_Di4xPWTE-VbCQQuzZralSpWQm3U,8791
572
+ pyarrow/include/parquet/stream_writer.h,sha256=nw_v3nhrL682ozZ2KZKVkHnOsjwexbmBXTV2CKcq4YQ,7505
573
+ pyarrow/include/parquet/test_util.h,sha256=gkJoOl_N4cG3L56uXVJi1RLiDVBl73yX01Dkx2Plt9g,31180
574
+ pyarrow/include/parquet/type_fwd.h,sha256=qx6Dhg1HO0U99jdiUfu3rC7zhmQ-3i7WXsfEhrza3rE,3046
575
+ pyarrow/include/parquet/types.h,sha256=IFbKlP0aZzW8Cn4U0QCIGboVb8hOnD6UvSGi6EqpvvE,25482
576
+ pyarrow/include/parquet/windows_compatibility.h,sha256=xIEGHW354URgdIP9A4V303TJL8A1IkCEvp08bMKsHTU,897
577
+ pyarrow/include/parquet/windows_fixup.h,sha256=DpyWCywx8YIqouun6BJcgMrHFMTCBgowWdJ1mnJnQ2s,1052
578
+ pyarrow/include/parquet/xxhasher.h,sha256=QAa7ZE7S3UFtU_Voz3oi3YclIYhbhviJkafLOYgiuWg,2074
579
+ pyarrow/includes/__init__.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
580
+ pyarrow/includes/common.pxd,sha256=tYI1M3gk_d-uzNUpLcIxhNG5W67ycFSVb36Tv7hyN30,5452
581
+ pyarrow/includes/libarrow.pxd,sha256=zOwU6egOTsU45dV0z0sEVLMu6N2iNXXxNB4R3R2QlyA,114590
582
+ pyarrow/includes/libarrow_acero.pxd,sha256=c84RdYfIuFWW_36-1RELJsowfQwXhgUxbdC_xKQyFCI,5298
583
+ pyarrow/includes/libarrow_cuda.pxd,sha256=0fRcHbCZY_gFdwIXIElnpGvTxeA5xVxZH1-vwZh16SM,4942
584
+ pyarrow/includes/libarrow_dataset.pxd,sha256=LVHtNouC3ZWMmyD48JkYGXajf22Wax-FgzAV4URqySs,16993
585
+ pyarrow/includes/libarrow_dataset_parquet.pxd,sha256=4me_u82JiInHNRvoazLXUTOO5sxVnyCk-BdfsYQZyWQ,4536
586
+ pyarrow/includes/libarrow_feather.pxd,sha256=MTJUDQbfKP8Ir700Fobl7xcbjX7WcrsUV4mxFXlfwn0,2140
587
+ pyarrow/includes/libarrow_flight.pxd,sha256=pcVtpB4Rx81RZoG3afIizmyQuTnckrqIPZyjvsIYYKE,24860
588
+ pyarrow/includes/libarrow_fs.pxd,sha256=jG1sBGyTkU3X_XZKBMC-n3YsY8Po_2dIQdXyK9vXtHY,14973
589
+ pyarrow/includes/libarrow_python.pxd,sha256=Fs9hNJZ-_fdVmqkNu3zGRUXy8Azt6_zniX_p1SKqM64,12387
590
+ pyarrow/includes/libarrow_substrait.pxd,sha256=5ZJ0yHhM54I1GfmUaPMy5nRxLFsr-A625qUSmOhnQO8,3196
591
+ pyarrow/includes/libgandiva.pxd,sha256=FLBd99IeU67Db9SnHS7oe6FgBZ1aIHuRc0pOiDv7hQc,11538
592
+ pyarrow/includes/libparquet_encryption.pxd,sha256=fi3QrLpHN1_IaYRXvVMJdIgp7F_6aaLu1owP0I3BD5g,5898
593
+ pyarrow/interchange/__init__.py,sha256=DH0bwbKpdjD1WCW1VinnXEuVLY098uHKkirv7DFc9JM,845
594
+ pyarrow/interchange/__pycache__/__init__.cpython-312.pyc,,
595
+ pyarrow/interchange/__pycache__/buffer.cpython-312.pyc,,
596
+ pyarrow/interchange/__pycache__/column.cpython-312.pyc,,
597
+ pyarrow/interchange/__pycache__/dataframe.cpython-312.pyc,,
598
+ pyarrow/interchange/__pycache__/from_dataframe.cpython-312.pyc,,
599
+ pyarrow/interchange/buffer.py,sha256=NF_GU1uQ6INqHqCwzY6XQQqRxKDh6znEeDHiRqaEIQ0,3359
600
+ pyarrow/interchange/column.py,sha256=afU794n3H7yf4gDQDuFLbtyDlgVnLk9iZ6sugb0h8_4,19370
601
+ pyarrow/interchange/dataframe.py,sha256=tmSMmBvBAc-ZSUzE8tBNbvQLHuuxLuBkMkK6KYwtS8M,8405
602
+ pyarrow/interchange/from_dataframe.py,sha256=JfkP4wuY_9x76H6RDtmsOzs6B6qe-1WS7zxpKeD481s,19709
603
+ pyarrow/io.pxi,sha256=LcEqNanwQD7dr0XVHu52dnhlUUH25bhjDGGPO6Wet34,86616
604
+ pyarrow/ipc.pxi,sha256=Reakb_rHbBipOr9QPEC0D2jBvQ87ORpVb5kasDdeY_4,41081
605
+ pyarrow/ipc.py,sha256=Hb3qCPKRr_wth5u4WrkZHJyAZmIK5SoVSezfBOI97Ww,10107
606
+ pyarrow/json.py,sha256=N9Y7_3TSrOEDy2OrmgQ8UKqUPMx1Bm9dYgot-brJ8Xw,858
607
+ pyarrow/jvm.py,sha256=tzAsIrMSCIeNAtSC8lZWjQS0rq7kjaQDPlePDmvpqDw,9593
608
+ pyarrow/lib.cpython-312-x86_64-linux-gnu.so,sha256=rFmfK84y_4cgB1AVpEJ6i_ccRvpFZdnxKz57L-amYNE,4841880
609
+ pyarrow/lib.h,sha256=UNSuhntc2NTo9y8txHS8MqB10IQN41UuXjb5dGtstfw,4631
610
+ pyarrow/lib.pxd,sha256=repMfzMLwO9NOjVyJbVn5R_vBQJJhD507YcD1wvaB8g,17964
611
+ pyarrow/lib.pyx,sha256=Pe9ERxojd9KzxzqWJ60B8OJHH8Z1fFYg3bUx8ZDFUtk,6016
612
+ pyarrow/lib_api.h,sha256=SCXALS0e94-_uXt9ZlqlUlvU-cclpx7xT8LpxAU1nbM,19487
613
+ pyarrow/libarrow.so.1800,sha256=Y7RK32bZUhc4QywHUa2EQ5SoVQykN0K1Du5bQ6XPSm4,63802656
614
+ pyarrow/libarrow_acero.so.1800,sha256=BW4UgV6qjSyN0wgsLcaL3JbrmThjkkGrCBmPSqWA3_Q,2076808
615
+ pyarrow/libarrow_dataset.so.1800,sha256=mtdI7IoiqH7b-Vw0Slwf7nzW-XqHvPJEcbBW4nBnuzE,2758368
616
+ pyarrow/libarrow_flight.so.1800,sha256=DGZSDNI0LHv4KSvo-jZq7v4Mr16frKl7OwxORT367VE,20272608
617
+ pyarrow/libarrow_python.so,sha256=cVn2eq555bGR1cCc8JG0C1sdxJ7wI_qMOoxP5X3ptVs,2876328
618
+ pyarrow/libarrow_python_flight.so,sha256=Xpfx0Dh16mnGh3pVPyrP2np39AuHr6184HXoXcIqiT0,117984
619
+ pyarrow/libarrow_python_parquet_encryption.so,sha256=GLMFpnC32YeCz_SBA9wvaIbjRbp5gFf8fPOwxZ8sKdk,41648
620
+ pyarrow/libarrow_substrait.so.1800,sha256=KpWIu7btYy7JPkJoQl93zXwmoUjWqDv6ssnjfuPeCnM,5338320
621
+ pyarrow/libparquet.so.1800,sha256=BooCSAI83odo6uJzxfVBz7tPjokwOdyOspYGNNu3gBw,11040840
622
+ pyarrow/memory.pxi,sha256=9AVMENxqaV0Ndf9tYSiakunEpMRRCZNT9d-PnrY8r14,8229
623
+ pyarrow/orc.py,sha256=IjjeGAEZl0KhHvwy3YsSGfTWlx7Ilb54P0tFKPvwcfk,12618
624
+ pyarrow/pandas-shim.pxi,sha256=d3Z0mki6n3QUTzCOJoEhvgUBcCIcWPsuBli65ZQ_gBg,8178
625
+ pyarrow/pandas_compat.py,sha256=sMLsO2ufQeRxpZadNHv4AEG2FGP8EstyOglL38sqAeA,42775
626
+ pyarrow/parquet/__init__.py,sha256=4W64CbvwvO60tG58nfNtyCwMVCfuPumtu82p-kiGPaE,822
627
+ pyarrow/parquet/__pycache__/__init__.cpython-312.pyc,,
628
+ pyarrow/parquet/__pycache__/core.cpython-312.pyc,,
629
+ pyarrow/parquet/__pycache__/encryption.cpython-312.pyc,,
630
+ pyarrow/parquet/core.py,sha256=SA1zMIm-0cnTPMCjgWe_Bu6bFbjBbTWBpfYauGcHpW8,90440
631
+ pyarrow/parquet/encryption.py,sha256=-XW7Qcbl-jQhpZsR610uQ8-z9ZVE_NL045Jdnp1TZ9M,1153
632
+ pyarrow/public-api.pxi,sha256=EO0_0FZz0JK9_SfuHBPN0ljwwAU7Gv6jGl1WG_BSGsE,13781
633
+ pyarrow/scalar.pxi,sha256=hRcUS1nHQILBp8eL3vfhRXp4yXrvVRPBBoD8ALVdhZ8,35388
634
+ pyarrow/src/arrow/python/CMakeLists.txt,sha256=D4Ypror_508aAd_juYkrS9Qu2maeirK4QXzwGEZEj0M,855
635
+ pyarrow/src/arrow/python/api.h,sha256=W76VAxYqOxi9BHJddji1B62CmaWDFuBhqI65YOhUnGQ,1222
636
+ pyarrow/src/arrow/python/arrow_to_pandas.cc,sha256=z22z8UmNl69KGbmbZLwgZhApNyD9x7xolCSC_3_g6oE,95737
637
+ pyarrow/src/arrow/python/arrow_to_pandas.h,sha256=jUBEUMKXw70oJdMlgkSf6HitaNweQcc7hxI75_C9WSI,5561
638
+ pyarrow/src/arrow/python/arrow_to_python_internal.h,sha256=nQXPZTL3xa4Sm-a-Gv-8bpFs-qAOZHkqWmA_m-dSLVw,1740
639
+ pyarrow/src/arrow/python/async.h,sha256=C0f8YYmgwBGgDau4xEFsdjukiZB4YvpylETHEZryHOo,2352
640
+ pyarrow/src/arrow/python/benchmark.cc,sha256=z6qYRx4qMuNXPaC8fuPJlQd92aosMN85u1aD50R1-UU,1293
641
+ pyarrow/src/arrow/python/benchmark.h,sha256=f-kzyMOlPKDse2bcLWhyMrDEMZrG_JHAPpDJgGW0bXU,1192
642
+ pyarrow/src/arrow/python/common.cc,sha256=_9ozIRo_WTDWovBKqOVyX28d0IttHvwW9MG-PkTzmKc,7591
643
+ pyarrow/src/arrow/python/common.h,sha256=yjljfJK1f7slZ7DBQ4LTo_pob70zioswJNWazy0p-uM,14412
644
+ pyarrow/src/arrow/python/csv.cc,sha256=ql5AY76AqiFksWsrmzSl551k5s9vS8YcmypM2A9rhw8,1803
645
+ pyarrow/src/arrow/python/csv.h,sha256=QxU3B-Hv_RsoEcMGS9-1434ugouL2ygC64Lq6FgviNM,1397
646
+ pyarrow/src/arrow/python/datetime.cc,sha256=_VKRKeyFqR7Xzay2wazcveb7mgOv8K37ebMomNY__lQ,23001
647
+ pyarrow/src/arrow/python/datetime.h,sha256=Bny_THGi2tyUeHxcOuw01O7hNE8B_gave5ABAZQtwTQ,7931
648
+ pyarrow/src/arrow/python/decimal.cc,sha256=66Hy-u-_fcZtm_0v7npDtPNoiX-mkRJTwCj3FpSyIqc,8848
649
+ pyarrow/src/arrow/python/decimal.h,sha256=kDDjLzW07D7d7omWSR4CBF1Ocskp4YSZu4Dtxu-gRUg,4726
650
+ pyarrow/src/arrow/python/deserialize.cc,sha256=ogtBX7OzGuDvyj_LepFkaG7m53-wenf3duG0WF8Ooa0,19185
651
+ pyarrow/src/arrow/python/deserialize.h,sha256=Q4L1qPCra8-Wzl6oLm44cPOUMVuK1FX01LeGzwNUtK4,4260
652
+ pyarrow/src/arrow/python/extension_type.cc,sha256=eU5P7pufWjcEcmVeOyu1jtEZ08AWd9tkTSMfx8ph0rQ,6860
653
+ pyarrow/src/arrow/python/extension_type.h,sha256=0gzb42y_mbw4fsYs3u8cwPFLBRlG-kkHQLgbvGtrY0U,3181
654
+ pyarrow/src/arrow/python/filesystem.cc,sha256=0twavI91TE20Otq5kkVUwnN5sindU_mBWoVAvz1ZMgI,6152
655
+ pyarrow/src/arrow/python/filesystem.h,sha256=FG0AcLekqaDf9IQPqKixAfIcY_ZLgIKP5NvvXdtBVUM,5126
656
+ pyarrow/src/arrow/python/flight.cc,sha256=Iz4wAyhX7mksabELtRljCOsXRRzuYzu38Rv_yQKJarw,13995
657
+ pyarrow/src/arrow/python/flight.h,sha256=u5UnulNJqMuXQLlODUWuoyxq-GtL1HuHmVGNzobUVGc,14311
658
+ pyarrow/src/arrow/python/gdb.cc,sha256=Z0WLBYHWBzc4uExNG7nWJeRnUBAVSqo_DFpKYry0aAE,22667
659
+ pyarrow/src/arrow/python/gdb.h,sha256=H-qvM-nU8a_3Z5tk8PvppTwQtBMSZhQKQIVgRAsRfFg,972
660
+ pyarrow/src/arrow/python/helpers.cc,sha256=zrrUI56RGrZ8VBzR2dJFJoRq7L6chlX7289HK7tjoOA,16627
661
+ pyarrow/src/arrow/python/helpers.h,sha256=jVNFEbvJXmCceJti3J3-MnZkNlJoynQNq334tt29bbs,5489
662
+ pyarrow/src/arrow/python/inference.cc,sha256=Gm-lOXDzqcbef6gdgCQa5eXPuh8uvYqz9iUjKS2_yO4,24350
663
+ pyarrow/src/arrow/python/inference.h,sha256=FUFvB4Zy7V-tueXdmbDcqTeLK4xj5GZEeRW5yhiJlsU,2038
664
+ pyarrow/src/arrow/python/io.cc,sha256=ZARQCv4WQmHDQrA1dlNZt6mJuPhyK8wNuGm7zoL6V78,11936
665
+ pyarrow/src/arrow/python/io.h,sha256=4jGnodpSUlnVqAVh9fWId7H4WldlLPkXyroABpdaW6w,3858
666
+ pyarrow/src/arrow/python/ipc.cc,sha256=3D9iMbOFHlhNXX4432wsfbfjWvDryZWgdA0Ak19V_8Q,4472
667
+ pyarrow/src/arrow/python/ipc.h,sha256=SZbw6jCCqLiLNCY3k632GmwHeD_r_xrDS0dhqV49VhY,2259
668
+ pyarrow/src/arrow/python/iterators.h,sha256=Ugfm3JvetAH0l-oAjjpZfhrUBqRimVMaw4-xusvqLSg,7327
669
+ pyarrow/src/arrow/python/numpy_convert.cc,sha256=166BIW7zVTRMKogxLUuhV4e5jOevmonvRtXDydNujgc,21194
670
+ pyarrow/src/arrow/python/numpy_convert.h,sha256=y13eHwfe1lJKzadoTr2-GyX6xPsE6Z7FN31s7PN-2Rk,4870
671
+ pyarrow/src/arrow/python/numpy_init.cc,sha256=cJKOH946T7VCcB-gVIoGgfbWTrbj3FPkI4TgnsLTf7s,1178
672
+ pyarrow/src/arrow/python/numpy_init.h,sha256=FniVHP7W2YBlenoMYhQrODvoqqvDMSls2JANGtNPQts,999
673
+ pyarrow/src/arrow/python/numpy_internal.h,sha256=F9p-hzTKCIhRqgtZbsoyPox7RR85YcEw6FYkFF8KqfM,5314
674
+ pyarrow/src/arrow/python/numpy_interop.h,sha256=rI6ek8JTOYtjo7gEADSDBS6QuAOHa2A0YQPZ2GeypFw,3418
675
+ pyarrow/src/arrow/python/numpy_to_arrow.cc,sha256=55-VSQlg10MAZTR0G3I7maErexO8-FDk_27SYdvVlk8,30238
676
+ pyarrow/src/arrow/python/numpy_to_arrow.h,sha256=z9KapsuoOSpWILPt9bea7GR4BL6AQ28T6DUO0mSkh3k,2760
677
+ pyarrow/src/arrow/python/parquet_encryption.cc,sha256=RNupwaySaVHKX_iCYOPK0yJWkTUpqbrpbCW2duWJ3kU,3567
678
+ pyarrow/src/arrow/python/parquet_encryption.h,sha256=Mc8tZ8gIfkH0AckNiIOt6hesP_MVKeKhcytT24ZOLdQ,4861
679
+ pyarrow/src/arrow/python/pch.h,sha256=vkbgStQjq820YeHlXBPdzQ-W9LyzJrTGfMBpnMMqahk,1129
680
+ pyarrow/src/arrow/python/platform.h,sha256=XYS5IqiMUejxN2COzu60Zs8b_wAaGTBw4M-zKVqqs5U,1422
681
+ pyarrow/src/arrow/python/pyarrow.cc,sha256=Pul4lmF7n5Q9cSzgBSvPArWfZY_qDyAq1a_tyMIQGRA,3677
682
+ pyarrow/src/arrow/python/pyarrow.h,sha256=TK3BtD9n3QKOQ9dX3LXbQc0hu9alWcufV0O93iQW7B0,2761
683
+ pyarrow/src/arrow/python/pyarrow_api.h,sha256=7l0G4-_m9yALYoifsY8Z6qh3HHD0PgkpVSgCn_JaGU4,867
684
+ pyarrow/src/arrow/python/pyarrow_lib.h,sha256=-70_Ckj3_0ImlzaXSJOE_d3w9pGM66lXiGPyln9c96Y,863
685
+ pyarrow/src/arrow/python/python_test.cc,sha256=Jg35rRR7BtXOS1012RFOdLViFlVC3zlXV--w8aEzf8I,32397
686
+ pyarrow/src/arrow/python/python_test.h,sha256=ea32mM20uHySlygi9MtVxr26O-ydTZHCUQIlxaIMjT4,1195
687
+ pyarrow/src/arrow/python/python_to_arrow.cc,sha256=K6tVQK1phrrJQzz_TJVmEdfcX-fJfBAkPIeQlypRirY,47145
688
+ pyarrow/src/arrow/python/python_to_arrow.h,sha256=BoVytf6P7PBYXyznchElKZSFvEsFyimB-tLFdw0AUNo,2521
689
+ pyarrow/src/arrow/python/serialize.cc,sha256=FOAsdyfRETe_bCSxC1vc3-oq9Rs9SsU4kDQFTwrdvQM,32667
690
+ pyarrow/src/arrow/python/serialize.h,sha256=HVBhIKgc7A4YOmwYfjE2Hqj1Yxl9suCJb940KxrVcrs,4630
691
+ pyarrow/src/arrow/python/type_traits.h,sha256=B_NsRT_hZG8D91sTcihJyKF5SrslPcFmj12QfbpHuLI,10093
692
+ pyarrow/src/arrow/python/udf.cc,sha256=69DuHRjV6rUAbZqkWEKEUG3ODuHg9ym52lnH7A_lM5Y,29814
693
+ pyarrow/src/arrow/python/udf.h,sha256=de3R8PhNJO5lT9oCqRxe8e2_SE3jBpHOkwbNqCrlgjQ,3104
694
+ pyarrow/src/arrow/python/vendored/CMakeLists.txt,sha256=02XvDJAdKiajCEBOmnMKBpmzbRU7FPkNdlNXtw0-A24,837
695
+ pyarrow/src/arrow/python/vendored/pythoncapi_compat.h,sha256=bzMnlHTCfjk5DQRIxwytunYh5aQxU3iSElaaDyNnAY8,40900
696
+ pyarrow/src/arrow/python/visibility.h,sha256=hwJw5sGrWJckQkNaAuLe4Tf-VDjQbXknyzNOVgZI3FI,1381
697
+ pyarrow/substrait.py,sha256=ugd_UrjkUIrwSvqFxLl9WkVtBZ2-hcgt5XiSVYvDLnQ,1151
698
+ pyarrow/table.pxi,sha256=Dfujf9nDQ9R--F5cybcUxB126Hu1mBuARWvgOTuFl3o,203868
699
+ pyarrow/tensor.pxi,sha256=CXlMcTRWh_n_FTzIIx8SpHCmYlV0IBA69toQ-3Evs5o,42071
700
+ pyarrow/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
701
+ pyarrow/tests/__pycache__/__init__.cpython-312.pyc,,
702
+ pyarrow/tests/__pycache__/arrow_16597.cpython-312.pyc,,
703
+ pyarrow/tests/__pycache__/arrow_39313.cpython-312.pyc,,
704
+ pyarrow/tests/__pycache__/arrow_7980.cpython-312.pyc,,
705
+ pyarrow/tests/__pycache__/conftest.cpython-312.pyc,,
706
+ pyarrow/tests/__pycache__/pandas_examples.cpython-312.pyc,,
707
+ pyarrow/tests/__pycache__/pandas_threaded_import.cpython-312.pyc,,
708
+ pyarrow/tests/__pycache__/read_record_batch.cpython-312.pyc,,
709
+ pyarrow/tests/__pycache__/strategies.cpython-312.pyc,,
710
+ pyarrow/tests/__pycache__/test_acero.cpython-312.pyc,,
711
+ pyarrow/tests/__pycache__/test_adhoc_memory_leak.cpython-312.pyc,,
712
+ pyarrow/tests/__pycache__/test_array.cpython-312.pyc,,
713
+ pyarrow/tests/__pycache__/test_builder.cpython-312.pyc,,
714
+ pyarrow/tests/__pycache__/test_cffi.cpython-312.pyc,,
715
+ pyarrow/tests/__pycache__/test_compute.cpython-312.pyc,,
716
+ pyarrow/tests/__pycache__/test_convert_builtin.cpython-312.pyc,,
717
+ pyarrow/tests/__pycache__/test_cpp_internals.cpython-312.pyc,,
718
+ pyarrow/tests/__pycache__/test_csv.cpython-312.pyc,,
719
+ pyarrow/tests/__pycache__/test_cuda.cpython-312.pyc,,
720
+ pyarrow/tests/__pycache__/test_cuda_numba_interop.cpython-312.pyc,,
721
+ pyarrow/tests/__pycache__/test_cython.cpython-312.pyc,,
722
+ pyarrow/tests/__pycache__/test_dataset.cpython-312.pyc,,
723
+ pyarrow/tests/__pycache__/test_dataset_encryption.cpython-312.pyc,,
724
+ pyarrow/tests/__pycache__/test_deprecations.cpython-312.pyc,,
725
+ pyarrow/tests/__pycache__/test_device.cpython-312.pyc,,
726
+ pyarrow/tests/__pycache__/test_dlpack.cpython-312.pyc,,
727
+ pyarrow/tests/__pycache__/test_exec_plan.cpython-312.pyc,,
728
+ pyarrow/tests/__pycache__/test_extension_type.cpython-312.pyc,,
729
+ pyarrow/tests/__pycache__/test_feather.cpython-312.pyc,,
730
+ pyarrow/tests/__pycache__/test_flight.cpython-312.pyc,,
731
+ pyarrow/tests/__pycache__/test_flight_async.cpython-312.pyc,,
732
+ pyarrow/tests/__pycache__/test_fs.cpython-312.pyc,,
733
+ pyarrow/tests/__pycache__/test_gandiva.cpython-312.pyc,,
734
+ pyarrow/tests/__pycache__/test_gdb.cpython-312.pyc,,
735
+ pyarrow/tests/__pycache__/test_io.cpython-312.pyc,,
736
+ pyarrow/tests/__pycache__/test_ipc.cpython-312.pyc,,
737
+ pyarrow/tests/__pycache__/test_json.cpython-312.pyc,,
738
+ pyarrow/tests/__pycache__/test_jvm.cpython-312.pyc,,
739
+ pyarrow/tests/__pycache__/test_memory.cpython-312.pyc,,
740
+ pyarrow/tests/__pycache__/test_misc.cpython-312.pyc,,
741
+ pyarrow/tests/__pycache__/test_orc.cpython-312.pyc,,
742
+ pyarrow/tests/__pycache__/test_pandas.cpython-312.pyc,,
743
+ pyarrow/tests/__pycache__/test_scalars.cpython-312.pyc,,
744
+ pyarrow/tests/__pycache__/test_schema.cpython-312.pyc,,
745
+ pyarrow/tests/__pycache__/test_sparse_tensor.cpython-312.pyc,,
746
+ pyarrow/tests/__pycache__/test_strategies.cpython-312.pyc,,
747
+ pyarrow/tests/__pycache__/test_substrait.cpython-312.pyc,,
748
+ pyarrow/tests/__pycache__/test_table.cpython-312.pyc,,
749
+ pyarrow/tests/__pycache__/test_tensor.cpython-312.pyc,,
750
+ pyarrow/tests/__pycache__/test_types.cpython-312.pyc,,
751
+ pyarrow/tests/__pycache__/test_udf.cpython-312.pyc,,
752
+ pyarrow/tests/__pycache__/test_util.cpython-312.pyc,,
753
+ pyarrow/tests/__pycache__/test_without_numpy.cpython-312.pyc,,
754
+ pyarrow/tests/__pycache__/util.cpython-312.pyc,,
755
+ pyarrow/tests/__pycache__/wsgi_examples.cpython-312.pyc,,
756
+ pyarrow/tests/arrow_16597.py,sha256=DNb41h9E3ITGvAJJu86i5SfsKrwstQJ0E5gT_bpTS_k,1354
757
+ pyarrow/tests/arrow_39313.py,sha256=0pyBixoX38fldTPO1Vwshi_H0XBACrz8esYoL4o71KI,1431
758
+ pyarrow/tests/arrow_7980.py,sha256=tZKb_tRLfxHaosDk9Yu2GLEsJjMaruXD5CKhbK_6Hq8,1094
759
+ pyarrow/tests/bound_function_visit_strings.pyx,sha256=vDEFoNYR8BWNkCntKDuBUT8sXNRBex_5G2bFKogr1Bs,2026
760
+ pyarrow/tests/conftest.py,sha256=PwqCO9vIgMUc2W9gCwcDvEz4hcp2eIYHDZ_fwddhqJ4,9904
761
+ pyarrow/tests/data/feather/v0.17.0.version.2-compression.lz4.feather,sha256=qzcc7Bo4OWBXYsyyKdDJwdTRstMqB1Zz0GiGYtndBnE,594
762
+ pyarrow/tests/data/orc/README.md,sha256=_4X5XszZqQtWAVEz5N1Va4VyyayGQgNDKrcdMX2Ib4s,932
763
+ pyarrow/tests/data/orc/TestOrcFile.emptyFile.jsn.gz,sha256=xLjAXd-3scx3DCyeAsmxTO3dv1cj9KRvYopKe5rQNiI,50
764
+ pyarrow/tests/data/orc/TestOrcFile.emptyFile.orc,sha256=zj0579dQBXhF7JuB-ZphkmQ81ybLo6Ca4zPV4HXoImY,523
765
+ pyarrow/tests/data/orc/TestOrcFile.test1.jsn.gz,sha256=kLxmwMVHtfzpHqBztFjfY_PTCloaXpfHq9DDDszb8Wk,323
766
+ pyarrow/tests/data/orc/TestOrcFile.test1.orc,sha256=A4JxgMCffTkz9-XT1QT1tg2TlYZRRz1g7iIMmqzovqA,1711
767
+ pyarrow/tests/data/orc/TestOrcFile.testDate1900.jsn.gz,sha256=oWf7eBR3ZtOA91OTvdeQJYos1an56msGsJwhGOan3lo,182453
768
+ pyarrow/tests/data/orc/TestOrcFile.testDate1900.orc,sha256=nYsVYhUGGOL80gHj37si_vX0dh8QhIMSeU4sHjNideM,30941
769
+ pyarrow/tests/data/orc/decimal.jsn.gz,sha256=kTEyYdPDAASFUX8Niyry5mRDF-Y-LsrhSAjbu453mvA,19313
770
+ pyarrow/tests/data/orc/decimal.orc,sha256=W5cV2WdLy4OrSTnd_Qv5ntphG4TcB-MyG4UpRFwSxJY,16337
771
+ pyarrow/tests/data/parquet/v0.7.1.all-named-index.parquet,sha256=YPGUXtw-TsOPbiNDieZHobNp3or7nHhAxJGjmIDAyqE,3948
772
+ pyarrow/tests/data/parquet/v0.7.1.column-metadata-handling.parquet,sha256=7sebZgpfdcP37QksT3FhDL6vOA9gR6GBaq44NCVtOYw,2012
773
+ pyarrow/tests/data/parquet/v0.7.1.parquet,sha256=vmdzhIzpBbmRkq3Gjww7KqurfSFNtQuSpSIDeQVmqys,4372
774
+ pyarrow/tests/data/parquet/v0.7.1.some-named-index.parquet,sha256=VGgSjqihCRtdBxlUcfP5s3BSR7aUQKukW-bGgJLf_HY,4008
775
+ pyarrow/tests/extensions.pyx,sha256=05S652zNGxwMFwuyMbP0RP4VNJLSMlzvoxH8iYIvSNk,3054
776
+ pyarrow/tests/interchange/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
777
+ pyarrow/tests/interchange/__pycache__/__init__.cpython-312.pyc,,
778
+ pyarrow/tests/interchange/__pycache__/test_conversion.cpython-312.pyc,,
779
+ pyarrow/tests/interchange/__pycache__/test_interchange_spec.cpython-312.pyc,,
780
+ pyarrow/tests/interchange/test_conversion.py,sha256=23e5tpKBL-ekA5uWpM6-f6HVPF937Hnzfune0Ty9moo,18609
781
+ pyarrow/tests/interchange/test_interchange_spec.py,sha256=5hwwCG6f7yf72PfUG0iLIk2bARsZU5EJeRjDxSQrkKI,9320
782
+ pyarrow/tests/pandas_examples.py,sha256=RFKCW-Rn0Qz-ncd4pZWWSeUoPq63kemE3lFiVdv2dBs,5115
783
+ pyarrow/tests/pandas_threaded_import.py,sha256=b_ubLr5dj4dWJht9552qc3S3Yt3fQQgaUH6208oZvHg,1429
784
+ pyarrow/tests/parquet/__init__.py,sha256=dKsXU9M-sJyz2wYIuqwsKM9meOlK_qY6qhmQzIvEpCE,931
785
+ pyarrow/tests/parquet/__pycache__/__init__.cpython-312.pyc,,
786
+ pyarrow/tests/parquet/__pycache__/common.cpython-312.pyc,,
787
+ pyarrow/tests/parquet/__pycache__/conftest.cpython-312.pyc,,
788
+ pyarrow/tests/parquet/__pycache__/encryption.cpython-312.pyc,,
789
+ pyarrow/tests/parquet/__pycache__/test_basic.cpython-312.pyc,,
790
+ pyarrow/tests/parquet/__pycache__/test_compliant_nested_type.cpython-312.pyc,,
791
+ pyarrow/tests/parquet/__pycache__/test_data_types.cpython-312.pyc,,
792
+ pyarrow/tests/parquet/__pycache__/test_dataset.cpython-312.pyc,,
793
+ pyarrow/tests/parquet/__pycache__/test_datetime.cpython-312.pyc,,
794
+ pyarrow/tests/parquet/__pycache__/test_encryption.cpython-312.pyc,,
795
+ pyarrow/tests/parquet/__pycache__/test_metadata.cpython-312.pyc,,
796
+ pyarrow/tests/parquet/__pycache__/test_pandas.cpython-312.pyc,,
797
+ pyarrow/tests/parquet/__pycache__/test_parquet_file.cpython-312.pyc,,
798
+ pyarrow/tests/parquet/__pycache__/test_parquet_writer.cpython-312.pyc,,
799
+ pyarrow/tests/parquet/common.py,sha256=-kckaOVj9P9BvL1vlvyHlsPUtysBoAYVL98Nwc9wmGo,5894
800
+ pyarrow/tests/parquet/conftest.py,sha256=mJNQal0VYsGFhHglhSt-F9CYHy_i8hB8MXaq3SxFBvk,3082
801
+ pyarrow/tests/parquet/encryption.py,sha256=Oi3QbixApvWGoGImiW7PAjR28cTQqlRXZKMI3O7E4UY,2521
802
+ pyarrow/tests/parquet/test_basic.py,sha256=SdLPuZ02NaBUEtpr18SzA90I7pK-WRMM1r3ApbQI5ps,36492
803
+ pyarrow/tests/parquet/test_compliant_nested_type.py,sha256=Lz7tCPrSpv9GrKPMS-eu1LehsCTwz7KdUdCYJ8tF8dE,3901
804
+ pyarrow/tests/parquet/test_data_types.py,sha256=tdYodveHBksDjM7DjSc7x1IEqMAZv0y6z2GsnpDdriM,15778
805
+ pyarrow/tests/parquet/test_dataset.py,sha256=UhjjQGO2kki9Q50zush0VGU3OMXHZncL_3uEQse4Lx8,42218
806
+ pyarrow/tests/parquet/test_datetime.py,sha256=A3ZaRj88u0IrlhCNp2KY_A8txrb7y2pKPgEVvI7e7bU,16398
807
+ pyarrow/tests/parquet/test_encryption.py,sha256=XMVlIcEurlzcPN2rlaNqbdZbGhF9hjz5ZhWY5Bz4Fxo,22099
808
+ pyarrow/tests/parquet/test_metadata.py,sha256=0sbEUEEal4dEczJHk77KzCk3q9P_1JD61Ayw6HBXFzo,27158
809
+ pyarrow/tests/parquet/test_pandas.py,sha256=dXXcaRBZXIt2HervJLC1gCxDLlhxu6MM_M3gxcaV1Rw,22821
810
+ pyarrow/tests/parquet/test_parquet_file.py,sha256=xm5ZUCf5xmpKh7s5nTIrEiis53mfv2NqZWVRiYOTfAg,9909
811
+ pyarrow/tests/parquet/test_parquet_writer.py,sha256=xwedRwRYtw5n_OMhLPGnJurcvlo4ooROsSalYL-ZVCM,11733
812
+ pyarrow/tests/pyarrow_cython_example.pyx,sha256=fx6zT1bUb2-cDnwKoG71K3ozpmrNJ53kKQHHJTExGz8,2115
813
+ pyarrow/tests/read_record_batch.py,sha256=9Y0X0h03hUXwOKZz7jBBZSwgIrjxT-FkWIw6pu38Frc,953
814
+ pyarrow/tests/strategies.py,sha256=ygkKPSV8CM8IMU8uW8d_RuDZEbwyj8bhD0Bv-ZwvaRk,13926
815
+ pyarrow/tests/test_acero.py,sha256=jgSkIAGhrVffShaD0ZAm50sY-f4u9jfjCimK8ezUbbA,15003
816
+ pyarrow/tests/test_adhoc_memory_leak.py,sha256=Pn4PcIbOBRtSJuz9Ar_ocubco0QOMZ-eAE9Bs7Wp4mA,1453
817
+ pyarrow/tests/test_array.py,sha256=p3JPYOvP6zJgNI2vuQ_ah9p5w126d9HRFeHN6Z5q894,139832
818
+ pyarrow/tests/test_builder.py,sha256=zNEcslLwyb40oYbG7lInQcI81QHMKDOzi1zthw1Je7c,2803
819
+ pyarrow/tests/test_cffi.py,sha256=Fbs1dFCxdnvXYLgO5oaxm_h8KV3vefE9jc3nI1JZNxw,26385
820
+ pyarrow/tests/test_compute.py,sha256=ajHKKGCpw92ZgdJl2pfdVF1UW4xGQB3EPELxXt-CnNw,142525
821
+ pyarrow/tests/test_convert_builtin.py,sha256=QTTX4KcmfZ5keLpSjfPnft9Eim4FeYnBpvPDwnOMGP0,80894
822
+ pyarrow/tests/test_cpp_internals.py,sha256=Xg4CUB6zohQkcYG64Lj_Uf2BscI27Vv0JC_CqNkDQuE,2006
823
+ pyarrow/tests/test_csv.py,sha256=GKNYAGis5TsiDJMIu0L6bH2_cIOpWDviRwxCfPN9Pv8,77313
824
+ pyarrow/tests/test_cuda.py,sha256=qCbVbYOokzpEef-e0_Fus36xQR9Y---9MLCYquI3shE,36163
825
+ pyarrow/tests/test_cuda_numba_interop.py,sha256=iHP_FE4sWbsKwNNXRcYnVozp3Wd1o0Mg6BDymx710G4,8794
826
+ pyarrow/tests/test_cython.py,sha256=IJVELKXBD89xoCcxscMfUpwvkk9SL_kNT4cccLjDww4,7115
827
+ pyarrow/tests/test_dataset.py,sha256=nbTfPH338ZqDstL1FuYpD7HefNMvbDi_zPF_zd4lFew,210420
828
+ pyarrow/tests/test_dataset_encryption.py,sha256=mA8ipIlOBSA4eKc6xnRz-IFyM7fu_kIQ5FV2r4vE2rs,7593
829
+ pyarrow/tests/test_deprecations.py,sha256=W_rneq4jC6zqCNoGhBDf1F28Q-0LHI7YKLgtsbV6LHM,891
830
+ pyarrow/tests/test_device.py,sha256=qe9Wiwo-XVazt9pdxyqQJUz6fNR0jTs9CHiyaoppNA4,2550
831
+ pyarrow/tests/test_dlpack.py,sha256=3s23cDst8TaUdum_v4XrWBJ9Ny5q4-b20vJJlHJLI8o,4937
832
+ pyarrow/tests/test_exec_plan.py,sha256=pjOkSaWeqjN6celKxUEH3tBGXLh8kKbmSSsvKOWsbQQ,10096
833
+ pyarrow/tests/test_extension_type.py,sha256=gKukBp0ial_3-iBeLsLIJKN-4ayn1K7P7auil2luH1U,65617
834
+ pyarrow/tests/test_feather.py,sha256=Rw8J4upIZhR0GMe17n84IFGItlBUk9qpHOCWmDWyCuw,25074
835
+ pyarrow/tests/test_flight.py,sha256=9kJlmuwCSzKrilP3UMeA20cyZJwlRB_pqGavbRM0Y7E,87152
836
+ pyarrow/tests/test_flight_async.py,sha256=g_mNqrnNBp7GWNOWZgnVklZcVKV_vvAAChDgcQICNdo,2873
837
+ pyarrow/tests/test_fs.py,sha256=n-RuiqvfK9zWkmmuhHLSZp3v5pRR1f258YKB6R5DsdI,65418
838
+ pyarrow/tests/test_gandiva.py,sha256=AEf9ln-j5MmIMQ0JTQPhnZwbNh82ynSURsWPaKaNing,15623
839
+ pyarrow/tests/test_gdb.py,sha256=OJzMfZtev3YOKJBm2QxnE-q-9-exy2JLhxpiVhY3T_0,44938
840
+ pyarrow/tests/test_io.py,sha256=T9Vdg1rPGjdAp7nd5U9TAc3mN0N4oWvlG-F8TKmMVS4,63768
841
+ pyarrow/tests/test_ipc.py,sha256=JPW2Q3pXKi8Y4adbCkpGZeNjdP8C6Ot1TqapinKeO_Q,42746
842
+ pyarrow/tests/test_json.py,sha256=P60OhNO7MqHWmppL7cKPmvFEYNMj0XdztxiNGxvjhkM,13169
843
+ pyarrow/tests/test_jvm.py,sha256=pIrHUgnDdmwDoLgM2TFvdgfcEJTGtBGsPgzYIRU6jYY,15507
844
+ pyarrow/tests/test_memory.py,sha256=FqCTUSCqZvKx4k-JDY3M83MvxQ15iNdMUbyUxACfS7w,8874
845
+ pyarrow/tests/test_misc.py,sha256=5-P4nWTZXB7ObuCiVwsQgCjNJ8883tZh03EY4aWea4I,7227
846
+ pyarrow/tests/test_orc.py,sha256=oijYMqsxPLYbpEy1NTwqlz-wiTd8aKttaZH6npXNXoY,19321
847
+ pyarrow/tests/test_pandas.py,sha256=_X9K5EQuAMff5vjj0CPlw-Yoa2syFbjXAfWOoZKPPIA,188352
848
+ pyarrow/tests/test_scalars.py,sha256=cKsl6QSB68aKTcHRI_sVXXonA-OgIOrkGjW3iAEIDT4,27654
849
+ pyarrow/tests/test_schema.py,sha256=3ed2GtcKqio7XJMbl9HTN2XxqCLlhiVJBze7VIwxn8Q,21814
850
+ pyarrow/tests/test_sparse_tensor.py,sha256=6Hp-X6PLqcUzTZCRSB-TyaAWR7ZyWf5YsWuZgixmd64,17500
851
+ pyarrow/tests/test_strategies.py,sha256=HEL8T94h8VyukGKNRVAW_RyQ3m36REc2P4q2BQZ_PfY,1811
852
+ pyarrow/tests/test_substrait.py,sha256=yGijuSlKRUndT80QMvuqfCx4135uAI7UjN89RYYiFCI,30634
853
+ pyarrow/tests/test_table.py,sha256=WAYwyPK8jiGWd6H8BKjJsQGcFAsgT0zW-vO5d-7iyo8,120500
854
+ pyarrow/tests/test_tensor.py,sha256=LYSEYGUjtdnsbL0WAir9jFindo-r0bLySiDA1uAXL8E,6643
855
+ pyarrow/tests/test_types.py,sha256=KH-BLjbSuQ17ySb0qr8ZUsYiHNfy_fGHuTsA-Ypr4Og,42056
856
+ pyarrow/tests/test_udf.py,sha256=WA9E5skUqh7uMr_zH3rQ11LRx0SK2G3WO8HjVHGWyQY,29792
857
+ pyarrow/tests/test_util.py,sha256=ozTlooHBMOP3nbX5b3dG2aanrXwxXHx1giicm0QQyPM,5030
858
+ pyarrow/tests/test_without_numpy.py,sha256=ysbB-jML318I04ViQT4Ok7iMg1cI-NU8kguPu-FTSl4,1855
859
+ pyarrow/tests/util.py,sha256=YeH8RovBtKY4L1SJqcOOObEZx0Yf6HSpkkq4xJdKL5U,13275
860
+ pyarrow/tests/wsgi_examples.py,sha256=vQIDb5989sRVLsELw-fRHhfX-dE96sTl5J2lEuEKup8,1348
861
+ pyarrow/types.pxi,sha256=dPCKGp91crrmtwOfkotcsh0QNVPrmOdQQVqOuaHbCao,157764
862
+ pyarrow/types.py,sha256=Woixb8A_OzBNtolWwwFGhbEWn10gavaB7S0wGMoFakQ,7240
863
+ pyarrow/util.py,sha256=W0LXUR7nsrA5N-l3THD283bxCibS0sM1q6WLcfbFFz8,7970
864
+ pyarrow/vendored/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
865
+ pyarrow/vendored/__pycache__/__init__.cpython-312.pyc,,
866
+ pyarrow/vendored/__pycache__/docscrape.cpython-312.pyc,,
867
+ pyarrow/vendored/__pycache__/version.cpython-312.pyc,,
868
+ pyarrow/vendored/docscrape.py,sha256=phTjwuzoO5hB88QerZk3uGu9c5OrZwjFzI7vEIIbCUQ,22975
869
+ pyarrow/vendored/version.py,sha256=5-Vo4Q3kPJrm1DSGusnMlTxuA8ynI4hAryApBd6MnpQ,14345
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/REQUESTED ADDED
File without changes
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/WHEEL ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (72.1.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-manylinux_2_28_x86_64
5
+
graphrag-ollama/lib/python3.12/site-packages/pyarrow-18.0.0.dist-info/top_level.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ __dummy__
2
+ pyarrow
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__init__.pxd ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from libcpp.memory cimport shared_ptr
19
+ from pyarrow.includes.libarrow cimport (CArray, CBuffer, CDataType,
20
+ CField, CRecordBatch, CSchema,
21
+ CTable, CTensor, CSparseCOOTensor,
22
+ CSparseCSRMatrix, CSparseCSCMatrix,
23
+ CSparseCSFTensor)
24
+
25
+ cdef extern from "arrow/python/pyarrow.h" namespace "arrow::py":
26
+ cdef int import_pyarrow() except -1
27
+ cdef object wrap_buffer(const shared_ptr[CBuffer]& buffer)
28
+ cdef object wrap_data_type(const shared_ptr[CDataType]& type)
29
+ cdef object wrap_field(const shared_ptr[CField]& field)
30
+ cdef object wrap_schema(const shared_ptr[CSchema]& schema)
31
+ cdef object wrap_array(const shared_ptr[CArray]& sp_array)
32
+ cdef object wrap_tensor(const shared_ptr[CTensor]& sp_tensor)
33
+ cdef object wrap_sparse_tensor_coo(
34
+ const shared_ptr[CSparseCOOTensor]& sp_sparse_tensor)
35
+ cdef object wrap_sparse_tensor_csr(
36
+ const shared_ptr[CSparseCSRMatrix]& sp_sparse_tensor)
37
+ cdef object wrap_sparse_tensor_csc(
38
+ const shared_ptr[CSparseCSCMatrix]& sp_sparse_tensor)
39
+ cdef object wrap_sparse_tensor_csf(
40
+ const shared_ptr[CSparseCSFTensor]& sp_sparse_tensor)
41
+ cdef object wrap_table(const shared_ptr[CTable]& ctable)
42
+ cdef object wrap_batch(const shared_ptr[CRecordBatch]& cbatch)
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__init__.py ADDED
@@ -0,0 +1,435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # flake8: noqa
19
+
20
+ """
21
+ PyArrow is the python implementation of Apache Arrow.
22
+
23
+ Apache Arrow is a cross-language development platform for in-memory data.
24
+ It specifies a standardized language-independent columnar memory format for
25
+ flat and hierarchical data, organized for efficient analytic operations on
26
+ modern hardware. It also provides computational libraries and zero-copy
27
+ streaming messaging and interprocess communication.
28
+
29
+ For more information see the official page at https://arrow.apache.org
30
+ """
31
+
32
+ import gc as _gc
33
+ import importlib as _importlib
34
+ import os as _os
35
+ import platform as _platform
36
+ import sys as _sys
37
+ import warnings as _warnings
38
+
39
+ try:
40
+ from ._generated_version import version as __version__
41
+ except ImportError:
42
+ # Package is not installed, parse git tag at runtime
43
+ try:
44
+ import setuptools_scm
45
+ # Code duplicated from setup.py to avoid a dependency on each other
46
+
47
+ def parse_git(root, **kwargs):
48
+ """
49
+ Parse function for setuptools_scm that ignores tags for non-C++
50
+ subprojects, e.g. apache-arrow-js-XXX tags.
51
+ """
52
+ from setuptools_scm.git import parse
53
+ kwargs['describe_command'] = \
54
+ "git describe --dirty --tags --long --match 'apache-arrow-[0-9]*.*'"
55
+ return parse(root, **kwargs)
56
+ __version__ = setuptools_scm.get_version('../',
57
+ parse=parse_git)
58
+ except ImportError:
59
+ __version__ = None
60
+
61
+ # ARROW-8684: Disable GC while initializing Cython extension module,
62
+ # to workaround Cython bug in https://github.com/cython/cython/issues/3603
63
+ _gc_enabled = _gc.isenabled()
64
+ _gc.disable()
65
+ import pyarrow.lib as _lib
66
+ if _gc_enabled:
67
+ _gc.enable()
68
+
69
+ from pyarrow.lib import (BuildInfo, RuntimeInfo, set_timezone_db_path,
70
+ MonthDayNano, VersionInfo, cpp_build_info,
71
+ cpp_version, cpp_version_info, runtime_info,
72
+ cpu_count, set_cpu_count, enable_signal_handlers,
73
+ io_thread_count, set_io_thread_count)
74
+
75
+
76
+ def show_versions():
77
+ """
78
+ Print various version information, to help with error reporting.
79
+ """
80
+ def print_entry(label, value):
81
+ print(f"{label: <26}: {value: <8}")
82
+
83
+ print("pyarrow version info\n--------------------")
84
+ print_entry("Package kind", cpp_build_info.package_kind
85
+ if len(cpp_build_info.package_kind) > 0
86
+ else "not indicated")
87
+ print_entry("Arrow C++ library version", cpp_build_info.version)
88
+ print_entry("Arrow C++ compiler",
89
+ f"{cpp_build_info.compiler_id} {cpp_build_info.compiler_version}")
90
+ print_entry("Arrow C++ compiler flags", cpp_build_info.compiler_flags)
91
+ print_entry("Arrow C++ git revision", cpp_build_info.git_id)
92
+ print_entry("Arrow C++ git description", cpp_build_info.git_description)
93
+ print_entry("Arrow C++ build type", cpp_build_info.build_type)
94
+
95
+
96
+ def _module_is_available(module):
97
+ try:
98
+ _importlib.import_module(f'pyarrow.{module}')
99
+ except ImportError:
100
+ return False
101
+ else:
102
+ return True
103
+
104
+
105
+ def _filesystem_is_available(fs):
106
+ try:
107
+ import pyarrow.fs
108
+ except ImportError:
109
+ return False
110
+
111
+ try:
112
+ getattr(pyarrow.fs, fs)
113
+ except (ImportError, AttributeError):
114
+ return False
115
+ else:
116
+ return True
117
+
118
+
119
+ def show_info():
120
+ """
121
+ Print detailed version and platform information, for error reporting
122
+ """
123
+ show_versions()
124
+
125
+ def print_entry(label, value):
126
+ print(f" {label: <20}: {value: <8}")
127
+
128
+ print("\nPlatform:")
129
+ print_entry("OS / Arch", f"{_platform.system()} {_platform.machine()}")
130
+ print_entry("SIMD Level", runtime_info().simd_level)
131
+ print_entry("Detected SIMD Level", runtime_info().detected_simd_level)
132
+
133
+ pool = default_memory_pool()
134
+ print("\nMemory:")
135
+ print_entry("Default backend", pool.backend_name)
136
+ print_entry("Bytes allocated", f"{pool.bytes_allocated()} bytes")
137
+ print_entry("Max memory", f"{pool.max_memory()} bytes")
138
+ print_entry("Supported Backends", ', '.join(supported_memory_backends()))
139
+
140
+ print("\nOptional modules:")
141
+ modules = ["csv", "cuda", "dataset", "feather", "flight", "fs", "gandiva", "json",
142
+ "orc", "parquet"]
143
+ for module in modules:
144
+ status = "Enabled" if _module_is_available(module) else "-"
145
+ print(f" {module: <20}: {status: <8}")
146
+
147
+ print("\nFilesystems:")
148
+ filesystems = ["AzureFileSystem", "GcsFileSystem",
149
+ "HadoopFileSystem", "S3FileSystem"]
150
+ for fs in filesystems:
151
+ status = "Enabled" if _filesystem_is_available(fs) else "-"
152
+ print(f" {fs: <20}: {status: <8}")
153
+
154
+ print("\nCompression Codecs:")
155
+ codecs = ["brotli", "bz2", "gzip", "lz4_frame", "lz4", "snappy", "zstd"]
156
+ for codec in codecs:
157
+ status = "Enabled" if Codec.is_available(codec) else "-"
158
+ print(f" {codec: <20}: {status: <8}")
159
+
160
+
161
+ from pyarrow.lib import (null, bool_,
162
+ int8, int16, int32, int64,
163
+ uint8, uint16, uint32, uint64,
164
+ time32, time64, timestamp, date32, date64, duration,
165
+ month_day_nano_interval,
166
+ float16, float32, float64,
167
+ binary, string, utf8, binary_view, string_view,
168
+ large_binary, large_string, large_utf8,
169
+ decimal128, decimal256,
170
+ list_, large_list, list_view, large_list_view,
171
+ map_, struct,
172
+ union, sparse_union, dense_union,
173
+ dictionary,
174
+ run_end_encoded,
175
+ bool8, fixed_shape_tensor, opaque, uuid,
176
+ field,
177
+ type_for_alias,
178
+ DataType, DictionaryType, StructType,
179
+ ListType, LargeListType, FixedSizeListType,
180
+ ListViewType, LargeListViewType,
181
+ MapType, UnionType, SparseUnionType, DenseUnionType,
182
+ TimestampType, Time32Type, Time64Type, DurationType,
183
+ FixedSizeBinaryType, Decimal128Type, Decimal256Type,
184
+ BaseExtensionType, ExtensionType,
185
+ RunEndEncodedType, Bool8Type, FixedShapeTensorType,
186
+ OpaqueType, UuidType,
187
+ PyExtensionType, UnknownExtensionType,
188
+ register_extension_type, unregister_extension_type,
189
+ DictionaryMemo,
190
+ KeyValueMetadata,
191
+ Field,
192
+ Schema,
193
+ schema,
194
+ unify_schemas,
195
+ Array, Tensor,
196
+ array, chunked_array, record_batch, nulls, repeat,
197
+ SparseCOOTensor, SparseCSRMatrix, SparseCSCMatrix,
198
+ SparseCSFTensor,
199
+ infer_type, from_numpy_dtype,
200
+ NullArray,
201
+ NumericArray, IntegerArray, FloatingPointArray,
202
+ BooleanArray,
203
+ Int8Array, UInt8Array,
204
+ Int16Array, UInt16Array,
205
+ Int32Array, UInt32Array,
206
+ Int64Array, UInt64Array,
207
+ HalfFloatArray, FloatArray, DoubleArray,
208
+ ListArray, LargeListArray, FixedSizeListArray,
209
+ ListViewArray, LargeListViewArray,
210
+ MapArray, UnionArray,
211
+ BinaryArray, StringArray,
212
+ LargeBinaryArray, LargeStringArray,
213
+ BinaryViewArray, StringViewArray,
214
+ FixedSizeBinaryArray,
215
+ DictionaryArray,
216
+ Date32Array, Date64Array, TimestampArray,
217
+ Time32Array, Time64Array, DurationArray,
218
+ MonthDayNanoIntervalArray,
219
+ Decimal128Array, Decimal256Array, StructArray, ExtensionArray,
220
+ RunEndEncodedArray, Bool8Array, FixedShapeTensorArray,
221
+ OpaqueArray, UuidArray,
222
+ scalar, NA, _NULL as NULL, Scalar,
223
+ NullScalar, BooleanScalar,
224
+ Int8Scalar, Int16Scalar, Int32Scalar, Int64Scalar,
225
+ UInt8Scalar, UInt16Scalar, UInt32Scalar, UInt64Scalar,
226
+ HalfFloatScalar, FloatScalar, DoubleScalar,
227
+ Decimal128Scalar, Decimal256Scalar,
228
+ ListScalar, LargeListScalar, FixedSizeListScalar,
229
+ ListViewScalar, LargeListViewScalar,
230
+ Date32Scalar, Date64Scalar,
231
+ Time32Scalar, Time64Scalar,
232
+ TimestampScalar, DurationScalar,
233
+ MonthDayNanoIntervalScalar,
234
+ BinaryScalar, LargeBinaryScalar, BinaryViewScalar,
235
+ StringScalar, LargeStringScalar, StringViewScalar,
236
+ FixedSizeBinaryScalar, DictionaryScalar,
237
+ MapScalar, StructScalar, UnionScalar,
238
+ RunEndEncodedScalar, Bool8Scalar, ExtensionScalar,
239
+ FixedShapeTensorScalar, OpaqueScalar, UuidScalar)
240
+
241
+ # Buffers, allocation
242
+ from pyarrow.lib import (DeviceAllocationType, Device, MemoryManager,
243
+ default_cpu_memory_manager)
244
+
245
+ from pyarrow.lib import (Buffer, ResizableBuffer, foreign_buffer, py_buffer,
246
+ Codec, compress, decompress, allocate_buffer)
247
+
248
+ from pyarrow.lib import (MemoryPool, LoggingMemoryPool, ProxyMemoryPool,
249
+ total_allocated_bytes, set_memory_pool,
250
+ default_memory_pool, system_memory_pool,
251
+ jemalloc_memory_pool, mimalloc_memory_pool,
252
+ logging_memory_pool, proxy_memory_pool,
253
+ log_memory_allocations, jemalloc_set_decay_ms,
254
+ supported_memory_backends)
255
+
256
+ # I/O
257
+ from pyarrow.lib import (NativeFile, PythonFile,
258
+ BufferedInputStream, BufferedOutputStream, CacheOptions,
259
+ CompressedInputStream, CompressedOutputStream,
260
+ TransformInputStream, transcoding_input_stream,
261
+ FixedSizeBufferWriter,
262
+ BufferReader, BufferOutputStream,
263
+ OSFile, MemoryMappedFile, memory_map,
264
+ create_memory_map, MockOutputStream,
265
+ input_stream, output_stream,
266
+ have_libhdfs)
267
+
268
+ from pyarrow.lib import (ChunkedArray, RecordBatch, Table, table,
269
+ concat_arrays, concat_tables, TableGroupBy,
270
+ RecordBatchReader)
271
+
272
+ # Exceptions
273
+ from pyarrow.lib import (ArrowCancelled,
274
+ ArrowCapacityError,
275
+ ArrowException,
276
+ ArrowKeyError,
277
+ ArrowIndexError,
278
+ ArrowInvalid,
279
+ ArrowIOError,
280
+ ArrowMemoryError,
281
+ ArrowNotImplementedError,
282
+ ArrowTypeError,
283
+ ArrowSerializationError)
284
+
285
+ from pyarrow.ipc import serialize_pandas, deserialize_pandas
286
+ import pyarrow.ipc as ipc
287
+
288
+ import pyarrow.types as types
289
+
290
+
291
+ # ----------------------------------------------------------------------
292
+ # Deprecations
293
+
294
+ from pyarrow.util import _deprecate_api, _deprecate_class
295
+
296
+
297
+ # TODO: Deprecate these somehow in the pyarrow namespace
298
+ from pyarrow.ipc import (Message, MessageReader, MetadataVersion,
299
+ RecordBatchFileReader, RecordBatchFileWriter,
300
+ RecordBatchStreamReader, RecordBatchStreamWriter)
301
+
302
+ # ----------------------------------------------------------------------
303
+ # Returning absolute path to the pyarrow include directory (if bundled, e.g. in
304
+ # wheels)
305
+
306
+
307
+ def get_include():
308
+ """
309
+ Return absolute path to directory containing Arrow C++ include
310
+ headers. Similar to numpy.get_include
311
+ """
312
+ return _os.path.join(_os.path.dirname(__file__), 'include')
313
+
314
+
315
+ def _get_pkg_config_executable():
316
+ return _os.environ.get('PKG_CONFIG', 'pkg-config')
317
+
318
+
319
+ def _has_pkg_config(pkgname):
320
+ import subprocess
321
+ try:
322
+ return subprocess.call([_get_pkg_config_executable(),
323
+ '--exists', pkgname]) == 0
324
+ except FileNotFoundError:
325
+ return False
326
+
327
+
328
+ def _read_pkg_config_variable(pkgname, cli_args):
329
+ import subprocess
330
+ cmd = [_get_pkg_config_executable(), pkgname] + cli_args
331
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE,
332
+ stderr=subprocess.PIPE)
333
+ out, err = proc.communicate()
334
+ if proc.returncode != 0:
335
+ raise RuntimeError("pkg-config failed: " + err.decode('utf8'))
336
+ return out.rstrip().decode('utf8')
337
+
338
+
339
+ def get_libraries():
340
+ """
341
+ Return list of library names to include in the `libraries` argument for C
342
+ or Cython extensions using pyarrow
343
+ """
344
+ return ['arrow_python', 'arrow']
345
+
346
+
347
+ def create_library_symlinks():
348
+ """
349
+ With Linux and macOS wheels, the bundled shared libraries have an embedded
350
+ ABI version like libarrow.so.17 or libarrow.17.dylib and so linking to them
351
+ with -larrow won't work unless we create symlinks at locations like
352
+ site-packages/pyarrow/libarrow.so. This unfortunate workaround addresses
353
+ prior problems we had with shipping two copies of the shared libraries to
354
+ permit third party projects like turbodbc to build their C++ extensions
355
+ against the pyarrow wheels.
356
+
357
+ This function must only be invoked once and only when the shared libraries
358
+ are bundled with the Python package, which should only apply to wheel-based
359
+ installs. It requires write access to the site-packages/pyarrow directory
360
+ and so depending on your system may need to be run with root.
361
+ """
362
+ import glob
363
+ if _sys.platform == 'win32':
364
+ return
365
+ package_cwd = _os.path.dirname(__file__)
366
+
367
+ if _sys.platform == 'linux':
368
+ bundled_libs = glob.glob(_os.path.join(package_cwd, '*.so.*'))
369
+
370
+ def get_symlink_path(hard_path):
371
+ return hard_path.rsplit('.', 1)[0]
372
+ else:
373
+ bundled_libs = glob.glob(_os.path.join(package_cwd, '*.*.dylib'))
374
+
375
+ def get_symlink_path(hard_path):
376
+ return '.'.join((hard_path.rsplit('.', 2)[0], 'dylib'))
377
+
378
+ for lib_hard_path in bundled_libs:
379
+ symlink_path = get_symlink_path(lib_hard_path)
380
+ if _os.path.exists(symlink_path):
381
+ continue
382
+ try:
383
+ _os.symlink(lib_hard_path, symlink_path)
384
+ except PermissionError:
385
+ print("Tried creating symlink {}. If you need to link to "
386
+ "bundled shared libraries, run "
387
+ "pyarrow.create_library_symlinks() as root")
388
+
389
+
390
+ def get_library_dirs():
391
+ """
392
+ Return lists of directories likely to contain Arrow C++ libraries for
393
+ linking C or Cython extensions using pyarrow
394
+ """
395
+ package_cwd = _os.path.dirname(__file__)
396
+ library_dirs = [package_cwd]
397
+
398
+ def append_library_dir(library_dir):
399
+ if library_dir not in library_dirs:
400
+ library_dirs.append(library_dir)
401
+
402
+ # Search library paths via pkg-config. This is necessary if the user
403
+ # installed libarrow and the other shared libraries manually and they
404
+ # are not shipped inside the pyarrow package (see also ARROW-2976).
405
+ pkg_config_executable = _os.environ.get('PKG_CONFIG') or 'pkg-config'
406
+ for pkgname in ["arrow", "arrow_python"]:
407
+ if _has_pkg_config(pkgname):
408
+ library_dir = _read_pkg_config_variable(pkgname,
409
+ ["--libs-only-L"])
410
+ # pkg-config output could be empty if Arrow is installed
411
+ # as a system package.
412
+ if library_dir:
413
+ if not library_dir.startswith("-L"):
414
+ raise ValueError(
415
+ "pkg-config --libs-only-L returned unexpected "
416
+ "value {!r}".format(library_dir))
417
+ append_library_dir(library_dir[2:])
418
+
419
+ if _sys.platform == 'win32':
420
+ # TODO(wesm): Is this necessary, or does setuptools within a conda
421
+ # installation add Library\lib to the linker path for MSVC?
422
+ python_base_install = _os.path.dirname(_sys.executable)
423
+ library_dir = _os.path.join(python_base_install, 'Library', 'lib')
424
+
425
+ if _os.path.exists(_os.path.join(library_dir, 'arrow.lib')):
426
+ append_library_dir(library_dir)
427
+
428
+ # ARROW-4074: Allow for ARROW_HOME to be set to some other directory
429
+ if _os.environ.get('ARROW_HOME'):
430
+ append_library_dir(_os.path.join(_os.environ['ARROW_HOME'], 'lib'))
431
+ else:
432
+ # Python wheels bundle the Arrow libraries in the pyarrow directory.
433
+ append_library_dir(_os.path.dirname(_os.path.abspath(__file__)))
434
+
435
+ return library_dirs
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/__init__.cpython-312.pyc ADDED
Binary file (20.7 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/_compute_docstrings.cpython-312.pyc ADDED
Binary file (1.13 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/_generated_version.cpython-312.pyc ADDED
Binary file (608 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/acero.cpython-312.pyc ADDED
Binary file (13.4 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/benchmark.cpython-312.pyc ADDED
Binary file (265 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/cffi.cpython-312.pyc ADDED
Binary file (1.84 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/compute.cpython-312.pyc ADDED
Binary file (26.1 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/conftest.cpython-312.pyc ADDED
Binary file (9.92 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/csv.cpython-312.pyc ADDED
Binary file (475 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/cuda.cpython-312.pyc ADDED
Binary file (477 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/dataset.cpython-312.pyc ADDED
Binary file (39.4 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/feather.cpython-312.pyc ADDED
Binary file (10.8 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/flight.cpython-312.pyc ADDED
Binary file (1.75 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/fs.cpython-312.pyc ADDED
Binary file (16.7 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/ipc.cpython-312.pyc ADDED
Binary file (11.2 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/json.cpython-312.pyc ADDED
Binary file (291 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/jvm.cpython-312.pyc ADDED
Binary file (12.4 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/orc.cpython-312.pyc ADDED
Binary file (14.8 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/pandas_compat.cpython-312.pyc ADDED
Binary file (44.6 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/substrait.cpython-312.pyc ADDED
Binary file (625 Bytes). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/types.cpython-312.pyc ADDED
Binary file (14.5 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/__pycache__/util.cpython-312.pyc ADDED
Binary file (10.3 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.cpython-312-x86_64-linux-gnu.so ADDED
Binary file (326 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.pxd ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ from pyarrow.lib cimport *
21
+ from pyarrow.includes.common cimport *
22
+ from pyarrow.includes.libarrow cimport *
23
+ from pyarrow.includes.libarrow_acero cimport *
24
+
25
+
26
+ cdef class ExecNodeOptions(_Weakrefable):
27
+ cdef:
28
+ shared_ptr[CExecNodeOptions] wrapped
29
+
30
+ cdef void init(self, const shared_ptr[CExecNodeOptions]& sp)
31
+ cdef inline shared_ptr[CExecNodeOptions] unwrap(self) nogil
32
+
33
+
34
+ cdef class Declaration(_Weakrefable):
35
+
36
+ cdef:
37
+ CDeclaration decl
38
+
39
+ cdef void init(self, const CDeclaration& c_decl)
40
+
41
+ @staticmethod
42
+ cdef wrap(const CDeclaration& c_decl)
43
+
44
+ cdef inline CDeclaration unwrap(self) nogil
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_acero.pyx ADDED
@@ -0,0 +1,608 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # ---------------------------------------------------------------------
19
+ # Low-level Acero bindings
20
+
21
+ # cython: profile=False
22
+ # distutils: language = c++
23
+ # cython: language_level = 3
24
+
25
+ from pyarrow.includes.common cimport *
26
+ from pyarrow.includes.libarrow cimport *
27
+ from pyarrow.includes.libarrow_acero cimport *
28
+ from pyarrow.lib cimport (Table, pyarrow_unwrap_table, pyarrow_wrap_table,
29
+ RecordBatchReader)
30
+ from pyarrow.lib import frombytes, tobytes
31
+ from pyarrow._compute cimport (
32
+ Expression, FunctionOptions, _ensure_field_ref, _true,
33
+ unwrap_null_placement, unwrap_sort_order
34
+ )
35
+
36
+
37
+ cdef class ExecNodeOptions(_Weakrefable):
38
+ """
39
+ Base class for the node options.
40
+
41
+ Use one of the subclasses to construct an options object.
42
+ """
43
+ __slots__ = () # avoid mistakingly creating attributes
44
+
45
+ cdef void init(self, const shared_ptr[CExecNodeOptions]& sp):
46
+ self.wrapped = sp
47
+
48
+ cdef inline shared_ptr[CExecNodeOptions] unwrap(self) nogil:
49
+ return self.wrapped
50
+
51
+
52
+ cdef class _TableSourceNodeOptions(ExecNodeOptions):
53
+
54
+ def _set_options(self, Table table):
55
+ cdef:
56
+ shared_ptr[CTable] c_table
57
+
58
+ c_table = pyarrow_unwrap_table(table)
59
+ self.wrapped.reset(
60
+ new CTableSourceNodeOptions(c_table)
61
+ )
62
+
63
+
64
+ class TableSourceNodeOptions(_TableSourceNodeOptions):
65
+ """
66
+ A Source node which accepts a table.
67
+
68
+ This is the option class for the "table_source" node factory.
69
+
70
+ Parameters
71
+ ----------
72
+ table : pyarrow.Table
73
+ The table which acts as the data source.
74
+ """
75
+
76
+ def __init__(self, Table table):
77
+ self._set_options(table)
78
+
79
+
80
+ cdef class _FilterNodeOptions(ExecNodeOptions):
81
+
82
+ def _set_options(self, Expression filter_expression not None):
83
+ self.wrapped.reset(
84
+ new CFilterNodeOptions(<CExpression>filter_expression.unwrap())
85
+ )
86
+
87
+
88
+ class FilterNodeOptions(_FilterNodeOptions):
89
+ """
90
+ Make a node which excludes some rows from batches passed through it.
91
+
92
+ This is the option class for the "filter" node factory.
93
+
94
+ The "filter" operation provides an option to define data filtering
95
+ criteria. It selects rows where the given expression evaluates to true.
96
+ Filters can be written using pyarrow.compute.Expression, and the
97
+ expression must have a return type of boolean.
98
+
99
+ Parameters
100
+ ----------
101
+ filter_expression : pyarrow.compute.Expression
102
+ """
103
+
104
+ def __init__(self, Expression filter_expression):
105
+ self._set_options(filter_expression)
106
+
107
+
108
+ cdef class _ProjectNodeOptions(ExecNodeOptions):
109
+
110
+ def _set_options(self, expressions, names=None):
111
+ cdef:
112
+ Expression expr
113
+ vector[CExpression] c_expressions
114
+ vector[c_string] c_names
115
+
116
+ for expr in expressions:
117
+ c_expressions.push_back(expr.unwrap())
118
+
119
+ if names is not None:
120
+ if len(names) != len(expressions):
121
+ raise ValueError(
122
+ "The number of names should be equal to the number of expressions"
123
+ )
124
+
125
+ for name in names:
126
+ c_names.push_back(<c_string>tobytes(name))
127
+
128
+ self.wrapped.reset(
129
+ new CProjectNodeOptions(c_expressions, c_names)
130
+ )
131
+ else:
132
+ self.wrapped.reset(
133
+ new CProjectNodeOptions(c_expressions)
134
+ )
135
+
136
+
137
+ class ProjectNodeOptions(_ProjectNodeOptions):
138
+ """
139
+ Make a node which executes expressions on input batches,
140
+ producing batches of the same length with new columns.
141
+
142
+ This is the option class for the "project" node factory.
143
+
144
+ The "project" operation rearranges, deletes, transforms, and
145
+ creates columns. Each output column is computed by evaluating
146
+ an expression against the source record batch. These must be
147
+ scalar expressions (expressions consisting of scalar literals,
148
+ field references and scalar functions, i.e. elementwise functions
149
+ that return one value for each input row independent of the value
150
+ of all other rows).
151
+
152
+ Parameters
153
+ ----------
154
+ expressions : list of pyarrow.compute.Expression
155
+ List of expressions to evaluate against the source batch. This must
156
+ be scalar expressions.
157
+ names : list of str, optional
158
+ List of names for each of the output columns (same length as
159
+ `expressions`). If `names` is not provided, the string
160
+ representations of exprs will be used.
161
+ """
162
+
163
+ def __init__(self, expressions, names=None):
164
+ self._set_options(expressions, names)
165
+
166
+
167
+ cdef class _AggregateNodeOptions(ExecNodeOptions):
168
+
169
+ def _set_options(self, aggregates, keys=None):
170
+ cdef:
171
+ CAggregate c_aggr
172
+ vector[CAggregate] c_aggregations
173
+ vector[CFieldRef] c_keys
174
+
175
+ for arg_names, func_name, opts, name in aggregates:
176
+ c_aggr.function = tobytes(func_name)
177
+ if opts is not None:
178
+ c_aggr.options = (<FunctionOptions?>opts).wrapped
179
+ else:
180
+ c_aggr.options = <shared_ptr[CFunctionOptions]>nullptr
181
+ if not isinstance(arg_names, (list, tuple)):
182
+ arg_names = [arg_names]
183
+ for arg in arg_names:
184
+ c_aggr.target.push_back(_ensure_field_ref(arg))
185
+ c_aggr.name = tobytes(name)
186
+
187
+ c_aggregations.push_back(move(c_aggr))
188
+
189
+ if keys is None:
190
+ keys = []
191
+ for name in keys:
192
+ c_keys.push_back(_ensure_field_ref(name))
193
+
194
+ self.wrapped.reset(
195
+ new CAggregateNodeOptions(c_aggregations, c_keys)
196
+ )
197
+
198
+
199
+ class AggregateNodeOptions(_AggregateNodeOptions):
200
+ """
201
+ Make a node which aggregates input batches, optionally grouped by keys.
202
+
203
+ This is the option class for the "aggregate" node factory.
204
+
205
+ Acero supports two types of aggregates: "scalar" aggregates,
206
+ and "hash" aggregates. Scalar aggregates reduce an array or scalar
207
+ input to a single scalar output (e.g. computing the mean of a column).
208
+ Hash aggregates act like GROUP BY in SQL and first partition data
209
+ based on one or more key columns, then reduce the data in each partition.
210
+ The aggregate node supports both types of computation, and can compute
211
+ any number of aggregations at once.
212
+
213
+ Parameters
214
+ ----------
215
+ aggregates : list of tuples
216
+ Aggregations which will be applied to the targeted fields.
217
+ Specified as a list of tuples, where each tuple is one aggregation
218
+ specification and consists of: aggregation target column(s) followed
219
+ by function name, aggregation function options object and the
220
+ output field name.
221
+ The target column(s) specification can be a single field reference,
222
+ an empty list or a list of fields unary, nullary and n-ary aggregation
223
+ functions respectively. Each field reference can be a string
224
+ column name or expression.
225
+ keys : list of field references, optional
226
+ Keys by which aggregations will be grouped. Each key can reference
227
+ a field using a string name or expression.
228
+ """
229
+
230
+ def __init__(self, aggregates, keys=None):
231
+ self._set_options(aggregates, keys)
232
+
233
+
234
+ cdef class _OrderByNodeOptions(ExecNodeOptions):
235
+
236
+ def _set_options(self, sort_keys, null_placement):
237
+ cdef:
238
+ vector[CSortKey] c_sort_keys
239
+
240
+ for name, order in sort_keys:
241
+ c_sort_keys.push_back(
242
+ CSortKey(_ensure_field_ref(name), unwrap_sort_order(order))
243
+ )
244
+
245
+ self.wrapped.reset(
246
+ new COrderByNodeOptions(
247
+ COrdering(c_sort_keys, unwrap_null_placement(null_placement))
248
+ )
249
+ )
250
+
251
+
252
+ class OrderByNodeOptions(_OrderByNodeOptions):
253
+ """
254
+ Make a node which applies a new ordering to the data.
255
+
256
+ Currently this node works by accumulating all data, sorting, and then
257
+ emitting the new data with an updated batch index.
258
+ Larger-than-memory sort is not currently supported.
259
+
260
+ This is the option class for the "order_by" node factory.
261
+
262
+ Parameters
263
+ ----------
264
+ sort_keys : sequence of (name, order) tuples
265
+ Names of field/column keys to sort the input on,
266
+ along with the order each field/column is sorted in.
267
+ Accepted values for `order` are "ascending", "descending".
268
+ Each field reference can be a string column name or expression.
269
+ null_placement : str, default "at_end"
270
+ Where nulls in input should be sorted, only applying to
271
+ columns/fields mentioned in `sort_keys`.
272
+ Accepted values are "at_start", "at_end".
273
+ """
274
+
275
+ def __init__(self, sort_keys=(), *, null_placement="at_end"):
276
+ self._set_options(sort_keys, null_placement)
277
+
278
+
279
+ cdef class _HashJoinNodeOptions(ExecNodeOptions):
280
+
281
+ def _set_options(
282
+ self, join_type, left_keys, right_keys, left_output=None, right_output=None,
283
+ output_suffix_for_left="", output_suffix_for_right="",
284
+ ):
285
+ cdef:
286
+ CJoinType c_join_type
287
+ vector[CFieldRef] c_left_keys
288
+ vector[CFieldRef] c_right_keys
289
+ vector[CFieldRef] c_left_output
290
+ vector[CFieldRef] c_right_output
291
+
292
+ # join type
293
+ if join_type == "left semi":
294
+ c_join_type = CJoinType_LEFT_SEMI
295
+ elif join_type == "right semi":
296
+ c_join_type = CJoinType_RIGHT_SEMI
297
+ elif join_type == "left anti":
298
+ c_join_type = CJoinType_LEFT_ANTI
299
+ elif join_type == "right anti":
300
+ c_join_type = CJoinType_RIGHT_ANTI
301
+ elif join_type == "inner":
302
+ c_join_type = CJoinType_INNER
303
+ elif join_type == "left outer":
304
+ c_join_type = CJoinType_LEFT_OUTER
305
+ elif join_type == "right outer":
306
+ c_join_type = CJoinType_RIGHT_OUTER
307
+ elif join_type == "full outer":
308
+ c_join_type = CJoinType_FULL_OUTER
309
+ else:
310
+ raise ValueError("Unsupported join type")
311
+
312
+ # left/right keys
313
+ if not isinstance(left_keys, (list, tuple)):
314
+ left_keys = [left_keys]
315
+ for key in left_keys:
316
+ c_left_keys.push_back(_ensure_field_ref(key))
317
+ if not isinstance(right_keys, (list, tuple)):
318
+ right_keys = [right_keys]
319
+ for key in right_keys:
320
+ c_right_keys.push_back(_ensure_field_ref(key))
321
+
322
+ # left/right output fields
323
+ if left_output is not None and right_output is not None:
324
+ for colname in left_output:
325
+ c_left_output.push_back(_ensure_field_ref(colname))
326
+ for colname in right_output:
327
+ c_right_output.push_back(_ensure_field_ref(colname))
328
+
329
+ self.wrapped.reset(
330
+ new CHashJoinNodeOptions(
331
+ c_join_type, c_left_keys, c_right_keys,
332
+ c_left_output, c_right_output,
333
+ _true,
334
+ <c_string>tobytes(output_suffix_for_left),
335
+ <c_string>tobytes(output_suffix_for_right)
336
+ )
337
+ )
338
+ else:
339
+ self.wrapped.reset(
340
+ new CHashJoinNodeOptions(
341
+ c_join_type, c_left_keys, c_right_keys,
342
+ _true,
343
+ <c_string>tobytes(output_suffix_for_left),
344
+ <c_string>tobytes(output_suffix_for_right)
345
+ )
346
+ )
347
+
348
+
349
+ class HashJoinNodeOptions(_HashJoinNodeOptions):
350
+ """
351
+ Make a node which implements join operation using hash join strategy.
352
+
353
+ This is the option class for the "hashjoin" node factory.
354
+
355
+ Parameters
356
+ ----------
357
+ join_type : str
358
+ Type of join. One of "left semi", "right semi", "left anti",
359
+ "right anti", "inner", "left outer", "right outer", "full outer".
360
+ left_keys : str, Expression or list
361
+ Key fields from left input. Each key can be a string column name
362
+ or a field expression, or a list of such field references.
363
+ right_keys : str, Expression or list
364
+ Key fields from right input. See `left_keys` for details.
365
+ left_output : list, optional
366
+ List of output fields passed from left input. If left and right
367
+ output fields are not specified, all valid fields from both left and
368
+ right input will be output. Each field can be a string column name
369
+ or a field expression.
370
+ right_output : list, optional
371
+ List of output fields passed from right input. If left and right
372
+ output fields are not specified, all valid fields from both left and
373
+ right input will be output. Each field can be a string column name
374
+ or a field expression.
375
+ output_suffix_for_left : str
376
+ Suffix added to names of output fields coming from left input
377
+ (used to distinguish, if necessary, between fields of the same
378
+ name in left and right input and can be left empty if there are
379
+ no name collisions).
380
+ output_suffix_for_right : str
381
+ Suffix added to names of output fields coming from right input,
382
+ see `output_suffix_for_left` for details.
383
+ """
384
+
385
+ def __init__(
386
+ self, join_type, left_keys, right_keys, left_output=None, right_output=None,
387
+ output_suffix_for_left="", output_suffix_for_right=""
388
+ ):
389
+ self._set_options(
390
+ join_type, left_keys, right_keys, left_output, right_output,
391
+ output_suffix_for_left, output_suffix_for_right
392
+ )
393
+
394
+
395
+ cdef class _AsofJoinNodeOptions(ExecNodeOptions):
396
+
397
+ def _set_options(self, left_on, left_by, right_on, right_by, tolerance):
398
+ cdef:
399
+ vector[CFieldRef] c_left_by
400
+ vector[CFieldRef] c_right_by
401
+ CAsofJoinKeys c_left_keys
402
+ CAsofJoinKeys c_right_keys
403
+ vector[CAsofJoinKeys] c_input_keys
404
+
405
+ # Prepare left AsofJoinNodeOption::Keys
406
+ if not isinstance(left_by, (list, tuple)):
407
+ left_by = [left_by]
408
+ for key in left_by:
409
+ c_left_by.push_back(_ensure_field_ref(key))
410
+
411
+ c_left_keys.on_key = _ensure_field_ref(left_on)
412
+ c_left_keys.by_key = c_left_by
413
+
414
+ c_input_keys.push_back(c_left_keys)
415
+
416
+ # Prepare right AsofJoinNodeOption::Keys
417
+ if not isinstance(right_by, (list, tuple)):
418
+ right_by = [right_by]
419
+ for key in right_by:
420
+ c_right_by.push_back(_ensure_field_ref(key))
421
+
422
+ c_right_keys.on_key = _ensure_field_ref(right_on)
423
+ c_right_keys.by_key = c_right_by
424
+
425
+ c_input_keys.push_back(c_right_keys)
426
+
427
+ self.wrapped.reset(
428
+ new CAsofJoinNodeOptions(
429
+ c_input_keys,
430
+ tolerance,
431
+ )
432
+ )
433
+
434
+
435
+ class AsofJoinNodeOptions(_AsofJoinNodeOptions):
436
+ """
437
+ Make a node which implements 'as of join' operation.
438
+
439
+ This is the option class for the "asofjoin" node factory.
440
+
441
+ Parameters
442
+ ----------
443
+ left_on : str, Expression
444
+ The left key on which the join operation should be performed.
445
+ Can be a string column name or a field expression.
446
+
447
+ An inexact match is used on the "on" key, i.e. a row is considered a
448
+ match if and only if left_on - tolerance <= right_on <= left_on.
449
+
450
+ The input dataset must be sorted by the "on" key. Must be a single
451
+ field of a common type.
452
+
453
+ Currently, the "on" key must be an integer, date, or timestamp type.
454
+ left_by: str, Expression or list
455
+ The left keys on which the join operation should be performed.
456
+ Exact equality is used for each field of the "by" keys.
457
+ Each key can be a string column name or a field expression,
458
+ or a list of such field references.
459
+ right_on : str, Expression
460
+ The right key on which the join operation should be performed.
461
+ See `left_on` for details.
462
+ right_by: str, Expression or list
463
+ The right keys on which the join operation should be performed.
464
+ See `left_by` for details.
465
+ tolerance : int
466
+ The tolerance to use for the asof join. The tolerance is interpreted in
467
+ the same units as the "on" key.
468
+ """
469
+
470
+ def __init__(self, left_on, left_by, right_on, right_by, tolerance):
471
+ self._set_options(left_on, left_by, right_on, right_by, tolerance)
472
+
473
+
474
+ cdef class Declaration(_Weakrefable):
475
+ """
476
+ Helper class for declaring the nodes of an ExecPlan.
477
+
478
+ A Declaration represents an unconstructed ExecNode, and potentially
479
+ more since its inputs may also be Declarations or when constructed
480
+ with ``from_sequence``.
481
+
482
+ The possible ExecNodes to use are registered with a name,
483
+ the "factory name", and need to be specified using this name, together
484
+ with its corresponding ExecNodeOptions subclass.
485
+
486
+ Parameters
487
+ ----------
488
+ factory_name : str
489
+ The ExecNode factory name, such as "table_source", "filter",
490
+ "project" etc. See the ExecNodeOptions subclasses for the exact
491
+ factory names to use.
492
+ options : ExecNodeOptions
493
+ Corresponding ExecNodeOptions subclass (matching the factory name).
494
+ inputs : list of Declaration, optional
495
+ Input nodes for this declaration. Optional if the node is a source
496
+ node, or when the declaration gets combined later with
497
+ ``from_sequence``.
498
+
499
+ Returns
500
+ -------
501
+ Declaration
502
+ """
503
+ cdef void init(self, const CDeclaration& c_decl):
504
+ self.decl = c_decl
505
+
506
+ @staticmethod
507
+ cdef wrap(const CDeclaration& c_decl):
508
+ cdef Declaration self = Declaration.__new__(Declaration)
509
+ self.init(c_decl)
510
+ return self
511
+
512
+ cdef inline CDeclaration unwrap(self) nogil:
513
+ return self.decl
514
+
515
+ def __init__(self, factory_name, ExecNodeOptions options, inputs=None):
516
+ cdef:
517
+ c_string c_factory_name
518
+ CDeclaration c_decl
519
+ vector[CDeclaration.Input] c_inputs
520
+
521
+ c_factory_name = tobytes(factory_name)
522
+
523
+ if inputs is not None:
524
+ for ipt in inputs:
525
+ c_inputs.push_back(
526
+ CDeclaration.Input((<Declaration>ipt).unwrap())
527
+ )
528
+
529
+ c_decl = CDeclaration(c_factory_name, c_inputs, options.unwrap())
530
+ self.init(c_decl)
531
+
532
+ @staticmethod
533
+ def from_sequence(decls):
534
+ """
535
+ Convenience factory for the common case of a simple sequence of nodes.
536
+
537
+ Each of the declarations will be appended to the inputs of the
538
+ subsequent declaration, and the final modified declaration will
539
+ be returned.
540
+
541
+ Parameters
542
+ ----------
543
+ decls : list of Declaration
544
+
545
+ Returns
546
+ -------
547
+ Declaration
548
+ """
549
+ cdef:
550
+ vector[CDeclaration] c_decls
551
+ CDeclaration c_decl
552
+
553
+ for decl in decls:
554
+ c_decls.push_back((<Declaration> decl).unwrap())
555
+
556
+ c_decl = CDeclaration.Sequence(c_decls)
557
+ return Declaration.wrap(c_decl)
558
+
559
+ def __str__(self):
560
+ return frombytes(GetResultValue(DeclarationToString(self.decl)))
561
+
562
+ def __repr__(self):
563
+ return "<pyarrow.acero.Declaration>\n{0}".format(str(self))
564
+
565
+ def to_table(self, bint use_threads=True):
566
+ """
567
+ Run the declaration and collect the results into a table.
568
+
569
+ This method will implicitly add a sink node to the declaration
570
+ to collect results into a table. It will then create an ExecPlan
571
+ from the declaration, start the exec plan, block until the plan
572
+ has finished, and return the created table.
573
+
574
+ Parameters
575
+ ----------
576
+ use_threads : bool, default True
577
+ If set to False, then all CPU work will be done on the calling
578
+ thread. I/O tasks will still happen on the I/O executor
579
+ and may be multi-threaded (but should not use significant CPU
580
+ resources).
581
+
582
+ Returns
583
+ -------
584
+ pyarrow.Table
585
+ """
586
+ cdef:
587
+ shared_ptr[CTable] c_table
588
+
589
+ with nogil:
590
+ c_table = GetResultValue(DeclarationToTable(self.unwrap(), use_threads))
591
+ return pyarrow_wrap_table(c_table)
592
+
593
+ def to_reader(self, bint use_threads=True):
594
+ """Run the declaration and return results as a RecordBatchReader.
595
+
596
+ For details about the parameters, see `to_table`.
597
+
598
+ Returns
599
+ -------
600
+ pyarrow.RecordBatchReader
601
+ """
602
+ cdef:
603
+ RecordBatchReader reader
604
+ reader = RecordBatchReader.__new__(RecordBatchReader)
605
+ reader.reader.reset(
606
+ GetResultValue(DeclarationToReader(self.unwrap(), use_threads)).release()
607
+ )
608
+ return reader
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_azurefs.cpython-312-x86_64-linux-gnu.so ADDED
Binary file (101 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_azurefs.pyx ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ from cython cimport binding
21
+
22
+
23
+ from pyarrow.lib import frombytes, tobytes
24
+ from pyarrow.includes.libarrow_fs cimport *
25
+ from pyarrow._fs cimport FileSystem
26
+
27
+
28
+ cdef class AzureFileSystem(FileSystem):
29
+ """
30
+ Azure Blob Storage backed FileSystem implementation
31
+
32
+ This implementation supports flat namespace and hierarchical namespace (HNS) a.k.a.
33
+ Data Lake Gen2 storage accounts. HNS will be automatically detected and HNS specific
34
+ features will be used when they provide a performance advantage. Azurite emulator is
35
+ also supported. Note: `/` is the only supported delimiter.
36
+
37
+ The storage account is considered the root of the filesystem. When enabled, containers
38
+ will be created or deleted during relevant directory operations. Obviously, this also
39
+ requires authentication with the additional permissions.
40
+
41
+ By default `DefaultAzureCredential <https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/identity/azure-identity/README.md#defaultazurecredential>`__
42
+ is used for authentication. This means it will try several types of authentication
43
+ and go with the first one that works. If any authentication parameters are provided when
44
+ initialising the FileSystem, they will be used instead of the default credential.
45
+
46
+ Parameters
47
+ ----------
48
+ account_name : str
49
+ Azure Blob Storage account name. This is the globally unique identifier for the
50
+ storage account.
51
+ account_key : str, default None
52
+ Account key of the storage account. Pass None to use default credential.
53
+ blob_storage_authority : str, default None
54
+ hostname[:port] of the Blob Service. Defaults to `.blob.core.windows.net`. Useful
55
+ for connecting to a local emulator, like Azurite.
56
+ dfs_storage_authority : str, default None
57
+ hostname[:port] of the Data Lake Gen 2 Service. Defaults to
58
+ `.dfs.core.windows.net`. Useful for connecting to a local emulator, like Azurite.
59
+ blob_storage_scheme : str, default None
60
+ Either `http` or `https`. Defaults to `https`. Useful for connecting to a local
61
+ emulator, like Azurite.
62
+ dfs_storage_scheme : str, default None
63
+ Either `http` or `https`. Defaults to `https`. Useful for connecting to a local
64
+ emulator, like Azurite.
65
+
66
+ Examples
67
+ --------
68
+ >>> from pyarrow import fs
69
+ >>> azure_fs = fs.AzureFileSystem(account_name='myaccount')
70
+ >>> azurite_fs = fs.AzureFileSystem(
71
+ ... account_name='devstoreaccount1',
72
+ ... account_key='Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
73
+ ... blob_storage_authority='127.0.0.1:10000',
74
+ ... dfs_storage_authority='127.0.0.1:10000',
75
+ ... blob_storage_scheme='http',
76
+ ... dfs_storage_scheme='http',
77
+ ... )
78
+
79
+ For usage of the methods see examples for :func:`~pyarrow.fs.LocalFileSystem`.
80
+ """
81
+ cdef:
82
+ CAzureFileSystem* azurefs
83
+ c_string account_key
84
+
85
+ def __init__(self, account_name, *, account_key=None, blob_storage_authority=None,
86
+ dfs_storage_authority=None, blob_storage_scheme=None,
87
+ dfs_storage_scheme=None):
88
+ cdef:
89
+ CAzureOptions options
90
+ shared_ptr[CAzureFileSystem] wrapped
91
+
92
+ options.account_name = tobytes(account_name)
93
+ if blob_storage_authority:
94
+ options.blob_storage_authority = tobytes(blob_storage_authority)
95
+ if dfs_storage_authority:
96
+ options.dfs_storage_authority = tobytes(dfs_storage_authority)
97
+ if blob_storage_scheme:
98
+ options.blob_storage_scheme = tobytes(blob_storage_scheme)
99
+ if dfs_storage_scheme:
100
+ options.dfs_storage_scheme = tobytes(dfs_storage_scheme)
101
+
102
+ if account_key:
103
+ options.ConfigureAccountKeyCredential(tobytes(account_key))
104
+ self.account_key = tobytes(account_key)
105
+ else:
106
+ options.ConfigureDefaultCredential()
107
+
108
+ with nogil:
109
+ wrapped = GetResultValue(CAzureFileSystem.Make(options))
110
+
111
+ self.init(<shared_ptr[CFileSystem]> wrapped)
112
+
113
+ cdef init(self, const shared_ptr[CFileSystem]& wrapped):
114
+ FileSystem.init(self, wrapped)
115
+ self.azurefs = <CAzureFileSystem*> wrapped.get()
116
+
117
+ @staticmethod
118
+ @binding(True) # Required for cython < 3
119
+ def _reconstruct(kwargs):
120
+ # __reduce__ doesn't allow passing named arguments directly to the
121
+ # reconstructor, hence this wrapper.
122
+ return AzureFileSystem(**kwargs)
123
+
124
+ def __reduce__(self):
125
+ cdef CAzureOptions opts = self.azurefs.options()
126
+ return (
127
+ AzureFileSystem._reconstruct, (dict(
128
+ account_name=frombytes(opts.account_name),
129
+ account_key=frombytes(self.account_key),
130
+ blob_storage_authority=frombytes(opts.blob_storage_authority),
131
+ dfs_storage_authority=frombytes(opts.dfs_storage_authority),
132
+ blob_storage_scheme=frombytes(opts.blob_storage_scheme),
133
+ dfs_storage_scheme=frombytes(opts.dfs_storage_scheme)
134
+ ),))
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.cpython-312-x86_64-linux-gnu.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fbbe645ea6b09731d207cc08441fb7c2a7b4376d909d01e59abf736fcaf6fc0d
3
+ size 1367552
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.pxd ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ from pyarrow.lib cimport *
21
+ from pyarrow.includes.common cimport *
22
+ from pyarrow.includes.libarrow cimport *
23
+
24
+ cdef class UdfContext(_Weakrefable):
25
+ cdef:
26
+ CUdfContext c_context
27
+
28
+ cdef void init(self, const CUdfContext& c_context)
29
+
30
+
31
+ cdef class FunctionOptions(_Weakrefable):
32
+ cdef:
33
+ shared_ptr[CFunctionOptions] wrapped
34
+
35
+ cdef const CFunctionOptions* get_options(self) except NULL
36
+ cdef void init(self, const shared_ptr[CFunctionOptions]& sp)
37
+
38
+ cdef inline shared_ptr[CFunctionOptions] unwrap(self)
39
+
40
+
41
+ cdef class _SortOptions(FunctionOptions):
42
+ pass
43
+
44
+
45
+ cdef CExpression _bind(Expression filter, Schema schema) except *
46
+
47
+
48
+ cdef class Expression(_Weakrefable):
49
+
50
+ cdef:
51
+ CExpression expr
52
+
53
+ cdef void init(self, const CExpression& sp)
54
+
55
+ @staticmethod
56
+ cdef wrap(const CExpression& sp)
57
+
58
+ cdef inline CExpression unwrap(self)
59
+
60
+ @staticmethod
61
+ cdef Expression _expr_or_scalar(object expr)
62
+
63
+
64
+ cdef CExpression _true
65
+
66
+ cdef CFieldRef _ensure_field_ref(value) except *
67
+
68
+ cdef CSortOrder unwrap_sort_order(order) except *
69
+
70
+ cdef CNullPlacement unwrap_null_placement(null_placement) except *
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute.pyx ADDED
The diff for this file is too large to render. See raw diff
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_compute_docstrings.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ """
19
+ Custom documentation additions for compute functions.
20
+ """
21
+
22
+ function_doc_additions = {}
23
+
24
+ function_doc_additions["filter"] = """
25
+ Examples
26
+ --------
27
+ >>> import pyarrow as pa
28
+ >>> arr = pa.array(["a", "b", "c", None, "e"])
29
+ >>> mask = pa.array([True, False, None, False, True])
30
+ >>> arr.filter(mask)
31
+ <pyarrow.lib.StringArray object at ...>
32
+ [
33
+ "a",
34
+ "e"
35
+ ]
36
+ >>> arr.filter(mask, null_selection_behavior='emit_null')
37
+ <pyarrow.lib.StringArray object at ...>
38
+ [
39
+ "a",
40
+ null,
41
+ "e"
42
+ ]
43
+ """
44
+
45
+ function_doc_additions["mode"] = """
46
+ Examples
47
+ --------
48
+ >>> import pyarrow as pa
49
+ >>> import pyarrow.compute as pc
50
+ >>> arr = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
51
+ >>> modes = pc.mode(arr, 2)
52
+ >>> modes[0]
53
+ <pyarrow.StructScalar: [('mode', 2), ('count', 5)]>
54
+ >>> modes[1]
55
+ <pyarrow.StructScalar: [('mode', 1), ('count', 2)]>
56
+ """
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.cpython-312-x86_64-linux-gnu.so ADDED
Binary file (370 kB). View file
 
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.pxd ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ from pyarrow.includes.libarrow cimport *
21
+ from pyarrow.lib cimport _Weakrefable
22
+
23
+
24
+ cdef class ConvertOptions(_Weakrefable):
25
+ cdef:
26
+ unique_ptr[CCSVConvertOptions] options
27
+
28
+ @staticmethod
29
+ cdef ConvertOptions wrap(CCSVConvertOptions options)
30
+
31
+
32
+ cdef class ParseOptions(_Weakrefable):
33
+ cdef:
34
+ unique_ptr[CCSVParseOptions] options
35
+ object _invalid_row_handler
36
+
37
+ @staticmethod
38
+ cdef ParseOptions wrap(CCSVParseOptions options)
39
+
40
+
41
+ cdef class ReadOptions(_Weakrefable):
42
+ cdef:
43
+ unique_ptr[CCSVReadOptions] options
44
+ public object encoding
45
+
46
+ @staticmethod
47
+ cdef ReadOptions wrap(CCSVReadOptions options)
48
+
49
+
50
+ cdef class WriteOptions(_Weakrefable):
51
+ cdef:
52
+ unique_ptr[CCSVWriteOptions] options
53
+
54
+ @staticmethod
55
+ cdef WriteOptions wrap(CCSVWriteOptions options)
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_csv.pyx ADDED
@@ -0,0 +1,1542 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: profile=False
19
+ # distutils: language = c++
20
+ # cython: language_level = 3
21
+
22
+ from cython.operator cimport dereference as deref
23
+
24
+ from collections import namedtuple
25
+ from collections.abc import Mapping
26
+
27
+ from pyarrow.includes.common cimport *
28
+ from pyarrow.includes.libarrow cimport *
29
+ from pyarrow.includes.libarrow_python cimport *
30
+ from pyarrow.lib cimport (check_status, Field, MemoryPool, Schema,
31
+ RecordBatchReader, ensure_type,
32
+ maybe_unbox_memory_pool, get_input_stream,
33
+ get_writer, native_transcoding_input_stream,
34
+ pyarrow_unwrap_batch, pyarrow_unwrap_schema,
35
+ pyarrow_unwrap_table, pyarrow_wrap_schema,
36
+ pyarrow_wrap_table, pyarrow_wrap_data_type,
37
+ pyarrow_unwrap_data_type, Table, RecordBatch,
38
+ StopToken, _CRecordBatchWriter)
39
+ from pyarrow.lib import frombytes, tobytes, SignalStopHandler
40
+
41
+
42
+ cdef unsigned char _single_char(s) except 0:
43
+ val = ord(s)
44
+ if val == 0 or val > 127:
45
+ raise ValueError("Expecting an ASCII character")
46
+ return <unsigned char> val
47
+
48
+
49
+ _InvalidRow = namedtuple(
50
+ "_InvalidRow", ("expected_columns", "actual_columns", "number", "text"),
51
+ module=__name__)
52
+
53
+
54
+ class InvalidRow(_InvalidRow):
55
+ """
56
+ Description of an invalid row in a CSV file.
57
+
58
+ Parameters
59
+ ----------
60
+ expected_columns : int
61
+ The expected number of columns in the row.
62
+ actual_columns : int
63
+ The actual number of columns in the row.
64
+ number : int or None
65
+ The physical row number if known, otherwise None.
66
+ text : str
67
+ The contents of the row.
68
+ """
69
+ __slots__ = ()
70
+
71
+
72
+ cdef CInvalidRowResult _handle_invalid_row(
73
+ handler, const CCSVInvalidRow& c_row) except CInvalidRowResult_Error:
74
+ # A negative row number means undetermined (because of parallel reading)
75
+ row_number = c_row.number if c_row.number >= 0 else None
76
+ row = InvalidRow(c_row.expected_columns, c_row.actual_columns,
77
+ row_number, frombytes(<c_string> c_row.text))
78
+ result = handler(row)
79
+ if result == 'error':
80
+ return CInvalidRowResult_Error
81
+ elif result == 'skip':
82
+ return CInvalidRowResult_Skip
83
+ else:
84
+ raise ValueError("Invalid return value for invalid row handler: "
85
+ f"expected 'error' or 'skip', got {result!r}")
86
+
87
+
88
+ cdef class ReadOptions(_Weakrefable):
89
+ """
90
+ Options for reading CSV files.
91
+
92
+ Parameters
93
+ ----------
94
+ use_threads : bool, optional (default True)
95
+ Whether to use multiple threads to accelerate reading
96
+ block_size : int, optional
97
+ How much bytes to process at a time from the input stream.
98
+ This will determine multi-threading granularity as well as
99
+ the size of individual record batches or table chunks.
100
+ Minimum valid value for block size is 1
101
+ skip_rows : int, optional (default 0)
102
+ The number of rows to skip before the column names (if any)
103
+ and the CSV data.
104
+ skip_rows_after_names : int, optional (default 0)
105
+ The number of rows to skip after the column names.
106
+ This number can be larger than the number of rows in one
107
+ block, and empty rows are counted.
108
+ The order of application is as follows:
109
+ - `skip_rows` is applied (if non-zero);
110
+ - column names are read (unless `column_names` is set);
111
+ - `skip_rows_after_names` is applied (if non-zero).
112
+ column_names : list, optional
113
+ The column names of the target table. If empty, fall back on
114
+ `autogenerate_column_names`.
115
+ autogenerate_column_names : bool, optional (default False)
116
+ Whether to autogenerate column names if `column_names` is empty.
117
+ If true, column names will be of the form "f0", "f1"...
118
+ If false, column names will be read from the first CSV row
119
+ after `skip_rows`.
120
+ encoding : str, optional (default 'utf8')
121
+ The character encoding of the CSV data. Columns that cannot
122
+ decode using this encoding can still be read as Binary.
123
+
124
+ Examples
125
+ --------
126
+
127
+ Defining an example data:
128
+
129
+ >>> import io
130
+ >>> s = "1,2,3\\nFlamingo,2,2022-03-01\\nHorse,4,2022-03-02\\nBrittle stars,5,2022-03-03\\nCentipede,100,2022-03-04"
131
+ >>> print(s)
132
+ 1,2,3
133
+ Flamingo,2,2022-03-01
134
+ Horse,4,2022-03-02
135
+ Brittle stars,5,2022-03-03
136
+ Centipede,100,2022-03-04
137
+
138
+ Ignore the first numbered row and substitute it with defined
139
+ or autogenerated column names:
140
+
141
+ >>> from pyarrow import csv
142
+ >>> read_options = csv.ReadOptions(
143
+ ... column_names=["animals", "n_legs", "entry"],
144
+ ... skip_rows=1)
145
+ >>> csv.read_csv(io.BytesIO(s.encode()), read_options=read_options)
146
+ pyarrow.Table
147
+ animals: string
148
+ n_legs: int64
149
+ entry: date32[day]
150
+ ----
151
+ animals: [["Flamingo","Horse","Brittle stars","Centipede"]]
152
+ n_legs: [[2,4,5,100]]
153
+ entry: [[2022-03-01,2022-03-02,2022-03-03,2022-03-04]]
154
+
155
+ >>> read_options = csv.ReadOptions(autogenerate_column_names=True,
156
+ ... skip_rows=1)
157
+ >>> csv.read_csv(io.BytesIO(s.encode()), read_options=read_options)
158
+ pyarrow.Table
159
+ f0: string
160
+ f1: int64
161
+ f2: date32[day]
162
+ ----
163
+ f0: [["Flamingo","Horse","Brittle stars","Centipede"]]
164
+ f1: [[2,4,5,100]]
165
+ f2: [[2022-03-01,2022-03-02,2022-03-03,2022-03-04]]
166
+
167
+ Remove the first 2 rows of the data:
168
+
169
+ >>> read_options = csv.ReadOptions(skip_rows_after_names=2)
170
+ >>> csv.read_csv(io.BytesIO(s.encode()), read_options=read_options)
171
+ pyarrow.Table
172
+ 1: string
173
+ 2: int64
174
+ 3: date32[day]
175
+ ----
176
+ 1: [["Brittle stars","Centipede"]]
177
+ 2: [[5,100]]
178
+ 3: [[2022-03-03,2022-03-04]]
179
+ """
180
+
181
+ # Avoid mistakingly creating attributes
182
+ __slots__ = ()
183
+
184
+ # __init__() is not called when unpickling, initialize storage here
185
+ def __cinit__(self, *argw, **kwargs):
186
+ self.options.reset(new CCSVReadOptions(CCSVReadOptions.Defaults()))
187
+
188
+ def __init__(self, *, use_threads=None, block_size=None, skip_rows=None,
189
+ skip_rows_after_names=None, column_names=None,
190
+ autogenerate_column_names=None, encoding='utf8'):
191
+ if use_threads is not None:
192
+ self.use_threads = use_threads
193
+ if block_size is not None:
194
+ self.block_size = block_size
195
+ if skip_rows is not None:
196
+ self.skip_rows = skip_rows
197
+ if skip_rows_after_names is not None:
198
+ self.skip_rows_after_names = skip_rows_after_names
199
+ if column_names is not None:
200
+ self.column_names = column_names
201
+ if autogenerate_column_names is not None:
202
+ self.autogenerate_column_names= autogenerate_column_names
203
+ # Python-specific option
204
+ self.encoding = encoding
205
+
206
+ @property
207
+ def use_threads(self):
208
+ """
209
+ Whether to use multiple threads to accelerate reading.
210
+ """
211
+ return deref(self.options).use_threads
212
+
213
+ @use_threads.setter
214
+ def use_threads(self, value):
215
+ deref(self.options).use_threads = value
216
+
217
+ @property
218
+ def block_size(self):
219
+ """
220
+ How much bytes to process at a time from the input stream.
221
+ This will determine multi-threading granularity as well as
222
+ the size of individual record batches or table chunks.
223
+ """
224
+ return deref(self.options).block_size
225
+
226
+ @block_size.setter
227
+ def block_size(self, value):
228
+ deref(self.options).block_size = value
229
+
230
+ @property
231
+ def skip_rows(self):
232
+ """
233
+ The number of rows to skip before the column names (if any)
234
+ and the CSV data.
235
+ See `skip_rows_after_names` for interaction description
236
+ """
237
+ return deref(self.options).skip_rows
238
+
239
+ @skip_rows.setter
240
+ def skip_rows(self, value):
241
+ deref(self.options).skip_rows = value
242
+
243
+ @property
244
+ def skip_rows_after_names(self):
245
+ """
246
+ The number of rows to skip after the column names.
247
+ This number can be larger than the number of rows in one
248
+ block, and empty rows are counted.
249
+ The order of application is as follows:
250
+ - `skip_rows` is applied (if non-zero);
251
+ - column names are read (unless `column_names` is set);
252
+ - `skip_rows_after_names` is applied (if non-zero).
253
+ """
254
+ return deref(self.options).skip_rows_after_names
255
+
256
+ @skip_rows_after_names.setter
257
+ def skip_rows_after_names(self, value):
258
+ deref(self.options).skip_rows_after_names = value
259
+
260
+ @property
261
+ def column_names(self):
262
+ """
263
+ The column names of the target table. If empty, fall back on
264
+ `autogenerate_column_names`.
265
+ """
266
+ return [frombytes(s) for s in deref(self.options).column_names]
267
+
268
+ @column_names.setter
269
+ def column_names(self, value):
270
+ deref(self.options).column_names.clear()
271
+ for item in value:
272
+ deref(self.options).column_names.push_back(tobytes(item))
273
+
274
+ @property
275
+ def autogenerate_column_names(self):
276
+ """
277
+ Whether to autogenerate column names if `column_names` is empty.
278
+ If true, column names will be of the form "f0", "f1"...
279
+ If false, column names will be read from the first CSV row
280
+ after `skip_rows`.
281
+ """
282
+ return deref(self.options).autogenerate_column_names
283
+
284
+ @autogenerate_column_names.setter
285
+ def autogenerate_column_names(self, value):
286
+ deref(self.options).autogenerate_column_names = value
287
+
288
+ def validate(self):
289
+ check_status(deref(self.options).Validate())
290
+
291
+ def equals(self, ReadOptions other):
292
+ """
293
+ Parameters
294
+ ----------
295
+ other : pyarrow.csv.ReadOptions
296
+
297
+ Returns
298
+ -------
299
+ bool
300
+ """
301
+ return (
302
+ self.use_threads == other.use_threads and
303
+ self.block_size == other.block_size and
304
+ self.skip_rows == other.skip_rows and
305
+ self.skip_rows_after_names == other.skip_rows_after_names and
306
+ self.column_names == other.column_names and
307
+ self.autogenerate_column_names ==
308
+ other.autogenerate_column_names and
309
+ self.encoding == other.encoding
310
+ )
311
+
312
+ @staticmethod
313
+ cdef ReadOptions wrap(CCSVReadOptions options):
314
+ out = ReadOptions()
315
+ out.options.reset(new CCSVReadOptions(move(options)))
316
+ out.encoding = 'utf8' # No way to know this
317
+ return out
318
+
319
+ def __getstate__(self):
320
+ return (self.use_threads, self.block_size, self.skip_rows,
321
+ self.column_names, self.autogenerate_column_names,
322
+ self.encoding, self.skip_rows_after_names)
323
+
324
+ def __setstate__(self, state):
325
+ (self.use_threads, self.block_size, self.skip_rows,
326
+ self.column_names, self.autogenerate_column_names,
327
+ self.encoding, self.skip_rows_after_names) = state
328
+
329
+ def __eq__(self, other):
330
+ try:
331
+ return self.equals(other)
332
+ except TypeError:
333
+ return False
334
+
335
+
336
+ cdef class ParseOptions(_Weakrefable):
337
+ """
338
+ Options for parsing CSV files.
339
+
340
+ Parameters
341
+ ----------
342
+ delimiter : 1-character string, optional (default ',')
343
+ The character delimiting individual cells in the CSV data.
344
+ quote_char : 1-character string or False, optional (default '"')
345
+ The character used optionally for quoting CSV values
346
+ (False if quoting is not allowed).
347
+ double_quote : bool, optional (default True)
348
+ Whether two quotes in a quoted CSV value denote a single quote
349
+ in the data.
350
+ escape_char : 1-character string or False, optional (default False)
351
+ The character used optionally for escaping special characters
352
+ (False if escaping is not allowed).
353
+ newlines_in_values : bool, optional (default False)
354
+ Whether newline characters are allowed in CSV values.
355
+ Setting this to True reduces the performance of multi-threaded
356
+ CSV reading.
357
+ ignore_empty_lines : bool, optional (default True)
358
+ Whether empty lines are ignored in CSV input.
359
+ If False, an empty line is interpreted as containing a single empty
360
+ value (assuming a one-column CSV file).
361
+ invalid_row_handler : callable, optional (default None)
362
+ If not None, this object is called for each CSV row that fails
363
+ parsing (because of a mismatching number of columns).
364
+ It should accept a single InvalidRow argument and return either
365
+ "skip" or "error" depending on the desired outcome.
366
+
367
+ Examples
368
+ --------
369
+
370
+ Defining an example file from bytes object:
371
+
372
+ >>> import io
373
+ >>> s = (
374
+ ... "animals;n_legs;entry\\n"
375
+ ... "Flamingo;2;2022-03-01\\n"
376
+ ... "# Comment here:\\n"
377
+ ... "Horse;4;2022-03-02\\n"
378
+ ... "Brittle stars;5;2022-03-03\\n"
379
+ ... "Centipede;100;2022-03-04"
380
+ ... )
381
+ >>> print(s)
382
+ animals;n_legs;entry
383
+ Flamingo;2;2022-03-01
384
+ # Comment here:
385
+ Horse;4;2022-03-02
386
+ Brittle stars;5;2022-03-03
387
+ Centipede;100;2022-03-04
388
+ >>> source = io.BytesIO(s.encode())
389
+
390
+ Read the data from a file skipping rows with comments
391
+ and defining the delimiter:
392
+
393
+ >>> from pyarrow import csv
394
+ >>> def skip_comment(row):
395
+ ... if row.text.startswith("# "):
396
+ ... return 'skip'
397
+ ... else:
398
+ ... return 'error'
399
+ ...
400
+ >>> parse_options = csv.ParseOptions(delimiter=";", invalid_row_handler=skip_comment)
401
+ >>> csv.read_csv(source, parse_options=parse_options)
402
+ pyarrow.Table
403
+ animals: string
404
+ n_legs: int64
405
+ entry: date32[day]
406
+ ----
407
+ animals: [["Flamingo","Horse","Brittle stars","Centipede"]]
408
+ n_legs: [[2,4,5,100]]
409
+ entry: [[2022-03-01,2022-03-02,2022-03-03,2022-03-04]]
410
+ """
411
+ __slots__ = ()
412
+
413
+ def __cinit__(self, *argw, **kwargs):
414
+ self._invalid_row_handler = None
415
+ self.options.reset(new CCSVParseOptions(CCSVParseOptions.Defaults()))
416
+
417
+ def __init__(self, *, delimiter=None, quote_char=None, double_quote=None,
418
+ escape_char=None, newlines_in_values=None,
419
+ ignore_empty_lines=None, invalid_row_handler=None):
420
+ if delimiter is not None:
421
+ self.delimiter = delimiter
422
+ if quote_char is not None:
423
+ self.quote_char = quote_char
424
+ if double_quote is not None:
425
+ self.double_quote = double_quote
426
+ if escape_char is not None:
427
+ self.escape_char = escape_char
428
+ if newlines_in_values is not None:
429
+ self.newlines_in_values = newlines_in_values
430
+ if ignore_empty_lines is not None:
431
+ self.ignore_empty_lines = ignore_empty_lines
432
+ if invalid_row_handler is not None:
433
+ self.invalid_row_handler = invalid_row_handler
434
+
435
+ @property
436
+ def delimiter(self):
437
+ """
438
+ The character delimiting individual cells in the CSV data.
439
+ """
440
+ return chr(deref(self.options).delimiter)
441
+
442
+ @delimiter.setter
443
+ def delimiter(self, value):
444
+ deref(self.options).delimiter = _single_char(value)
445
+
446
+ @property
447
+ def quote_char(self):
448
+ """
449
+ The character used optionally for quoting CSV values
450
+ (False if quoting is not allowed).
451
+ """
452
+ if deref(self.options).quoting:
453
+ return chr(deref(self.options).quote_char)
454
+ else:
455
+ return False
456
+
457
+ @quote_char.setter
458
+ def quote_char(self, value):
459
+ if value is False:
460
+ deref(self.options).quoting = False
461
+ else:
462
+ deref(self.options).quote_char = _single_char(value)
463
+ deref(self.options).quoting = True
464
+
465
+ @property
466
+ def double_quote(self):
467
+ """
468
+ Whether two quotes in a quoted CSV value denote a single quote
469
+ in the data.
470
+ """
471
+ return deref(self.options).double_quote
472
+
473
+ @double_quote.setter
474
+ def double_quote(self, value):
475
+ deref(self.options).double_quote = value
476
+
477
+ @property
478
+ def escape_char(self):
479
+ """
480
+ The character used optionally for escaping special characters
481
+ (False if escaping is not allowed).
482
+ """
483
+ if deref(self.options).escaping:
484
+ return chr(deref(self.options).escape_char)
485
+ else:
486
+ return False
487
+
488
+ @escape_char.setter
489
+ def escape_char(self, value):
490
+ if value is False:
491
+ deref(self.options).escaping = False
492
+ else:
493
+ deref(self.options).escape_char = _single_char(value)
494
+ deref(self.options).escaping = True
495
+
496
+ @property
497
+ def newlines_in_values(self):
498
+ """
499
+ Whether newline characters are allowed in CSV values.
500
+ Setting this to True reduces the performance of multi-threaded
501
+ CSV reading.
502
+ """
503
+ return deref(self.options).newlines_in_values
504
+
505
+ @newlines_in_values.setter
506
+ def newlines_in_values(self, value):
507
+ deref(self.options).newlines_in_values = value
508
+
509
+ @property
510
+ def ignore_empty_lines(self):
511
+ """
512
+ Whether empty lines are ignored in CSV input.
513
+ If False, an empty line is interpreted as containing a single empty
514
+ value (assuming a one-column CSV file).
515
+ """
516
+ return deref(self.options).ignore_empty_lines
517
+
518
+ @property
519
+ def invalid_row_handler(self):
520
+ """
521
+ Optional handler for invalid rows.
522
+
523
+ If not None, this object is called for each CSV row that fails
524
+ parsing (because of a mismatching number of columns).
525
+ It should accept a single InvalidRow argument and return either
526
+ "skip" or "error" depending on the desired outcome.
527
+ """
528
+ return self._invalid_row_handler
529
+
530
+ @invalid_row_handler.setter
531
+ def invalid_row_handler(self, value):
532
+ if value is not None and not callable(value):
533
+ raise TypeError("Expected callable or None, "
534
+ f"got instance of {type(value)!r}")
535
+ self._invalid_row_handler = value
536
+ deref(self.options).invalid_row_handler = MakeInvalidRowHandler(
537
+ <function[PyInvalidRowCallback]> &_handle_invalid_row, value)
538
+
539
+ @ignore_empty_lines.setter
540
+ def ignore_empty_lines(self, value):
541
+ deref(self.options).ignore_empty_lines = value
542
+
543
+ def validate(self):
544
+ check_status(deref(self.options).Validate())
545
+
546
+ def equals(self, ParseOptions other):
547
+ """
548
+ Parameters
549
+ ----------
550
+ other : pyarrow.csv.ParseOptions
551
+
552
+ Returns
553
+ -------
554
+ bool
555
+ """
556
+ return (
557
+ self.delimiter == other.delimiter and
558
+ self.quote_char == other.quote_char and
559
+ self.double_quote == other.double_quote and
560
+ self.escape_char == other.escape_char and
561
+ self.newlines_in_values == other.newlines_in_values and
562
+ self.ignore_empty_lines == other.ignore_empty_lines and
563
+ self._invalid_row_handler == other._invalid_row_handler
564
+ )
565
+
566
+ @staticmethod
567
+ cdef ParseOptions wrap(CCSVParseOptions options):
568
+ out = ParseOptions()
569
+ out.options.reset(new CCSVParseOptions(move(options)))
570
+ return out
571
+
572
+ def __getstate__(self):
573
+ return (self.delimiter, self.quote_char, self.double_quote,
574
+ self.escape_char, self.newlines_in_values,
575
+ self.ignore_empty_lines, self.invalid_row_handler)
576
+
577
+ def __setstate__(self, state):
578
+ (self.delimiter, self.quote_char, self.double_quote,
579
+ self.escape_char, self.newlines_in_values,
580
+ self.ignore_empty_lines, self.invalid_row_handler) = state
581
+
582
+ def __eq__(self, other):
583
+ try:
584
+ return self.equals(other)
585
+ except TypeError:
586
+ return False
587
+
588
+
589
+ cdef class _ISO8601(_Weakrefable):
590
+ """
591
+ A special object indicating ISO-8601 parsing.
592
+ """
593
+ __slots__ = ()
594
+
595
+ def __str__(self):
596
+ return 'ISO8601'
597
+
598
+ def __eq__(self, other):
599
+ return isinstance(other, _ISO8601)
600
+
601
+
602
+ ISO8601 = _ISO8601()
603
+
604
+
605
+ cdef class ConvertOptions(_Weakrefable):
606
+ """
607
+ Options for converting CSV data.
608
+
609
+ Parameters
610
+ ----------
611
+ check_utf8 : bool, optional (default True)
612
+ Whether to check UTF8 validity of string columns.
613
+ column_types : pyarrow.Schema or dict, optional
614
+ Explicitly map column names to column types. Passing this argument
615
+ disables type inference on the defined columns.
616
+ null_values : list, optional
617
+ A sequence of strings that denote nulls in the data
618
+ (defaults are appropriate in most cases). Note that by default,
619
+ string columns are not checked for null values. To enable
620
+ null checking for those, specify ``strings_can_be_null=True``.
621
+ true_values : list, optional
622
+ A sequence of strings that denote true booleans in the data
623
+ (defaults are appropriate in most cases).
624
+ false_values : list, optional
625
+ A sequence of strings that denote false booleans in the data
626
+ (defaults are appropriate in most cases).
627
+ decimal_point : 1-character string, optional (default '.')
628
+ The character used as decimal point in floating-point and decimal
629
+ data.
630
+ strings_can_be_null : bool, optional (default False)
631
+ Whether string / binary columns can have null values.
632
+ If true, then strings in null_values are considered null for
633
+ string columns.
634
+ If false, then all strings are valid string values.
635
+ quoted_strings_can_be_null : bool, optional (default True)
636
+ Whether quoted values can be null.
637
+ If true, then strings in "null_values" are also considered null
638
+ when they appear quoted in the CSV file. Otherwise, quoted values
639
+ are never considered null.
640
+ include_columns : list, optional
641
+ The names of columns to include in the Table.
642
+ If empty, the Table will include all columns from the CSV file.
643
+ If not empty, only these columns will be included, in this order.
644
+ include_missing_columns : bool, optional (default False)
645
+ If false, columns in `include_columns` but not in the CSV file will
646
+ error out.
647
+ If true, columns in `include_columns` but not in the CSV file will
648
+ produce a column of nulls (whose type is selected using
649
+ `column_types`, or null by default).
650
+ This option is ignored if `include_columns` is empty.
651
+ auto_dict_encode : bool, optional (default False)
652
+ Whether to try to automatically dict-encode string / binary data.
653
+ If true, then when type inference detects a string or binary column,
654
+ it it dict-encoded up to `auto_dict_max_cardinality` distinct values
655
+ (per chunk), after which it switches to regular encoding.
656
+ This setting is ignored for non-inferred columns (those in
657
+ `column_types`).
658
+ auto_dict_max_cardinality : int, optional
659
+ The maximum dictionary cardinality for `auto_dict_encode`.
660
+ This value is per chunk.
661
+ timestamp_parsers : list, optional
662
+ A sequence of strptime()-compatible format strings, tried in order
663
+ when attempting to infer or convert timestamp values (the special
664
+ value ISO8601() can also be given). By default, a fast built-in
665
+ ISO-8601 parser is used.
666
+
667
+ Examples
668
+ --------
669
+
670
+ Defining an example data:
671
+
672
+ >>> import io
673
+ >>> s = (
674
+ ... "animals,n_legs,entry,fast\\n"
675
+ ... "Flamingo,2,01/03/2022,Yes\\n"
676
+ ... "Horse,4,02/03/2022,Yes\\n"
677
+ ... "Brittle stars,5,03/03/2022,No\\n"
678
+ ... "Centipede,100,04/03/2022,No\\n"
679
+ ... ",6,05/03/2022,"
680
+ ... )
681
+ >>> print(s)
682
+ animals,n_legs,entry,fast
683
+ Flamingo,2,01/03/2022,Yes
684
+ Horse,4,02/03/2022,Yes
685
+ Brittle stars,5,03/03/2022,No
686
+ Centipede,100,04/03/2022,No
687
+ ,6,05/03/2022,
688
+
689
+ Change the type of a column:
690
+
691
+ >>> import pyarrow as pa
692
+ >>> from pyarrow import csv
693
+ >>> convert_options = csv.ConvertOptions(column_types={"n_legs": pa.float64()})
694
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
695
+ pyarrow.Table
696
+ animals: string
697
+ n_legs: double
698
+ entry: string
699
+ fast: string
700
+ ----
701
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",""]]
702
+ n_legs: [[2,4,5,100,6]]
703
+ entry: [["01/03/2022","02/03/2022","03/03/2022","04/03/2022","05/03/2022"]]
704
+ fast: [["Yes","Yes","No","No",""]]
705
+
706
+ Define a date parsing format to get a timestamp type column
707
+ (in case dates are not in ISO format and not converted by default):
708
+
709
+ >>> convert_options = csv.ConvertOptions(
710
+ ... timestamp_parsers=["%m/%d/%Y", "%m-%d-%Y"])
711
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
712
+ pyarrow.Table
713
+ animals: string
714
+ n_legs: int64
715
+ entry: timestamp[s]
716
+ fast: string
717
+ ----
718
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",""]]
719
+ n_legs: [[2,4,5,100,6]]
720
+ entry: [[2022-01-03 00:00:00,2022-02-03 00:00:00,2022-03-03 00:00:00,2022-04-03 00:00:00,2022-05-03 00:00:00]]
721
+ fast: [["Yes","Yes","No","No",""]]
722
+
723
+ Specify a subset of columns to be read:
724
+
725
+ >>> convert_options = csv.ConvertOptions(
726
+ ... include_columns=["animals", "n_legs"])
727
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
728
+ pyarrow.Table
729
+ animals: string
730
+ n_legs: int64
731
+ ----
732
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",""]]
733
+ n_legs: [[2,4,5,100,6]]
734
+
735
+ List additional column to be included as a null typed column:
736
+
737
+ >>> convert_options = csv.ConvertOptions(
738
+ ... include_columns=["animals", "n_legs", "location"],
739
+ ... include_missing_columns=True)
740
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
741
+ pyarrow.Table
742
+ animals: string
743
+ n_legs: int64
744
+ location: null
745
+ ----
746
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",""]]
747
+ n_legs: [[2,4,5,100,6]]
748
+ location: [5 nulls]
749
+
750
+ Define columns as dictionary type (by default only the
751
+ string/binary columns are dictionary encoded):
752
+
753
+ >>> convert_options = csv.ConvertOptions(
754
+ ... timestamp_parsers=["%m/%d/%Y", "%m-%d-%Y"],
755
+ ... auto_dict_encode=True)
756
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
757
+ pyarrow.Table
758
+ animals: dictionary<values=string, indices=int32, ordered=0>
759
+ n_legs: int64
760
+ entry: timestamp[s]
761
+ fast: dictionary<values=string, indices=int32, ordered=0>
762
+ ----
763
+ animals: [ -- dictionary:
764
+ ["Flamingo","Horse","Brittle stars","Centipede",""] -- indices:
765
+ [0,1,2,3,4]]
766
+ n_legs: [[2,4,5,100,6]]
767
+ entry: [[2022-01-03 00:00:00,2022-02-03 00:00:00,2022-03-03 00:00:00,2022-04-03 00:00:00,2022-05-03 00:00:00]]
768
+ fast: [ -- dictionary:
769
+ ["Yes","No",""] -- indices:
770
+ [0,0,1,1,2]]
771
+
772
+ Set upper limit for the number of categories. If the categories
773
+ is more than the limit, the conversion to dictionary will not
774
+ happen:
775
+
776
+ >>> convert_options = csv.ConvertOptions(
777
+ ... include_columns=["animals"],
778
+ ... auto_dict_encode=True,
779
+ ... auto_dict_max_cardinality=2)
780
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
781
+ pyarrow.Table
782
+ animals: string
783
+ ----
784
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",""]]
785
+
786
+ Set empty strings to missing values:
787
+
788
+ >>> convert_options = csv.ConvertOptions(include_columns=["animals", "n_legs"],
789
+ ... strings_can_be_null=True)
790
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
791
+ pyarrow.Table
792
+ animals: string
793
+ n_legs: int64
794
+ ----
795
+ animals: [["Flamingo","Horse","Brittle stars","Centipede",null]]
796
+ n_legs: [[2,4,5,100,6]]
797
+
798
+ Define values to be True and False when converting a column
799
+ into a bool type:
800
+
801
+ >>> convert_options = csv.ConvertOptions(
802
+ ... include_columns=["fast"],
803
+ ... false_values=["No"],
804
+ ... true_values=["Yes"])
805
+ >>> csv.read_csv(io.BytesIO(s.encode()), convert_options=convert_options)
806
+ pyarrow.Table
807
+ fast: bool
808
+ ----
809
+ fast: [[true,true,false,false,null]]
810
+ """
811
+
812
+ # Avoid mistakingly creating attributes
813
+ __slots__ = ()
814
+
815
+ def __cinit__(self, *argw, **kwargs):
816
+ self.options.reset(
817
+ new CCSVConvertOptions(CCSVConvertOptions.Defaults()))
818
+
819
+ def __init__(self, *, check_utf8=None, column_types=None, null_values=None,
820
+ true_values=None, false_values=None, decimal_point=None,
821
+ strings_can_be_null=None, quoted_strings_can_be_null=None,
822
+ include_columns=None, include_missing_columns=None,
823
+ auto_dict_encode=None, auto_dict_max_cardinality=None,
824
+ timestamp_parsers=None):
825
+ if check_utf8 is not None:
826
+ self.check_utf8 = check_utf8
827
+ if column_types is not None:
828
+ self.column_types = column_types
829
+ if null_values is not None:
830
+ self.null_values = null_values
831
+ if true_values is not None:
832
+ self.true_values = true_values
833
+ if false_values is not None:
834
+ self.false_values = false_values
835
+ if decimal_point is not None:
836
+ self.decimal_point = decimal_point
837
+ if strings_can_be_null is not None:
838
+ self.strings_can_be_null = strings_can_be_null
839
+ if quoted_strings_can_be_null is not None:
840
+ self.quoted_strings_can_be_null = quoted_strings_can_be_null
841
+ if include_columns is not None:
842
+ self.include_columns = include_columns
843
+ if include_missing_columns is not None:
844
+ self.include_missing_columns = include_missing_columns
845
+ if auto_dict_encode is not None:
846
+ self.auto_dict_encode = auto_dict_encode
847
+ if auto_dict_max_cardinality is not None:
848
+ self.auto_dict_max_cardinality = auto_dict_max_cardinality
849
+ if timestamp_parsers is not None:
850
+ self.timestamp_parsers = timestamp_parsers
851
+
852
+ @property
853
+ def check_utf8(self):
854
+ """
855
+ Whether to check UTF8 validity of string columns.
856
+ """
857
+ return deref(self.options).check_utf8
858
+
859
+ @check_utf8.setter
860
+ def check_utf8(self, value):
861
+ deref(self.options).check_utf8 = value
862
+
863
+ @property
864
+ def strings_can_be_null(self):
865
+ """
866
+ Whether string / binary columns can have null values.
867
+ """
868
+ return deref(self.options).strings_can_be_null
869
+
870
+ @strings_can_be_null.setter
871
+ def strings_can_be_null(self, value):
872
+ deref(self.options).strings_can_be_null = value
873
+
874
+ @property
875
+ def quoted_strings_can_be_null(self):
876
+ """
877
+ Whether quoted values can be null.
878
+ """
879
+ return deref(self.options).quoted_strings_can_be_null
880
+
881
+ @quoted_strings_can_be_null.setter
882
+ def quoted_strings_can_be_null(self, value):
883
+ deref(self.options).quoted_strings_can_be_null = value
884
+
885
+ @property
886
+ def column_types(self):
887
+ """
888
+ Explicitly map column names to column types.
889
+ """
890
+ d = {frombytes(item.first): pyarrow_wrap_data_type(item.second)
891
+ for item in deref(self.options).column_types}
892
+ return d
893
+
894
+ @column_types.setter
895
+ def column_types(self, value):
896
+ cdef:
897
+ shared_ptr[CDataType] typ
898
+
899
+ if isinstance(value, Mapping):
900
+ value = value.items()
901
+
902
+ deref(self.options).column_types.clear()
903
+ for item in value:
904
+ if isinstance(item, Field):
905
+ k = item.name
906
+ v = item.type
907
+ else:
908
+ k, v = item
909
+ typ = pyarrow_unwrap_data_type(ensure_type(v))
910
+ assert typ != NULL
911
+ deref(self.options).column_types[tobytes(k)] = typ
912
+
913
+ @property
914
+ def null_values(self):
915
+ """
916
+ A sequence of strings that denote nulls in the data.
917
+ """
918
+ return [frombytes(x) for x in deref(self.options).null_values]
919
+
920
+ @null_values.setter
921
+ def null_values(self, value):
922
+ deref(self.options).null_values = [tobytes(x) for x in value]
923
+
924
+ @property
925
+ def true_values(self):
926
+ """
927
+ A sequence of strings that denote true booleans in the data.
928
+ """
929
+ return [frombytes(x) for x in deref(self.options).true_values]
930
+
931
+ @true_values.setter
932
+ def true_values(self, value):
933
+ deref(self.options).true_values = [tobytes(x) for x in value]
934
+
935
+ @property
936
+ def false_values(self):
937
+ """
938
+ A sequence of strings that denote false booleans in the data.
939
+ """
940
+ return [frombytes(x) for x in deref(self.options).false_values]
941
+
942
+ @false_values.setter
943
+ def false_values(self, value):
944
+ deref(self.options).false_values = [tobytes(x) for x in value]
945
+
946
+ @property
947
+ def decimal_point(self):
948
+ """
949
+ The character used as decimal point in floating-point and decimal
950
+ data.
951
+ """
952
+ return chr(deref(self.options).decimal_point)
953
+
954
+ @decimal_point.setter
955
+ def decimal_point(self, value):
956
+ deref(self.options).decimal_point = _single_char(value)
957
+
958
+ @property
959
+ def auto_dict_encode(self):
960
+ """
961
+ Whether to try to automatically dict-encode string / binary data.
962
+ """
963
+ return deref(self.options).auto_dict_encode
964
+
965
+ @auto_dict_encode.setter
966
+ def auto_dict_encode(self, value):
967
+ deref(self.options).auto_dict_encode = value
968
+
969
+ @property
970
+ def auto_dict_max_cardinality(self):
971
+ """
972
+ The maximum dictionary cardinality for `auto_dict_encode`.
973
+
974
+ This value is per chunk.
975
+ """
976
+ return deref(self.options).auto_dict_max_cardinality
977
+
978
+ @auto_dict_max_cardinality.setter
979
+ def auto_dict_max_cardinality(self, value):
980
+ deref(self.options).auto_dict_max_cardinality = value
981
+
982
+ @property
983
+ def include_columns(self):
984
+ """
985
+ The names of columns to include in the Table.
986
+
987
+ If empty, the Table will include all columns from the CSV file.
988
+ If not empty, only these columns will be included, in this order.
989
+ """
990
+ return [frombytes(s) for s in deref(self.options).include_columns]
991
+
992
+ @include_columns.setter
993
+ def include_columns(self, value):
994
+ deref(self.options).include_columns.clear()
995
+ for item in value:
996
+ deref(self.options).include_columns.push_back(tobytes(item))
997
+
998
+ @property
999
+ def include_missing_columns(self):
1000
+ """
1001
+ If false, columns in `include_columns` but not in the CSV file will
1002
+ error out.
1003
+ If true, columns in `include_columns` but not in the CSV file will
1004
+ produce a null column (whose type is selected using `column_types`,
1005
+ or null by default).
1006
+ This option is ignored if `include_columns` is empty.
1007
+ """
1008
+ return deref(self.options).include_missing_columns
1009
+
1010
+ @include_missing_columns.setter
1011
+ def include_missing_columns(self, value):
1012
+ deref(self.options).include_missing_columns = value
1013
+
1014
+ @property
1015
+ def timestamp_parsers(self):
1016
+ """
1017
+ A sequence of strptime()-compatible format strings, tried in order
1018
+ when attempting to infer or convert timestamp values (the special
1019
+ value ISO8601() can also be given). By default, a fast built-in
1020
+ ISO-8601 parser is used.
1021
+ """
1022
+ cdef:
1023
+ shared_ptr[CTimestampParser] c_parser
1024
+ c_string kind
1025
+
1026
+ parsers = []
1027
+ for c_parser in deref(self.options).timestamp_parsers:
1028
+ kind = deref(c_parser).kind()
1029
+ if kind == b'strptime':
1030
+ parsers.append(frombytes(deref(c_parser).format()))
1031
+ else:
1032
+ assert kind == b'iso8601'
1033
+ parsers.append(ISO8601)
1034
+
1035
+ return parsers
1036
+
1037
+ @timestamp_parsers.setter
1038
+ def timestamp_parsers(self, value):
1039
+ cdef:
1040
+ vector[shared_ptr[CTimestampParser]] c_parsers
1041
+
1042
+ for v in value:
1043
+ if isinstance(v, str):
1044
+ c_parsers.push_back(CTimestampParser.MakeStrptime(tobytes(v)))
1045
+ elif v == ISO8601:
1046
+ c_parsers.push_back(CTimestampParser.MakeISO8601())
1047
+ else:
1048
+ raise TypeError("Expected list of str or ISO8601 objects")
1049
+
1050
+ deref(self.options).timestamp_parsers = move(c_parsers)
1051
+
1052
+ @staticmethod
1053
+ cdef ConvertOptions wrap(CCSVConvertOptions options):
1054
+ out = ConvertOptions()
1055
+ out.options.reset(new CCSVConvertOptions(move(options)))
1056
+ return out
1057
+
1058
+ def validate(self):
1059
+ check_status(deref(self.options).Validate())
1060
+
1061
+ def equals(self, ConvertOptions other):
1062
+ """
1063
+ Parameters
1064
+ ----------
1065
+ other : pyarrow.csv.ConvertOptions
1066
+
1067
+ Returns
1068
+ -------
1069
+ bool
1070
+ """
1071
+ return (
1072
+ self.check_utf8 == other.check_utf8 and
1073
+ self.column_types == other.column_types and
1074
+ self.null_values == other.null_values and
1075
+ self.true_values == other.true_values and
1076
+ self.false_values == other.false_values and
1077
+ self.decimal_point == other.decimal_point and
1078
+ self.timestamp_parsers == other.timestamp_parsers and
1079
+ self.strings_can_be_null == other.strings_can_be_null and
1080
+ self.quoted_strings_can_be_null ==
1081
+ other.quoted_strings_can_be_null and
1082
+ self.auto_dict_encode == other.auto_dict_encode and
1083
+ self.auto_dict_max_cardinality ==
1084
+ other.auto_dict_max_cardinality and
1085
+ self.include_columns == other.include_columns and
1086
+ self.include_missing_columns == other.include_missing_columns
1087
+ )
1088
+
1089
+ def __getstate__(self):
1090
+ return (self.check_utf8, self.column_types, self.null_values,
1091
+ self.true_values, self.false_values, self.decimal_point,
1092
+ self.timestamp_parsers, self.strings_can_be_null,
1093
+ self.quoted_strings_can_be_null, self.auto_dict_encode,
1094
+ self.auto_dict_max_cardinality, self.include_columns,
1095
+ self.include_missing_columns)
1096
+
1097
+ def __setstate__(self, state):
1098
+ (self.check_utf8, self.column_types, self.null_values,
1099
+ self.true_values, self.false_values, self.decimal_point,
1100
+ self.timestamp_parsers, self.strings_can_be_null,
1101
+ self.quoted_strings_can_be_null, self.auto_dict_encode,
1102
+ self.auto_dict_max_cardinality, self.include_columns,
1103
+ self.include_missing_columns) = state
1104
+
1105
+ def __eq__(self, other):
1106
+ try:
1107
+ return self.equals(other)
1108
+ except TypeError:
1109
+ return False
1110
+
1111
+
1112
+ cdef _get_reader(input_file, ReadOptions read_options,
1113
+ shared_ptr[CInputStream]* out):
1114
+ use_memory_map = False
1115
+ get_input_stream(input_file, use_memory_map, out)
1116
+ if read_options is not None:
1117
+ out[0] = native_transcoding_input_stream(out[0],
1118
+ read_options.encoding,
1119
+ 'utf8')
1120
+
1121
+
1122
+ cdef _get_read_options(ReadOptions read_options, CCSVReadOptions* out):
1123
+ if read_options is None:
1124
+ out[0] = CCSVReadOptions.Defaults()
1125
+ else:
1126
+ out[0] = deref(read_options.options)
1127
+
1128
+
1129
+ cdef _get_parse_options(ParseOptions parse_options, CCSVParseOptions* out):
1130
+ if parse_options is None:
1131
+ out[0] = CCSVParseOptions.Defaults()
1132
+ else:
1133
+ out[0] = deref(parse_options.options)
1134
+
1135
+
1136
+ cdef _get_convert_options(ConvertOptions convert_options,
1137
+ CCSVConvertOptions* out):
1138
+ if convert_options is None:
1139
+ out[0] = CCSVConvertOptions.Defaults()
1140
+ else:
1141
+ out[0] = deref(convert_options.options)
1142
+
1143
+
1144
+ cdef class CSVStreamingReader(RecordBatchReader):
1145
+ """An object that reads record batches incrementally from a CSV file.
1146
+
1147
+ Should not be instantiated directly by user code.
1148
+ """
1149
+ cdef readonly:
1150
+ Schema schema
1151
+
1152
+ def __init__(self):
1153
+ raise TypeError("Do not call {}'s constructor directly, "
1154
+ "use pyarrow.csv.open_csv() instead."
1155
+ .format(self.__class__.__name__))
1156
+
1157
+ # Note about cancellation: we cannot create a SignalStopHandler
1158
+ # by default here, as several CSVStreamingReader instances may be
1159
+ # created (including by the same thread). Handling cancellation
1160
+ # would require having the user pass the SignalStopHandler.
1161
+ # (in addition to solving ARROW-11853)
1162
+
1163
+ cdef _open(self, shared_ptr[CInputStream] stream,
1164
+ CCSVReadOptions c_read_options,
1165
+ CCSVParseOptions c_parse_options,
1166
+ CCSVConvertOptions c_convert_options,
1167
+ MemoryPool memory_pool):
1168
+ cdef:
1169
+ shared_ptr[CSchema] c_schema
1170
+ CIOContext io_context
1171
+
1172
+ io_context = CIOContext(maybe_unbox_memory_pool(memory_pool))
1173
+
1174
+ with nogil:
1175
+ self.reader = <shared_ptr[CRecordBatchReader]> GetResultValue(
1176
+ CCSVStreamingReader.Make(
1177
+ io_context, stream,
1178
+ move(c_read_options), move(c_parse_options),
1179
+ move(c_convert_options)))
1180
+ c_schema = self.reader.get().schema()
1181
+
1182
+ self.schema = pyarrow_wrap_schema(c_schema)
1183
+
1184
+
1185
+ def read_csv(input_file, read_options=None, parse_options=None,
1186
+ convert_options=None, MemoryPool memory_pool=None):
1187
+ """
1188
+ Read a Table from a stream of CSV data.
1189
+
1190
+ Parameters
1191
+ ----------
1192
+ input_file : string, path or file-like object
1193
+ The location of CSV data. If a string or path, and if it ends
1194
+ with a recognized compressed file extension (e.g. ".gz" or ".bz2"),
1195
+ the data is automatically decompressed when reading.
1196
+ read_options : pyarrow.csv.ReadOptions, optional
1197
+ Options for the CSV reader (see pyarrow.csv.ReadOptions constructor
1198
+ for defaults)
1199
+ parse_options : pyarrow.csv.ParseOptions, optional
1200
+ Options for the CSV parser
1201
+ (see pyarrow.csv.ParseOptions constructor for defaults)
1202
+ convert_options : pyarrow.csv.ConvertOptions, optional
1203
+ Options for converting CSV data
1204
+ (see pyarrow.csv.ConvertOptions constructor for defaults)
1205
+ memory_pool : MemoryPool, optional
1206
+ Pool to allocate Table memory from
1207
+
1208
+ Returns
1209
+ -------
1210
+ :class:`pyarrow.Table`
1211
+ Contents of the CSV file as a in-memory table.
1212
+
1213
+ Examples
1214
+ --------
1215
+
1216
+ Defining an example file from bytes object:
1217
+
1218
+ >>> import io
1219
+ >>> s = (
1220
+ ... "animals,n_legs,entry\\n"
1221
+ ... "Flamingo,2,2022-03-01\\n"
1222
+ ... "Horse,4,2022-03-02\\n"
1223
+ ... "Brittle stars,5,2022-03-03\\n"
1224
+ ... "Centipede,100,2022-03-04"
1225
+ ... )
1226
+ >>> print(s)
1227
+ animals,n_legs,entry
1228
+ Flamingo,2,2022-03-01
1229
+ Horse,4,2022-03-02
1230
+ Brittle stars,5,2022-03-03
1231
+ Centipede,100,2022-03-04
1232
+ >>> source = io.BytesIO(s.encode())
1233
+
1234
+ Reading from the file
1235
+
1236
+ >>> from pyarrow import csv
1237
+ >>> csv.read_csv(source)
1238
+ pyarrow.Table
1239
+ animals: string
1240
+ n_legs: int64
1241
+ entry: date32[day]
1242
+ ----
1243
+ animals: [["Flamingo","Horse","Brittle stars","Centipede"]]
1244
+ n_legs: [[2,4,5,100]]
1245
+ entry: [[2022-03-01,2022-03-02,2022-03-03,2022-03-04]]
1246
+ """
1247
+ cdef:
1248
+ shared_ptr[CInputStream] stream
1249
+ CCSVReadOptions c_read_options
1250
+ CCSVParseOptions c_parse_options
1251
+ CCSVConvertOptions c_convert_options
1252
+ CIOContext io_context
1253
+ SharedPtrNoGIL[CCSVReader] reader
1254
+ shared_ptr[CTable] table
1255
+
1256
+ _get_reader(input_file, read_options, &stream)
1257
+ _get_read_options(read_options, &c_read_options)
1258
+ _get_parse_options(parse_options, &c_parse_options)
1259
+ _get_convert_options(convert_options, &c_convert_options)
1260
+
1261
+ with SignalStopHandler() as stop_handler:
1262
+ io_context = CIOContext(
1263
+ maybe_unbox_memory_pool(memory_pool),
1264
+ (<StopToken> stop_handler.stop_token).stop_token)
1265
+ reader = GetResultValue(CCSVReader.Make(
1266
+ io_context, stream,
1267
+ c_read_options, c_parse_options, c_convert_options))
1268
+
1269
+ with nogil:
1270
+ table = GetResultValue(reader.get().Read())
1271
+
1272
+ return pyarrow_wrap_table(table)
1273
+
1274
+
1275
+ def open_csv(input_file, read_options=None, parse_options=None,
1276
+ convert_options=None, MemoryPool memory_pool=None):
1277
+ """
1278
+ Open a streaming reader of CSV data.
1279
+
1280
+ Reading using this function is always single-threaded.
1281
+
1282
+ Parameters
1283
+ ----------
1284
+ input_file : string, path or file-like object
1285
+ The location of CSV data. If a string or path, and if it ends
1286
+ with a recognized compressed file extension (e.g. ".gz" or ".bz2"),
1287
+ the data is automatically decompressed when reading.
1288
+ read_options : pyarrow.csv.ReadOptions, optional
1289
+ Options for the CSV reader (see pyarrow.csv.ReadOptions constructor
1290
+ for defaults)
1291
+ parse_options : pyarrow.csv.ParseOptions, optional
1292
+ Options for the CSV parser
1293
+ (see pyarrow.csv.ParseOptions constructor for defaults)
1294
+ convert_options : pyarrow.csv.ConvertOptions, optional
1295
+ Options for converting CSV data
1296
+ (see pyarrow.csv.ConvertOptions constructor for defaults)
1297
+ memory_pool : MemoryPool, optional
1298
+ Pool to allocate Table memory from
1299
+
1300
+ Returns
1301
+ -------
1302
+ :class:`pyarrow.csv.CSVStreamingReader`
1303
+ """
1304
+ cdef:
1305
+ shared_ptr[CInputStream] stream
1306
+ CCSVReadOptions c_read_options
1307
+ CCSVParseOptions c_parse_options
1308
+ CCSVConvertOptions c_convert_options
1309
+ CSVStreamingReader reader
1310
+
1311
+ _get_reader(input_file, read_options, &stream)
1312
+ _get_read_options(read_options, &c_read_options)
1313
+ _get_parse_options(parse_options, &c_parse_options)
1314
+ _get_convert_options(convert_options, &c_convert_options)
1315
+
1316
+ reader = CSVStreamingReader.__new__(CSVStreamingReader)
1317
+ reader._open(stream, move(c_read_options), move(c_parse_options),
1318
+ move(c_convert_options), memory_pool)
1319
+ return reader
1320
+
1321
+
1322
+ def _raise_invalid_function_option(value, description, *,
1323
+ exception_class=ValueError):
1324
+ raise exception_class(f"\"{value}\" is not a valid {description}")
1325
+
1326
+
1327
+ cdef CQuotingStyle unwrap_quoting_style(quoting_style) except *:
1328
+ if quoting_style == "needed":
1329
+ return CQuotingStyle_Needed
1330
+ elif quoting_style == "all_valid":
1331
+ return CQuotingStyle_AllValid
1332
+ elif quoting_style == "none":
1333
+ return CQuotingStyle_None
1334
+ _raise_invalid_function_option(quoting_style, "quoting style")
1335
+
1336
+
1337
+ cdef wrap_quoting_style(quoting_style):
1338
+ if quoting_style == CQuotingStyle_Needed:
1339
+ return 'needed'
1340
+ elif quoting_style == CQuotingStyle_AllValid:
1341
+ return 'all_valid'
1342
+ elif quoting_style == CQuotingStyle_None:
1343
+ return 'none'
1344
+
1345
+
1346
+ cdef class WriteOptions(_Weakrefable):
1347
+ """
1348
+ Options for writing CSV files.
1349
+
1350
+ Parameters
1351
+ ----------
1352
+ include_header : bool, optional (default True)
1353
+ Whether to write an initial header line with column names
1354
+ batch_size : int, optional (default 1024)
1355
+ How many rows to process together when converting and writing
1356
+ CSV data
1357
+ delimiter : 1-character string, optional (default ",")
1358
+ The character delimiting individual cells in the CSV data.
1359
+ quoting_style : str, optional (default "needed")
1360
+ Whether to quote values, and if so, which quoting style to use.
1361
+ The following values are accepted:
1362
+
1363
+ - "needed" (default): only enclose values in quotes when needed.
1364
+ - "all_valid": enclose all valid values in quotes; nulls are not quoted.
1365
+ - "none": do not enclose any values in quotes; values containing
1366
+ special characters (such as quotes, cell delimiters or line endings)
1367
+ will raise an error.
1368
+ """
1369
+
1370
+ # Avoid mistakingly creating attributes
1371
+ __slots__ = ()
1372
+
1373
+ def __init__(self, *, include_header=None, batch_size=None,
1374
+ delimiter=None, quoting_style=None):
1375
+ self.options.reset(new CCSVWriteOptions(CCSVWriteOptions.Defaults()))
1376
+ if include_header is not None:
1377
+ self.include_header = include_header
1378
+ if batch_size is not None:
1379
+ self.batch_size = batch_size
1380
+ if delimiter is not None:
1381
+ self.delimiter = delimiter
1382
+ if quoting_style is not None:
1383
+ self.quoting_style = quoting_style
1384
+
1385
+ @property
1386
+ def include_header(self):
1387
+ """
1388
+ Whether to write an initial header line with column names.
1389
+ """
1390
+ return deref(self.options).include_header
1391
+
1392
+ @include_header.setter
1393
+ def include_header(self, value):
1394
+ deref(self.options).include_header = value
1395
+
1396
+ @property
1397
+ def batch_size(self):
1398
+ """
1399
+ How many rows to process together when converting and writing
1400
+ CSV data.
1401
+ """
1402
+ return deref(self.options).batch_size
1403
+
1404
+ @batch_size.setter
1405
+ def batch_size(self, value):
1406
+ deref(self.options).batch_size = value
1407
+
1408
+ @property
1409
+ def delimiter(self):
1410
+ """
1411
+ The character delimiting individual cells in the CSV data.
1412
+ """
1413
+ return chr(deref(self.options).delimiter)
1414
+
1415
+ @delimiter.setter
1416
+ def delimiter(self, value):
1417
+ deref(self.options).delimiter = _single_char(value)
1418
+
1419
+ @property
1420
+ def quoting_style(self):
1421
+ """
1422
+ Whether to quote values, and if so, which quoting style to use.
1423
+ The following values are accepted:
1424
+
1425
+ - "needed" (default): only enclose values in quotes when needed.
1426
+ - "all_valid": enclose all valid values in quotes; nulls are not quoted.
1427
+ - "none": do not enclose any values in quotes; values containing
1428
+ special characters (such as quotes, cell delimiters or line endings)
1429
+ will raise an error.
1430
+ """
1431
+ return wrap_quoting_style(deref(self.options).quoting_style)
1432
+
1433
+ @quoting_style.setter
1434
+ def quoting_style(self, value):
1435
+ deref(self.options).quoting_style = unwrap_quoting_style(value)
1436
+
1437
+ @staticmethod
1438
+ cdef WriteOptions wrap(CCSVWriteOptions options):
1439
+ out = WriteOptions()
1440
+ out.options.reset(new CCSVWriteOptions(move(options)))
1441
+ return out
1442
+
1443
+ def validate(self):
1444
+ check_status(self.options.get().Validate())
1445
+
1446
+
1447
+ cdef _get_write_options(WriteOptions write_options, CCSVWriteOptions* out):
1448
+ if write_options is None:
1449
+ out[0] = CCSVWriteOptions.Defaults()
1450
+ else:
1451
+ out[0] = deref(write_options.options)
1452
+
1453
+
1454
+ def write_csv(data, output_file, write_options=None,
1455
+ MemoryPool memory_pool=None):
1456
+ """
1457
+ Write record batch or table to a CSV file.
1458
+
1459
+ Parameters
1460
+ ----------
1461
+ data : pyarrow.RecordBatch or pyarrow.Table
1462
+ The data to write.
1463
+ output_file : string, path, pyarrow.NativeFile, or file-like object
1464
+ The location where to write the CSV data.
1465
+ write_options : pyarrow.csv.WriteOptions
1466
+ Options to configure writing the CSV data.
1467
+ memory_pool : MemoryPool, optional
1468
+ Pool for temporary allocations.
1469
+
1470
+ Examples
1471
+ --------
1472
+
1473
+ >>> import pyarrow as pa
1474
+ >>> from pyarrow import csv
1475
+
1476
+ >>> legs = pa.array([2, 4, 5, 100])
1477
+ >>> animals = pa.array(["Flamingo", "Horse", "Brittle stars", "Centipede"])
1478
+ >>> entry_date = pa.array(["01/03/2022", "02/03/2022",
1479
+ ... "03/03/2022", "04/03/2022"])
1480
+ >>> table = pa.table([animals, legs, entry_date],
1481
+ ... names=["animals", "n_legs", "entry"])
1482
+
1483
+ >>> csv.write_csv(table, "animals.csv")
1484
+
1485
+ >>> write_options = csv.WriteOptions(include_header=False)
1486
+ >>> csv.write_csv(table, "animals.csv", write_options=write_options)
1487
+
1488
+ >>> write_options = csv.WriteOptions(delimiter=";")
1489
+ >>> csv.write_csv(table, "animals.csv", write_options=write_options)
1490
+ """
1491
+ cdef:
1492
+ shared_ptr[COutputStream] stream
1493
+ CCSVWriteOptions c_write_options
1494
+ CMemoryPool* c_memory_pool
1495
+ CRecordBatch* batch
1496
+ CTable* table
1497
+ _get_write_options(write_options, &c_write_options)
1498
+
1499
+ get_writer(output_file, &stream)
1500
+ c_memory_pool = maybe_unbox_memory_pool(memory_pool)
1501
+ c_write_options.io_context = CIOContext(c_memory_pool)
1502
+ if isinstance(data, RecordBatch):
1503
+ batch = pyarrow_unwrap_batch(data).get()
1504
+ with nogil:
1505
+ check_status(WriteCSV(deref(batch), c_write_options, stream.get()))
1506
+ elif isinstance(data, Table):
1507
+ table = pyarrow_unwrap_table(data).get()
1508
+ with nogil:
1509
+ check_status(WriteCSV(deref(table), c_write_options, stream.get()))
1510
+ else:
1511
+ raise TypeError(f"Expected Table or RecordBatch, got '{type(data)}'")
1512
+
1513
+
1514
+ cdef class CSVWriter(_CRecordBatchWriter):
1515
+ """
1516
+ Writer to create a CSV file.
1517
+
1518
+ Parameters
1519
+ ----------
1520
+ sink : str, path, pyarrow.OutputStream or file-like object
1521
+ The location where to write the CSV data.
1522
+ schema : pyarrow.Schema
1523
+ The schema of the data to be written.
1524
+ write_options : pyarrow.csv.WriteOptions
1525
+ Options to configure writing the CSV data.
1526
+ memory_pool : MemoryPool, optional
1527
+ Pool for temporary allocations.
1528
+ """
1529
+
1530
+ def __init__(self, sink, Schema schema, *,
1531
+ WriteOptions write_options=None, MemoryPool memory_pool=None):
1532
+ cdef:
1533
+ shared_ptr[COutputStream] c_stream
1534
+ shared_ptr[CSchema] c_schema = pyarrow_unwrap_schema(schema)
1535
+ CCSVWriteOptions c_write_options
1536
+ CMemoryPool* c_memory_pool = maybe_unbox_memory_pool(memory_pool)
1537
+ _get_write_options(write_options, &c_write_options)
1538
+ c_write_options.io_context = CIOContext(c_memory_pool)
1539
+ get_writer(sink, &c_stream)
1540
+ with nogil:
1541
+ self.writer = GetResultValue(MakeCSVWriter(
1542
+ c_stream, c_schema, c_write_options))
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_cuda.pxd ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ from pyarrow.lib cimport *
21
+ from pyarrow.includes.common cimport *
22
+ from pyarrow.includes.libarrow cimport *
23
+ from pyarrow.includes.libarrow_cuda cimport *
24
+
25
+
26
+ cdef class Context(_Weakrefable):
27
+ cdef:
28
+ shared_ptr[CCudaContext] context
29
+ int device_number
30
+
31
+ cdef void init(self, const shared_ptr[CCudaContext]& ctx)
32
+
33
+
34
+ cdef class IpcMemHandle(_Weakrefable):
35
+ cdef:
36
+ shared_ptr[CCudaIpcMemHandle] handle
37
+
38
+ cdef void init(self, shared_ptr[CCudaIpcMemHandle]& h)
39
+
40
+
41
+ cdef class CudaBuffer(Buffer):
42
+ cdef:
43
+ shared_ptr[CCudaBuffer] cuda_buffer
44
+ object base
45
+
46
+ cdef void init_cuda(self,
47
+ const shared_ptr[CCudaBuffer]& buffer,
48
+ object base)
49
+
50
+
51
+ cdef class HostBuffer(Buffer):
52
+ cdef:
53
+ shared_ptr[CCudaHostBuffer] host_buffer
54
+
55
+ cdef void init_host(self, const shared_ptr[CCudaHostBuffer]& buffer)
56
+
57
+
58
+ cdef class BufferReader(NativeFile):
59
+ cdef:
60
+ CCudaBufferReader* reader
61
+ CudaBuffer buffer
62
+
63
+
64
+ cdef class BufferWriter(NativeFile):
65
+ cdef:
66
+ CCudaBufferWriter* writer
67
+ CudaBuffer buffer
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_cuda.pyx ADDED
@@ -0,0 +1,1080 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+
19
+ from pyarrow.lib cimport *
20
+ from pyarrow.includes.libarrow_cuda cimport *
21
+ from pyarrow.lib import allocate_buffer, as_buffer, ArrowTypeError
22
+ from pyarrow.util import get_contiguous_span
23
+ cimport cpython as cp
24
+
25
+
26
+ cdef class Context(_Weakrefable):
27
+ """
28
+ CUDA driver context.
29
+ """
30
+
31
+ def __init__(self, *args, **kwargs):
32
+ """
33
+ Create a CUDA driver context for a particular device.
34
+
35
+ If a CUDA context handle is passed, it is wrapped, otherwise
36
+ a default CUDA context for the given device is requested.
37
+
38
+ Parameters
39
+ ----------
40
+ device_number : int (default 0)
41
+ Specify the GPU device for which the CUDA driver context is
42
+ requested.
43
+ handle : int, optional
44
+ Specify CUDA handle for a shared context that has been created
45
+ by another library.
46
+ """
47
+ # This method exposed because autodoc doesn't pick __cinit__
48
+
49
+ def __cinit__(self, int device_number=0, uintptr_t handle=0):
50
+ cdef CCudaDeviceManager* manager
51
+ manager = GetResultValue(CCudaDeviceManager.Instance())
52
+ cdef int n = manager.num_devices()
53
+ if device_number >= n or device_number < 0:
54
+ self.context.reset()
55
+ raise ValueError('device_number argument must be '
56
+ 'non-negative less than %s' % (n))
57
+ if handle == 0:
58
+ self.context = GetResultValue(manager.GetContext(device_number))
59
+ else:
60
+ self.context = GetResultValue(manager.GetSharedContext(
61
+ device_number, <void*>handle))
62
+ self.device_number = device_number
63
+
64
+ @staticmethod
65
+ def from_numba(context=None):
66
+ """
67
+ Create a Context instance from a Numba CUDA context.
68
+
69
+ Parameters
70
+ ----------
71
+ context : {numba.cuda.cudadrv.driver.Context, None}
72
+ A Numba CUDA context instance.
73
+ If None, the current Numba context is used.
74
+
75
+ Returns
76
+ -------
77
+ shared_context : pyarrow.cuda.Context
78
+ Context instance.
79
+ """
80
+ if context is None:
81
+ import numba.cuda
82
+ context = numba.cuda.current_context()
83
+ return Context(device_number=context.device.id,
84
+ handle=context.handle.value)
85
+
86
+ def to_numba(self):
87
+ """
88
+ Convert Context to a Numba CUDA context.
89
+
90
+ Returns
91
+ -------
92
+ context : numba.cuda.cudadrv.driver.Context
93
+ Numba CUDA context instance.
94
+ """
95
+ import ctypes
96
+ import numba.cuda
97
+ device = numba.cuda.gpus[self.device_number]
98
+ handle = ctypes.c_void_p(self.handle)
99
+ context = numba.cuda.cudadrv.driver.Context(device, handle)
100
+
101
+ class DummyPendingDeallocs(object):
102
+ # Context is managed by pyarrow
103
+ def add_item(self, *args, **kwargs):
104
+ pass
105
+
106
+ context.deallocations = DummyPendingDeallocs()
107
+ return context
108
+
109
+ @staticmethod
110
+ def get_num_devices():
111
+ """ Return the number of GPU devices.
112
+ """
113
+ cdef CCudaDeviceManager* manager
114
+ manager = GetResultValue(CCudaDeviceManager.Instance())
115
+ return manager.num_devices()
116
+
117
+ @property
118
+ def device_number(self):
119
+ """ Return context device number.
120
+ """
121
+ return self.device_number
122
+
123
+ @property
124
+ def handle(self):
125
+ """ Return pointer to context handle.
126
+ """
127
+ return <uintptr_t>self.context.get().handle()
128
+
129
+ cdef void init(self, const shared_ptr[CCudaContext]& ctx):
130
+ self.context = ctx
131
+
132
+ def synchronize(self):
133
+ """Blocks until the device has completed all preceding requested
134
+ tasks.
135
+ """
136
+ check_status(self.context.get().Synchronize())
137
+
138
+ @property
139
+ def bytes_allocated(self):
140
+ """Return the number of allocated bytes.
141
+ """
142
+ return self.context.get().bytes_allocated()
143
+
144
+ def get_device_address(self, uintptr_t address):
145
+ """Return the device address that is reachable from kernels running in
146
+ the context
147
+
148
+ Parameters
149
+ ----------
150
+ address : int
151
+ Specify memory address value
152
+
153
+ Returns
154
+ -------
155
+ device_address : int
156
+ Device address accessible from device context
157
+
158
+ Notes
159
+ -----
160
+ The device address is defined as a memory address accessible
161
+ by device. While it is often a device memory address but it
162
+ can be also a host memory address, for instance, when the
163
+ memory is allocated as host memory (using cudaMallocHost or
164
+ cudaHostAlloc) or as managed memory (using cudaMallocManaged)
165
+ or the host memory is page-locked (using cudaHostRegister).
166
+ """
167
+ return GetResultValue(self.context.get().GetDeviceAddress(address))
168
+
169
+ def new_buffer(self, int64_t nbytes):
170
+ """Return new device buffer.
171
+
172
+ Parameters
173
+ ----------
174
+ nbytes : int
175
+ Specify the number of bytes to be allocated.
176
+
177
+ Returns
178
+ -------
179
+ buf : CudaBuffer
180
+ Allocated buffer.
181
+ """
182
+ cdef:
183
+ shared_ptr[CCudaBuffer] cudabuf
184
+ with nogil:
185
+ cudabuf = GetResultValue(self.context.get().Allocate(nbytes))
186
+ return pyarrow_wrap_cudabuffer(cudabuf)
187
+
188
+ @property
189
+ def memory_manager(self):
190
+ """
191
+ The default memory manager tied to this context's device.
192
+
193
+ Returns
194
+ -------
195
+ MemoryManager
196
+ """
197
+ return MemoryManager.wrap(self.context.get().memory_manager())
198
+
199
+ @property
200
+ def device(self):
201
+ """
202
+ The device instance associated with this context.
203
+
204
+ Returns
205
+ -------
206
+ Device
207
+ """
208
+ return Device.wrap(self.context.get().device())
209
+
210
+ def foreign_buffer(self, address, size, base=None):
211
+ """
212
+ Create device buffer from address and size as a view.
213
+
214
+ The caller is responsible for allocating and freeing the
215
+ memory. When `address==size==0` then a new zero-sized buffer
216
+ is returned.
217
+
218
+ Parameters
219
+ ----------
220
+ address : int
221
+ Specify the starting address of the buffer. The address can
222
+ refer to both device or host memory but it must be
223
+ accessible from device after mapping it with
224
+ `get_device_address` method.
225
+ size : int
226
+ Specify the size of device buffer in bytes.
227
+ base : {None, object}
228
+ Specify object that owns the referenced memory.
229
+
230
+ Returns
231
+ -------
232
+ cbuf : CudaBuffer
233
+ Device buffer as a view of device reachable memory.
234
+
235
+ """
236
+ if not address and size == 0:
237
+ return self.new_buffer(0)
238
+ cdef:
239
+ uintptr_t c_addr = self.get_device_address(address)
240
+ int64_t c_size = size
241
+ shared_ptr[CCudaBuffer] cudabuf
242
+
243
+ cudabuf = GetResultValue(self.context.get().View(
244
+ <uint8_t*>c_addr, c_size))
245
+ return pyarrow_wrap_cudabuffer_base(cudabuf, base)
246
+
247
+ def open_ipc_buffer(self, ipc_handle):
248
+ """ Open existing CUDA IPC memory handle
249
+
250
+ Parameters
251
+ ----------
252
+ ipc_handle : IpcMemHandle
253
+ Specify opaque pointer to CUipcMemHandle (driver API).
254
+
255
+ Returns
256
+ -------
257
+ buf : CudaBuffer
258
+ referencing device buffer
259
+ """
260
+ handle = pyarrow_unwrap_cudaipcmemhandle(ipc_handle)
261
+ cdef shared_ptr[CCudaBuffer] cudabuf
262
+ with nogil:
263
+ cudabuf = GetResultValue(
264
+ self.context.get().OpenIpcBuffer(handle.get()[0]))
265
+ return pyarrow_wrap_cudabuffer(cudabuf)
266
+
267
+ def buffer_from_data(self, object data, int64_t offset=0, int64_t size=-1):
268
+ """Create device buffer and initialize with data.
269
+
270
+ Parameters
271
+ ----------
272
+ data : {CudaBuffer, HostBuffer, Buffer, array-like}
273
+ Specify data to be copied to device buffer.
274
+ offset : int
275
+ Specify the offset of input buffer for device data
276
+ buffering. Default: 0.
277
+ size : int
278
+ Specify the size of device buffer in bytes. Default: all
279
+ (starting from input offset)
280
+
281
+ Returns
282
+ -------
283
+ cbuf : CudaBuffer
284
+ Device buffer with copied data.
285
+ """
286
+ is_host_data = not pyarrow_is_cudabuffer(data)
287
+ buf = as_buffer(data) if is_host_data else data
288
+
289
+ bsize = buf.size
290
+ if offset < 0 or (bsize and offset >= bsize):
291
+ raise ValueError('offset argument is out-of-range')
292
+ if size < 0:
293
+ size = bsize - offset
294
+ elif offset + size > bsize:
295
+ raise ValueError(
296
+ 'requested larger slice than available in device buffer')
297
+
298
+ if offset != 0 or size != bsize:
299
+ buf = buf.slice(offset, size)
300
+
301
+ result = self.new_buffer(size)
302
+ if is_host_data:
303
+ result.copy_from_host(buf, position=0, nbytes=size)
304
+ else:
305
+ result.copy_from_device(buf, position=0, nbytes=size)
306
+ return result
307
+
308
+ def buffer_from_object(self, obj):
309
+ """Create device buffer view of arbitrary object that references
310
+ device accessible memory.
311
+
312
+ When the object contains a non-contiguous view of device
313
+ accessible memory then the returned device buffer will contain
314
+ contiguous view of the memory, that is, including the
315
+ intermediate data that is otherwise invisible to the input
316
+ object.
317
+
318
+ Parameters
319
+ ----------
320
+ obj : {object, Buffer, HostBuffer, CudaBuffer, ...}
321
+ Specify an object that holds (device or host) address that
322
+ can be accessed from device. This includes objects with
323
+ types defined in pyarrow.cuda as well as arbitrary objects
324
+ that implement the CUDA array interface as defined by numba.
325
+
326
+ Returns
327
+ -------
328
+ cbuf : CudaBuffer
329
+ Device buffer as a view of device accessible memory.
330
+
331
+ """
332
+ if isinstance(obj, HostBuffer):
333
+ return self.foreign_buffer(obj.address, obj.size, base=obj)
334
+ elif isinstance(obj, Buffer):
335
+ return CudaBuffer.from_buffer(obj)
336
+ elif isinstance(obj, CudaBuffer):
337
+ return obj
338
+ elif hasattr(obj, '__cuda_array_interface__'):
339
+ desc = obj.__cuda_array_interface__
340
+ addr = desc['data'][0]
341
+ if addr is None:
342
+ return self.new_buffer(0)
343
+ import numpy as np
344
+ start, end = get_contiguous_span(
345
+ desc['shape'], desc.get('strides'),
346
+ np.dtype(desc['typestr']).itemsize)
347
+ return self.foreign_buffer(addr + start, end - start, base=obj)
348
+ raise ArrowTypeError('cannot create device buffer view from'
349
+ ' `%s` object' % (type(obj)))
350
+
351
+
352
+ cdef class IpcMemHandle(_Weakrefable):
353
+ """A serializable container for a CUDA IPC handle.
354
+ """
355
+ cdef void init(self, shared_ptr[CCudaIpcMemHandle]& h):
356
+ self.handle = h
357
+
358
+ @staticmethod
359
+ def from_buffer(Buffer opaque_handle):
360
+ """Create IpcMemHandle from opaque buffer (e.g. from another
361
+ process)
362
+
363
+ Parameters
364
+ ----------
365
+ opaque_handle :
366
+ a CUipcMemHandle as a const void*
367
+
368
+ Returns
369
+ -------
370
+ ipc_handle : IpcMemHandle
371
+ """
372
+ c_buf = pyarrow_unwrap_buffer(opaque_handle)
373
+ cdef:
374
+ shared_ptr[CCudaIpcMemHandle] handle
375
+
376
+ handle = GetResultValue(
377
+ CCudaIpcMemHandle.FromBuffer(c_buf.get().data()))
378
+ return pyarrow_wrap_cudaipcmemhandle(handle)
379
+
380
+ def serialize(self, pool=None):
381
+ """Write IpcMemHandle to a Buffer
382
+
383
+ Parameters
384
+ ----------
385
+ pool : {MemoryPool, None}
386
+ Specify a pool to allocate memory from
387
+
388
+ Returns
389
+ -------
390
+ buf : Buffer
391
+ The serialized buffer.
392
+ """
393
+ cdef CMemoryPool* pool_ = maybe_unbox_memory_pool(pool)
394
+ cdef shared_ptr[CBuffer] buf
395
+ cdef CCudaIpcMemHandle* h = self.handle.get()
396
+ with nogil:
397
+ buf = GetResultValue(h.Serialize(pool_))
398
+ return pyarrow_wrap_buffer(buf)
399
+
400
+
401
+ cdef class CudaBuffer(Buffer):
402
+ """An Arrow buffer with data located in a GPU device.
403
+
404
+ To create a CudaBuffer instance, use Context.device_buffer().
405
+
406
+ The memory allocated in a CudaBuffer is freed when the buffer object
407
+ is deleted.
408
+ """
409
+
410
+ def __init__(self):
411
+ raise TypeError("Do not call CudaBuffer's constructor directly, use "
412
+ "`<pyarrow.Context instance>.device_buffer`"
413
+ " method instead.")
414
+
415
+ cdef void init_cuda(self,
416
+ const shared_ptr[CCudaBuffer]& buffer,
417
+ object base):
418
+ self.cuda_buffer = buffer
419
+ self.init(<shared_ptr[CBuffer]> buffer)
420
+ self.base = base
421
+
422
+ @staticmethod
423
+ def from_buffer(buf):
424
+ """ Convert back generic buffer into CudaBuffer
425
+
426
+ Parameters
427
+ ----------
428
+ buf : Buffer
429
+ Specify buffer containing CudaBuffer
430
+
431
+ Returns
432
+ -------
433
+ dbuf : CudaBuffer
434
+ Resulting device buffer.
435
+ """
436
+ c_buf = pyarrow_unwrap_buffer(buf)
437
+ cuda_buffer = GetResultValue(CCudaBuffer.FromBuffer(c_buf))
438
+ return pyarrow_wrap_cudabuffer(cuda_buffer)
439
+
440
+ @staticmethod
441
+ def from_numba(mem):
442
+ """Create a CudaBuffer view from numba MemoryPointer instance.
443
+
444
+ Parameters
445
+ ----------
446
+ mem : numba.cuda.cudadrv.driver.MemoryPointer
447
+
448
+ Returns
449
+ -------
450
+ cbuf : CudaBuffer
451
+ Device buffer as a view of numba MemoryPointer.
452
+ """
453
+ ctx = Context.from_numba(mem.context)
454
+ if mem.device_pointer.value is None and mem.size==0:
455
+ return ctx.new_buffer(0)
456
+ return ctx.foreign_buffer(mem.device_pointer.value, mem.size, base=mem)
457
+
458
+ def to_numba(self):
459
+ """Return numba memory pointer of CudaBuffer instance.
460
+ """
461
+ import ctypes
462
+ from numba.cuda.cudadrv.driver import MemoryPointer
463
+ return MemoryPointer(self.context.to_numba(),
464
+ pointer=ctypes.c_void_p(self.address),
465
+ size=self.size)
466
+
467
+ cdef getitem(self, int64_t i):
468
+ return self.copy_to_host(position=i, nbytes=1)[0]
469
+
470
+ def copy_to_host(self, int64_t position=0, int64_t nbytes=-1,
471
+ Buffer buf=None,
472
+ MemoryPool memory_pool=None, c_bool resizable=False):
473
+ """Copy memory from GPU device to CPU host
474
+
475
+ Caller is responsible for ensuring that all tasks affecting
476
+ the memory are finished. Use
477
+
478
+ `<CudaBuffer instance>.context.synchronize()`
479
+
480
+ when needed.
481
+
482
+ Parameters
483
+ ----------
484
+ position : int
485
+ Specify the starting position of the source data in GPU
486
+ device buffer. Default: 0.
487
+ nbytes : int
488
+ Specify the number of bytes to copy. Default: -1 (all from
489
+ the position until host buffer is full).
490
+ buf : Buffer
491
+ Specify a pre-allocated output buffer in host. Default: None
492
+ (allocate new output buffer).
493
+ memory_pool : MemoryPool
494
+ resizable : bool
495
+ Specify extra arguments to allocate_buffer. Used only when
496
+ buf is None.
497
+
498
+ Returns
499
+ -------
500
+ buf : Buffer
501
+ Output buffer in host.
502
+
503
+ """
504
+ if position < 0 or (self.size and position > self.size) \
505
+ or (self.size == 0 and position != 0):
506
+ raise ValueError('position argument is out-of-range')
507
+ cdef:
508
+ int64_t c_nbytes
509
+ if buf is None:
510
+ if nbytes < 0:
511
+ # copy all starting from position to new host buffer
512
+ c_nbytes = self.size - position
513
+ else:
514
+ if nbytes > self.size - position:
515
+ raise ValueError(
516
+ 'requested more to copy than available from '
517
+ 'device buffer')
518
+ # copy nbytes starting from position to new host buffer
519
+ c_nbytes = nbytes
520
+ buf = allocate_buffer(c_nbytes, memory_pool=memory_pool,
521
+ resizable=resizable)
522
+ else:
523
+ if nbytes < 0:
524
+ # copy all from position until given host buffer is full
525
+ c_nbytes = min(self.size - position, buf.size)
526
+ else:
527
+ if nbytes > buf.size:
528
+ raise ValueError(
529
+ 'requested copy does not fit into host buffer')
530
+ # copy nbytes from position to given host buffer
531
+ c_nbytes = nbytes
532
+
533
+ cdef:
534
+ shared_ptr[CBuffer] c_buf = pyarrow_unwrap_buffer(buf)
535
+ int64_t c_position = position
536
+ with nogil:
537
+ check_status(self.cuda_buffer.get()
538
+ .CopyToHost(c_position, c_nbytes,
539
+ c_buf.get().mutable_data()))
540
+ return buf
541
+
542
+ def copy_from_host(self, data, int64_t position=0, int64_t nbytes=-1):
543
+ """Copy data from host to device.
544
+
545
+ The device buffer must be pre-allocated.
546
+
547
+ Parameters
548
+ ----------
549
+ data : {Buffer, array-like}
550
+ Specify data in host. It can be array-like that is valid
551
+ argument to py_buffer
552
+ position : int
553
+ Specify the starting position of the copy in device buffer.
554
+ Default: 0.
555
+ nbytes : int
556
+ Specify the number of bytes to copy. Default: -1 (all from
557
+ source until device buffer, starting from position, is full)
558
+
559
+ Returns
560
+ -------
561
+ nbytes : int
562
+ Number of bytes copied.
563
+ """
564
+ if position < 0 or position > self.size:
565
+ raise ValueError('position argument is out-of-range')
566
+ cdef:
567
+ int64_t c_nbytes
568
+ buf = as_buffer(data)
569
+
570
+ if nbytes < 0:
571
+ # copy from host buffer to device buffer starting from
572
+ # position until device buffer is full
573
+ c_nbytes = min(self.size - position, buf.size)
574
+ else:
575
+ if nbytes > buf.size:
576
+ raise ValueError(
577
+ 'requested more to copy than available from host buffer')
578
+ if nbytes > self.size - position:
579
+ raise ValueError(
580
+ 'requested more to copy than available in device buffer')
581
+ # copy nbytes from host buffer to device buffer starting
582
+ # from position
583
+ c_nbytes = nbytes
584
+
585
+ cdef:
586
+ shared_ptr[CBuffer] c_buf = pyarrow_unwrap_buffer(buf)
587
+ int64_t c_position = position
588
+ with nogil:
589
+ check_status(self.cuda_buffer.get().
590
+ CopyFromHost(c_position, c_buf.get().data(),
591
+ c_nbytes))
592
+ return c_nbytes
593
+
594
+ def copy_from_device(self, buf, int64_t position=0, int64_t nbytes=-1):
595
+ """Copy data from device to device.
596
+
597
+ Parameters
598
+ ----------
599
+ buf : CudaBuffer
600
+ Specify source device buffer.
601
+ position : int
602
+ Specify the starting position of the copy in device buffer.
603
+ Default: 0.
604
+ nbytes : int
605
+ Specify the number of bytes to copy. Default: -1 (all from
606
+ source until device buffer, starting from position, is full)
607
+
608
+ Returns
609
+ -------
610
+ nbytes : int
611
+ Number of bytes copied.
612
+
613
+ """
614
+ if position < 0 or position > self.size:
615
+ raise ValueError('position argument is out-of-range')
616
+ cdef:
617
+ int64_t c_nbytes
618
+
619
+ if nbytes < 0:
620
+ # copy from source device buffer to device buffer starting
621
+ # from position until device buffer is full
622
+ c_nbytes = min(self.size - position, buf.size)
623
+ else:
624
+ if nbytes > buf.size:
625
+ raise ValueError(
626
+ 'requested more to copy than available from device buffer')
627
+ if nbytes > self.size - position:
628
+ raise ValueError(
629
+ 'requested more to copy than available in device buffer')
630
+ # copy nbytes from source device buffer to device buffer
631
+ # starting from position
632
+ c_nbytes = nbytes
633
+
634
+ cdef:
635
+ shared_ptr[CCudaBuffer] c_buf = pyarrow_unwrap_cudabuffer(buf)
636
+ int64_t c_position = position
637
+ shared_ptr[CCudaContext] c_src_ctx = pyarrow_unwrap_cudacontext(
638
+ buf.context)
639
+ void* c_source_data = <void*>(c_buf.get().address())
640
+
641
+ if self.context.handle != buf.context.handle:
642
+ with nogil:
643
+ check_status(self.cuda_buffer.get().
644
+ CopyFromAnotherDevice(c_src_ctx, c_position,
645
+ c_source_data, c_nbytes))
646
+ else:
647
+ with nogil:
648
+ check_status(self.cuda_buffer.get().
649
+ CopyFromDevice(c_position, c_source_data,
650
+ c_nbytes))
651
+ return c_nbytes
652
+
653
+ def export_for_ipc(self):
654
+ """
655
+ Expose this device buffer as IPC memory which can be used in other
656
+ processes.
657
+
658
+ After calling this function, this device memory will not be
659
+ freed when the CudaBuffer is destructed.
660
+
661
+ Returns
662
+ -------
663
+ ipc_handle : IpcMemHandle
664
+ The exported IPC handle
665
+
666
+ """
667
+ cdef shared_ptr[CCudaIpcMemHandle] handle
668
+ with nogil:
669
+ handle = GetResultValue(self.cuda_buffer.get().ExportForIpc())
670
+ return pyarrow_wrap_cudaipcmemhandle(handle)
671
+
672
+ @property
673
+ def context(self):
674
+ """Returns the CUDA driver context of this buffer.
675
+ """
676
+ return pyarrow_wrap_cudacontext(self.cuda_buffer.get().context())
677
+
678
+ def slice(self, offset=0, length=None):
679
+ """Return slice of device buffer
680
+
681
+ Parameters
682
+ ----------
683
+ offset : int, default 0
684
+ Specify offset from the start of device buffer to slice
685
+ length : int, default None
686
+ Specify the length of slice (default is until end of device
687
+ buffer starting from offset). If the length is larger than
688
+ the data available, the returned slice will have a size of
689
+ the available data starting from the offset.
690
+
691
+ Returns
692
+ -------
693
+ sliced : CudaBuffer
694
+ Zero-copy slice of device buffer.
695
+
696
+ """
697
+ if offset < 0 or (self.size and offset >= self.size):
698
+ raise ValueError('offset argument is out-of-range')
699
+ cdef int64_t offset_ = offset
700
+ cdef int64_t size
701
+ if length is None:
702
+ size = self.size - offset_
703
+ elif offset + length <= self.size:
704
+ size = length
705
+ else:
706
+ size = self.size - offset
707
+ parent = pyarrow_unwrap_cudabuffer(self)
708
+ return pyarrow_wrap_cudabuffer(make_shared[CCudaBuffer](parent,
709
+ offset_, size))
710
+
711
+ def to_pybytes(self):
712
+ """Return device buffer content as Python bytes.
713
+ """
714
+ return self.copy_to_host().to_pybytes()
715
+
716
+ def __getbuffer__(self, cp.Py_buffer* buffer, int flags):
717
+ # Device buffer contains data pointers on the device. Hence,
718
+ # cannot support buffer protocol PEP-3118 for CudaBuffer.
719
+ raise BufferError('buffer protocol for device buffer not supported')
720
+
721
+
722
+ cdef class HostBuffer(Buffer):
723
+ """Device-accessible CPU memory created using cudaHostAlloc.
724
+
725
+ To create a HostBuffer instance, use
726
+
727
+ cuda.new_host_buffer(<nbytes>)
728
+ """
729
+
730
+ def __init__(self):
731
+ raise TypeError("Do not call HostBuffer's constructor directly,"
732
+ " use `cuda.new_host_buffer` function instead.")
733
+
734
+ cdef void init_host(self, const shared_ptr[CCudaHostBuffer]& buffer):
735
+ self.host_buffer = buffer
736
+ self.init(<shared_ptr[CBuffer]> buffer)
737
+
738
+ @property
739
+ def size(self):
740
+ return self.host_buffer.get().size()
741
+
742
+
743
+ cdef class BufferReader(NativeFile):
744
+ """File interface for zero-copy read from CUDA buffers.
745
+
746
+ Note: Read methods return pointers to device memory. This means
747
+ you must be careful using this interface with any Arrow code which
748
+ may expect to be able to do anything other than pointer arithmetic
749
+ on the returned buffers.
750
+ """
751
+
752
+ def __cinit__(self, CudaBuffer obj):
753
+ self.buffer = obj
754
+ self.reader = new CCudaBufferReader(self.buffer.buffer)
755
+ self.set_random_access_file(
756
+ shared_ptr[CRandomAccessFile](self.reader))
757
+ self.is_readable = True
758
+
759
+ def read_buffer(self, nbytes=None):
760
+ """Return a slice view of the underlying device buffer.
761
+
762
+ The slice will start at the current reader position and will
763
+ have specified size in bytes.
764
+
765
+ Parameters
766
+ ----------
767
+ nbytes : int, default None
768
+ Specify the number of bytes to read. Default: None (read all
769
+ remaining bytes).
770
+
771
+ Returns
772
+ -------
773
+ cbuf : CudaBuffer
774
+ New device buffer.
775
+
776
+ """
777
+ cdef:
778
+ int64_t c_nbytes
779
+ shared_ptr[CCudaBuffer] output
780
+
781
+ if nbytes is None:
782
+ c_nbytes = self.size() - self.tell()
783
+ else:
784
+ c_nbytes = nbytes
785
+
786
+ with nogil:
787
+ output = static_pointer_cast[CCudaBuffer, CBuffer](
788
+ GetResultValue(self.reader.Read(c_nbytes)))
789
+
790
+ return pyarrow_wrap_cudabuffer(output)
791
+
792
+
793
+ cdef class BufferWriter(NativeFile):
794
+ """File interface for writing to CUDA buffers.
795
+
796
+ By default writes are unbuffered. Use set_buffer_size to enable
797
+ buffering.
798
+ """
799
+
800
+ def __cinit__(self, CudaBuffer buffer):
801
+ self.buffer = buffer
802
+ self.writer = new CCudaBufferWriter(self.buffer.cuda_buffer)
803
+ self.set_output_stream(shared_ptr[COutputStream](self.writer))
804
+ self.is_writable = True
805
+
806
+ def writeat(self, int64_t position, object data):
807
+ """Write data to buffer starting from position.
808
+
809
+ Parameters
810
+ ----------
811
+ position : int
812
+ Specify device buffer position where the data will be
813
+ written.
814
+ data : array-like
815
+ Specify data, the data instance must implement buffer
816
+ protocol.
817
+ """
818
+ cdef:
819
+ Buffer buf = as_buffer(data)
820
+ const uint8_t* c_data = buf.buffer.get().data()
821
+ int64_t c_size = buf.buffer.get().size()
822
+
823
+ with nogil:
824
+ check_status(self.writer.WriteAt(position, c_data, c_size))
825
+
826
+ def flush(self):
827
+ """ Flush the buffer stream """
828
+ with nogil:
829
+ check_status(self.writer.Flush())
830
+
831
+ def seek(self, int64_t position, int whence=0):
832
+ # TODO: remove this method after NativeFile.seek supports
833
+ # writable files.
834
+ cdef int64_t offset
835
+
836
+ with nogil:
837
+ if whence == 0:
838
+ offset = position
839
+ elif whence == 1:
840
+ offset = GetResultValue(self.writer.Tell())
841
+ offset = offset + position
842
+ else:
843
+ with gil:
844
+ raise ValueError("Invalid value of whence: {0}"
845
+ .format(whence))
846
+ check_status(self.writer.Seek(offset))
847
+ return self.tell()
848
+
849
+ @property
850
+ def buffer_size(self):
851
+ """Returns size of host (CPU) buffer, 0 for unbuffered
852
+ """
853
+ return self.writer.buffer_size()
854
+
855
+ @buffer_size.setter
856
+ def buffer_size(self, int64_t buffer_size):
857
+ """Set CPU buffer size to limit calls to cudaMemcpy
858
+
859
+ Parameters
860
+ ----------
861
+ buffer_size : int
862
+ Specify the size of CPU buffer to allocate in bytes.
863
+ """
864
+ with nogil:
865
+ check_status(self.writer.SetBufferSize(buffer_size))
866
+
867
+ @property
868
+ def num_bytes_buffered(self):
869
+ """Returns number of bytes buffered on host
870
+ """
871
+ return self.writer.num_bytes_buffered()
872
+
873
+ # Functions
874
+
875
+
876
+ def new_host_buffer(const int64_t size, int device=0):
877
+ """Return buffer with CUDA-accessible memory on CPU host
878
+
879
+ Parameters
880
+ ----------
881
+ size : int
882
+ Specify the number of bytes to be allocated.
883
+ device : int
884
+ Specify GPU device number.
885
+
886
+ Returns
887
+ -------
888
+ dbuf : HostBuffer
889
+ Allocated host buffer
890
+ """
891
+ cdef shared_ptr[CCudaHostBuffer] buffer
892
+ with nogil:
893
+ buffer = GetResultValue(AllocateCudaHostBuffer(device, size))
894
+ return pyarrow_wrap_cudahostbuffer(buffer)
895
+
896
+
897
+ def serialize_record_batch(object batch, object ctx):
898
+ """ Write record batch message to GPU device memory
899
+
900
+ Parameters
901
+ ----------
902
+ batch : RecordBatch
903
+ Record batch to write
904
+ ctx : Context
905
+ CUDA Context to allocate device memory from
906
+
907
+ Returns
908
+ -------
909
+ dbuf : CudaBuffer
910
+ device buffer which contains the record batch message
911
+ """
912
+ cdef shared_ptr[CCudaBuffer] buffer
913
+ cdef CRecordBatch* batch_ = pyarrow_unwrap_batch(batch).get()
914
+ cdef CCudaContext* ctx_ = pyarrow_unwrap_cudacontext(ctx).get()
915
+ with nogil:
916
+ buffer = GetResultValue(CudaSerializeRecordBatch(batch_[0], ctx_))
917
+ return pyarrow_wrap_cudabuffer(buffer)
918
+
919
+
920
+ def read_message(object source, pool=None):
921
+ """ Read Arrow IPC message located on GPU device
922
+
923
+ Parameters
924
+ ----------
925
+ source : {CudaBuffer, cuda.BufferReader}
926
+ Device buffer or reader of device buffer.
927
+ pool : MemoryPool (optional)
928
+ Pool to allocate CPU memory for the metadata
929
+
930
+ Returns
931
+ -------
932
+ message : Message
933
+ The deserialized message, body still on device
934
+ """
935
+ cdef:
936
+ Message result = Message.__new__(Message)
937
+ cdef CMemoryPool* pool_ = maybe_unbox_memory_pool(pool)
938
+ if not isinstance(source, BufferReader):
939
+ reader = BufferReader(source)
940
+ with nogil:
941
+ result.message = move(
942
+ GetResultValue(ReadMessage(reader.reader, pool_)))
943
+ return result
944
+
945
+
946
+ def read_record_batch(object buffer, object schema, *,
947
+ DictionaryMemo dictionary_memo=None, pool=None):
948
+ """Construct RecordBatch referencing IPC message located on CUDA device.
949
+
950
+ While the metadata is copied to host memory for deserialization,
951
+ the record batch data remains on the device.
952
+
953
+ Parameters
954
+ ----------
955
+ buffer :
956
+ Device buffer containing the complete IPC message
957
+ schema : Schema
958
+ The schema for the record batch
959
+ dictionary_memo : DictionaryMemo, optional
960
+ If message contains dictionaries, must pass a populated
961
+ DictionaryMemo
962
+ pool : MemoryPool (optional)
963
+ Pool to allocate metadata from
964
+
965
+ Returns
966
+ -------
967
+ batch : RecordBatch
968
+ Reconstructed record batch, with device pointers
969
+
970
+ """
971
+ cdef:
972
+ shared_ptr[CSchema] schema_ = pyarrow_unwrap_schema(schema)
973
+ shared_ptr[CCudaBuffer] buffer_ = pyarrow_unwrap_cudabuffer(buffer)
974
+ CDictionaryMemo temp_memo
975
+ CDictionaryMemo* arg_dict_memo
976
+ CMemoryPool* pool_ = maybe_unbox_memory_pool(pool)
977
+ shared_ptr[CRecordBatch] batch
978
+
979
+ if dictionary_memo is not None:
980
+ arg_dict_memo = dictionary_memo.memo
981
+ else:
982
+ arg_dict_memo = &temp_memo
983
+
984
+ with nogil:
985
+ batch = GetResultValue(CudaReadRecordBatch(
986
+ schema_, arg_dict_memo, buffer_, pool_))
987
+ return pyarrow_wrap_batch(batch)
988
+
989
+
990
+ # Public API
991
+
992
+
993
+ cdef public api bint pyarrow_is_buffer(object buffer):
994
+ return isinstance(buffer, Buffer)
995
+
996
+ # cudabuffer
997
+
998
+ cdef public api bint pyarrow_is_cudabuffer(object buffer):
999
+ return isinstance(buffer, CudaBuffer)
1000
+
1001
+
1002
+ cdef public api object \
1003
+ pyarrow_wrap_cudabuffer_base(const shared_ptr[CCudaBuffer]& buf, base):
1004
+ cdef CudaBuffer result = CudaBuffer.__new__(CudaBuffer)
1005
+ result.init_cuda(buf, base)
1006
+ return result
1007
+
1008
+
1009
+ cdef public api object \
1010
+ pyarrow_wrap_cudabuffer(const shared_ptr[CCudaBuffer]& buf):
1011
+ cdef CudaBuffer result = CudaBuffer.__new__(CudaBuffer)
1012
+ result.init_cuda(buf, None)
1013
+ return result
1014
+
1015
+
1016
+ cdef public api shared_ptr[CCudaBuffer] pyarrow_unwrap_cudabuffer(object obj):
1017
+ if pyarrow_is_cudabuffer(obj):
1018
+ return (<CudaBuffer>obj).cuda_buffer
1019
+ raise TypeError('expected CudaBuffer instance, got %s'
1020
+ % (type(obj).__name__))
1021
+
1022
+ # cudahostbuffer
1023
+
1024
+ cdef public api bint pyarrow_is_cudahostbuffer(object buffer):
1025
+ return isinstance(buffer, HostBuffer)
1026
+
1027
+
1028
+ cdef public api object \
1029
+ pyarrow_wrap_cudahostbuffer(const shared_ptr[CCudaHostBuffer]& buf):
1030
+ cdef HostBuffer result = HostBuffer.__new__(HostBuffer)
1031
+ result.init_host(buf)
1032
+ return result
1033
+
1034
+
1035
+ cdef public api shared_ptr[CCudaHostBuffer] \
1036
+ pyarrow_unwrap_cudahostbuffer(object obj):
1037
+ if pyarrow_is_cudahostbuffer(obj):
1038
+ return (<HostBuffer>obj).host_buffer
1039
+ raise TypeError('expected HostBuffer instance, got %s'
1040
+ % (type(obj).__name__))
1041
+
1042
+ # cudacontext
1043
+
1044
+ cdef public api bint pyarrow_is_cudacontext(object ctx):
1045
+ return isinstance(ctx, Context)
1046
+
1047
+
1048
+ cdef public api object \
1049
+ pyarrow_wrap_cudacontext(const shared_ptr[CCudaContext]& ctx):
1050
+ cdef Context result = Context.__new__(Context)
1051
+ result.init(ctx)
1052
+ return result
1053
+
1054
+
1055
+ cdef public api shared_ptr[CCudaContext] \
1056
+ pyarrow_unwrap_cudacontext(object obj):
1057
+ if pyarrow_is_cudacontext(obj):
1058
+ return (<Context>obj).context
1059
+ raise TypeError('expected Context instance, got %s'
1060
+ % (type(obj).__name__))
1061
+
1062
+ # cudaipcmemhandle
1063
+
1064
+ cdef public api bint pyarrow_is_cudaipcmemhandle(object handle):
1065
+ return isinstance(handle, IpcMemHandle)
1066
+
1067
+
1068
+ cdef public api object \
1069
+ pyarrow_wrap_cudaipcmemhandle(shared_ptr[CCudaIpcMemHandle]& h):
1070
+ cdef IpcMemHandle result = IpcMemHandle.__new__(IpcMemHandle)
1071
+ result.init(h)
1072
+ return result
1073
+
1074
+
1075
+ cdef public api shared_ptr[CCudaIpcMemHandle] \
1076
+ pyarrow_unwrap_cudaipcmemhandle(object obj):
1077
+ if pyarrow_is_cudaipcmemhandle(obj):
1078
+ return (<IpcMemHandle>obj).handle
1079
+ raise TypeError('expected IpcMemHandle instance, got %s'
1080
+ % (type(obj).__name__))
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.cpython-312-x86_64-linux-gnu.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c8355d3504b46bf95f02534ac8c61bec5e6c496086f6d8e985b56f53b057b24
3
+ size 1069560
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.pxd ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ # cython: language_level = 3
19
+
20
+ """Dataset is currently unstable. APIs subject to change without notice."""
21
+
22
+ from pyarrow.includes.common cimport *
23
+ from pyarrow.includes.libarrow_dataset cimport *
24
+ from pyarrow.lib cimport *
25
+ from pyarrow._fs cimport FileSystem, FileInfo
26
+
27
+
28
+ cdef CFileSource _make_file_source(object file, FileSystem filesystem=*, object file_size=*)
29
+
30
+ cdef class DatasetFactory(_Weakrefable):
31
+
32
+ cdef:
33
+ SharedPtrNoGIL[CDatasetFactory] wrapped
34
+ CDatasetFactory* factory
35
+
36
+ cdef init(self, const shared_ptr[CDatasetFactory]& sp)
37
+
38
+ @staticmethod
39
+ cdef wrap(const shared_ptr[CDatasetFactory]& sp)
40
+
41
+ cdef inline shared_ptr[CDatasetFactory] unwrap(self) nogil
42
+
43
+
44
+ cdef class Dataset(_Weakrefable):
45
+
46
+ cdef:
47
+ SharedPtrNoGIL[CDataset] wrapped
48
+ CDataset* dataset
49
+ public dict _scan_options
50
+
51
+ cdef void init(self, const shared_ptr[CDataset]& sp)
52
+
53
+ @staticmethod
54
+ cdef wrap(const shared_ptr[CDataset]& sp)
55
+
56
+ cdef shared_ptr[CDataset] unwrap(self) nogil
57
+
58
+
59
+ cdef class Scanner(_Weakrefable):
60
+ cdef:
61
+ SharedPtrNoGIL[CScanner] wrapped
62
+ CScanner* scanner
63
+
64
+ cdef void init(self, const shared_ptr[CScanner]& sp)
65
+
66
+ @staticmethod
67
+ cdef wrap(const shared_ptr[CScanner]& sp)
68
+
69
+ cdef shared_ptr[CScanner] unwrap(self)
70
+
71
+ @staticmethod
72
+ cdef shared_ptr[CScanOptions] _make_scan_options(Dataset dataset, dict py_scanoptions) except *
73
+
74
+
75
+ cdef class FragmentScanOptions(_Weakrefable):
76
+
77
+ cdef:
78
+ shared_ptr[CFragmentScanOptions] wrapped
79
+
80
+ cdef void init(self, const shared_ptr[CFragmentScanOptions]& sp)
81
+
82
+ @staticmethod
83
+ cdef wrap(const shared_ptr[CFragmentScanOptions]& sp)
84
+
85
+
86
+ cdef class FileFormat(_Weakrefable):
87
+
88
+ cdef:
89
+ shared_ptr[CFileFormat] wrapped
90
+ CFileFormat* format
91
+
92
+ cdef void init(self, const shared_ptr[CFileFormat]& sp)
93
+
94
+ @staticmethod
95
+ cdef wrap(const shared_ptr[CFileFormat]& sp)
96
+
97
+ cdef inline shared_ptr[CFileFormat] unwrap(self)
98
+
99
+ cdef _set_default_fragment_scan_options(self, FragmentScanOptions options)
100
+
101
+ # Return a WrittenFile after a file was written.
102
+ # May be overridden by subclasses, e.g. to add metadata.
103
+ cdef WrittenFile _finish_write(self, path, base_dir,
104
+ CFileWriter* file_writer)
105
+
106
+
107
+ cdef class FileWriteOptions(_Weakrefable):
108
+
109
+ cdef:
110
+ shared_ptr[CFileWriteOptions] wrapped
111
+ CFileWriteOptions* c_options
112
+
113
+ cdef void init(self, const shared_ptr[CFileWriteOptions]& sp)
114
+
115
+ @staticmethod
116
+ cdef wrap(const shared_ptr[CFileWriteOptions]& sp)
117
+
118
+ cdef inline shared_ptr[CFileWriteOptions] unwrap(self)
119
+
120
+
121
+ cdef class Fragment(_Weakrefable):
122
+
123
+ cdef:
124
+ SharedPtrNoGIL[CFragment] wrapped
125
+ CFragment* fragment
126
+
127
+ cdef void init(self, const shared_ptr[CFragment]& sp)
128
+
129
+ @staticmethod
130
+ cdef wrap(const shared_ptr[CFragment]& sp)
131
+
132
+ cdef inline shared_ptr[CFragment] unwrap(self)
133
+
134
+
135
+ cdef class FileFragment(Fragment):
136
+
137
+ cdef:
138
+ CFileFragment* file_fragment
139
+
140
+ cdef void init(self, const shared_ptr[CFragment]& sp)
141
+
142
+
143
+ cdef class Partitioning(_Weakrefable):
144
+
145
+ cdef:
146
+ shared_ptr[CPartitioning] wrapped
147
+ CPartitioning* partitioning
148
+
149
+ cdef init(self, const shared_ptr[CPartitioning]& sp)
150
+
151
+ @staticmethod
152
+ cdef wrap(const shared_ptr[CPartitioning]& sp)
153
+
154
+ cdef inline shared_ptr[CPartitioning] unwrap(self)
155
+
156
+
157
+ cdef class PartitioningFactory(_Weakrefable):
158
+
159
+ cdef:
160
+ shared_ptr[CPartitioningFactory] wrapped
161
+ CPartitioningFactory* factory
162
+ object constructor
163
+ object options
164
+
165
+ cdef init(self, const shared_ptr[CPartitioningFactory]& sp)
166
+
167
+ @staticmethod
168
+ cdef wrap(const shared_ptr[CPartitioningFactory]& sp,
169
+ object constructor, object options)
170
+
171
+ cdef inline shared_ptr[CPartitioningFactory] unwrap(self)
172
+
173
+
174
+ cdef class WrittenFile(_Weakrefable):
175
+
176
+ # The full path to the created file
177
+ cdef public str path
178
+ # Optional Parquet metadata
179
+ # This metadata will have the file path attribute set to the path of
180
+ # the written file.
181
+ cdef public object metadata
182
+ # The size of the file in bytes
183
+ cdef public int64_t size
graphrag-ollama/lib/python3.12/site-packages/pyarrow/_dataset.pyx ADDED
The diff for this file is too large to render. See raw diff