Python bindings to the nanoarrow C library
Project description
nanoarrow for Python
The nanoarrow Python package provides bindings to the nanoarrow C library. Like the nanoarrow C library, it provides tools to facilitate the use of the Arrow C Data and Arrow C Stream interfaces.
Installation
Python bindings for nanoarrow are not yet available on PyPI. You can install via URL (requires a C compiler):
python -m pip install "git+https://github.com/apache/arrow-nanoarrow.git#egg=nanoarrow&subdirectory=python"
If you can import the namespace, you're good to go!
import nanoarrow as na
Low-level C library bindings
The Arrow C Data and Arrow C Stream interfaces are comprised of three structures: the ArrowSchema
which represents a data type of an array, the ArrowArray
which represents the values of an array, and an ArrowArrayStream
, which represents zero or more ArrowArray
s with a common ArrowSchema
.
Schemas
Use nanoarrow.c_schema()
to convert an object to an ArrowSchema
and wrap it as a Python object. This works for any object implementing the Arrow PyCapsule Interface (e.g., pyarrow.Schema
, pyarrow.DataType
, and pyarrow.Field
).
import pyarrow as pa
schema = na.c_schema(pa.decimal128(10, 3))
schema
<nanoarrow.c_lib.CSchema decimal128(10, 3)>
- format: 'd:10,3'
- name: ''
- flags: 2
- metadata: NULL
- dictionary: NULL
- children[0]:
You can extract the fields of a CSchema
object one at a time or parse it into a view to extract deserialized parameters.
na.c_schema_view(schema)
<nanoarrow.c_lib.CSchemaView>
- type: 'decimal128'
- storage_type: 'decimal128'
- decimal_bitwidth: 128
- decimal_precision: 10
- decimal_scale: 3
Advanced users can allocate an empty CSchema
and populate its contents by passing its ._addr()
to a schema-exporting function.
schema = na.allocate_c_schema()
pa.int32()._export_to_c(schema._addr())
schema
<nanoarrow.c_lib.CSchema int32>
- format: 'i'
- name: ''
- flags: 2
- metadata: NULL
- dictionary: NULL
- children[0]:
The CSchema
object cleans up after itself: when the object is deleted, the underlying ArrowSchema
is released.
Arrays
You can use nanoarrow.c_array()
to convert an array-like object to an ArrowArray
, wrap it as a Python object, and attach a schema that can be used to interpret its contents. This works for any object implementing the Arrow PyCapsule Interface (e.g., pyarrow.Array
, pyarrow.RecordBatch
).
array = na.c_array(pa.array(["one", "two", "three", None]))
array
<nanoarrow.c_lib.CArray string>
- length: 4
- offset: 0
- null_count: 1
- buffers: (2939032895680, 2939032895616, 2939032895744)
- dictionary: NULL
- children[0]:
You can extract the fields of a CArray
one at a time or parse it into a view to extract deserialized content:
na.c_array_view(array)
<nanoarrow.c_lib.CArrayView>
- storage_type: 'string'
- length: 4
- offset: 0
- null_count: 1
- buffers[3]:
- <bool validity[1 b] 11100000>
- <int32 data_offset[20 b] 0 3 6 11 11>
- <string data[11 b] b'onetwothree'>
- dictionary: NULL
- children[0]:
Like the CSchema
, you can allocate an empty one and access its address with _addr()
to pass to other array-exporting functions.
array = na.allocate_c_array()
pa.array([1, 2, 3])._export_to_c(array._addr(), array.schema._addr())
array.length
3
Array streams
You can use nanoarrow.c_array_stream()
to wrap an object representing a sequence of CArray
s with a common CSchema
to an ArrowArrayStream
and wrap it as a Python object. This works for any object implementing the Arrow PyCapsule Interface (e.g., pyarrow.RecordBatchReader
).
pa_array_child = pa.array([1, 2, 3], pa.int32())
pa_array = pa.record_batch([pa_array_child], names=["some_column"])
reader = pa.RecordBatchReader.from_batches(pa_array.schema, [pa_array])
array_stream = na.c_array_stream(reader)
array_stream
<nanoarrow.c_lib.CArrayStream>
- get_schema(): <nanoarrow.c_lib.CSchema struct>
- format: '+s'
- name: ''
- flags: 0
- metadata: NULL
- dictionary: NULL
- children[1]:
'some_column': <nanoarrow.c_lib.CSchema int32>
- format: 'i'
- name: 'some_column'
- flags: 2
- metadata: NULL
- dictionary: NULL
- children[0]:
You can pull the next array from the stream using .get_next()
or use it like an iterator. The .get_next()
method will raise StopIteration
when there are no more arrays in the stream.
for array in array_stream:
print(array)
<nanoarrow.c_lib.CArray struct>
- length: 3
- offset: 0
- null_count: 0
- buffers: (0,)
- dictionary: NULL
- children[1]:
'some_column': <nanoarrow.c_lib.CArray int32>
- length: 3
- offset: 0
- null_count: 0
- buffers: (0, 2939033026688)
- dictionary: NULL
- children[0]:
You can also get the address of a freshly-allocated stream to pass to a suitable exporting function:
array_stream = na.allocate_c_array_stream()
reader._export_to_c(array_stream._addr())
array_stream
<nanoarrow.c_lib.CArrayStream>
- get_schema(): <nanoarrow.c_lib.CSchema struct>
- format: '+s'
- name: ''
- flags: 0
- metadata: NULL
- dictionary: NULL
- children[1]:
'some_column': <nanoarrow.c_lib.CSchema int32>
- format: 'i'
- name: 'some_column'
- flags: 2
- metadata: NULL
- dictionary: NULL
- children[0]:
Development
Python bindings for nanoarrow are managed with setuptools. This means you can build the project using:
git clone https://github.com/apache/arrow-nanoarrow.git
cd arrow-nanoarrow/python
pip install -e .
Tests use pytest:
# Install dependencies
pip install -e .[test]
# Run tests
pytest -vvx
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for nanoarrow-0.4.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d687fa254d2b4eaf37569c7cb37f8cda668f1746958be9db48f36d670d9fc68 |
|
MD5 | 82cb4e18471f0c9eaa8d33af45037212 |
|
BLAKE2b-256 | b46da3d1472932c30f6a6ee683b28ab752608a49619d2f64f23a679d45128cb9 |
Hashes for nanoarrow-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3547b40040c048e0fec7b4ca0bfe655922ee1854729a279a4ec1a3a20c0bade3 |
|
MD5 | a5f03436f026581e93be1b8d25b20666 |
|
BLAKE2b-256 | c407da43efc74760b2c8cf5cde59fe96c0a5c0cac7851248605dbb32e23cd024 |
Hashes for nanoarrow-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a870e475e2699370d479027d4e2b891a8ba6e0faeb4d580e3ff6269e72fe38dd |
|
MD5 | 35230c3f42f6447ee8ac2cf2b3ff9e3e |
|
BLAKE2b-256 | 5e1a79205a12043fe003e7d028fccf4329894ec972072c092e7622f7c4f672b3 |
Hashes for nanoarrow-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da3dde44cdb89fc2e758045130a5eabb9c6511493ef0f1442d580162e781d9be |
|
MD5 | d37e120dd7954fcb2040e1013743b091 |
|
BLAKE2b-256 | 187787c062bc6adc68343658c2e300cd5561748c5000be7b898f3ac93e45fc2b |
Hashes for nanoarrow-0.4.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab48850afac84c08237e977eb6898a7ded8f02a8d8df8d771a7af83522a55685 |
|
MD5 | c78dc2dfc3660ed9fdd9a730f00c0181 |
|
BLAKE2b-256 | 10e16fb2c4277b198e7f36b082d3ef7f86ae7cfe8e2fbaf5602dfa195eece9e5 |
Hashes for nanoarrow-0.4.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 332fffa865a3ba5acc5d76fb9bfe75ca3d7308d8554f22b7fbed044150664f7f |
|
MD5 | efa1d6a884a84f7ccc3b2ad026ef6e7f |
|
BLAKE2b-256 | 23ca97d5336475525a7feae3389f51b2d9dfcd5c3e25728e4c23b130aaa88de5 |
Hashes for nanoarrow-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90919c7a95cd1aa5c9b10e1a695d630ac0dc0051f388e889a03d94023686e93c |
|
MD5 | 694e14c0d84984d776b3f5d1155ca829 |
|
BLAKE2b-256 | 605e70cd811c58fff7cc2c0218a72bfd15428a9c5eccb8b50ab6fceae4619929 |
Hashes for nanoarrow-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a1ca352e6d281e774bb1fbe4e9d71390c67dbefe2784bde66f9717694957c52 |
|
MD5 | d800b859558f626d0f056ae481e7ba14 |
|
BLAKE2b-256 | b75c5c0217e928cfd362b216186838d11ea656cc65027673962b96e56651ff1e |
Hashes for nanoarrow-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e67995fb855213296f5384d7e68183a6d5b640495688e79faf78364e18fd80d |
|
MD5 | e79758eee43573a152945f204cc569fe |
|
BLAKE2b-256 | f0c93fd455592215ae395b0cac2dea6f7d7301f4cb090c2c749a7aa4fbf53034 |
Hashes for nanoarrow-0.4.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1da5230608ebc2d9326c36cb006a6bc63323fd8f80f2b3fea90de290a1f89e41 |
|
MD5 | 5b055da82b697116a97b4b495a6671d9 |
|
BLAKE2b-256 | fba9dc972b19c11af8479cf708ba0878ecb838c19575c0c25694ca81cf26cd85 |
Hashes for nanoarrow-0.4.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb30645b852ea9be87b9c667bc947ed0b728752b81edb0b8e92d2f0843e5553a |
|
MD5 | b5abb56c23f2460516b5340b7d6e3ae2 |
|
BLAKE2b-256 | 9372b3e9f3a08f4f86c5f6c9a7d1c1f6f7c7ab067334e7cdf6961710c2795ef5 |
Hashes for nanoarrow-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0425028ed20d071c293201c743077107d41d234c4f3d64fd8d7e104eaa738f64 |
|
MD5 | fc0016542e7c04f5ffc2a986fbf4fdb5 |
|
BLAKE2b-256 | ed81ad8c22c2305004d9bc79fcc10957346c5467f6694424a6e6c51385d544a7 |
Hashes for nanoarrow-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ef8df794502dfdc4754179724aaf4481f177bbab896300277b661cbedc1e708 |
|
MD5 | c6618fc043f606c6cef040d5899715a6 |
|
BLAKE2b-256 | 58330999ebc2125d685c2e5186725f52c6faaec58cf4cab404c3fdf961904dab |
Hashes for nanoarrow-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa0735b0b9e72df7a22fcbf881e67dc62e771a337dcf5bf973d6a3051fdf4de6 |
|
MD5 | 1467f4d44b1e099a46bbb64465771591 |
|
BLAKE2b-256 | f2a76ccce9ffd82c4828d52ceb337db4621fcc06f905f995914632d3030f98e0 |
Hashes for nanoarrow-0.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b4c83c892af38c03380a4b4f23b0f95612deb06bfc1db860d71fdc4c887276f |
|
MD5 | 1e19a4f175b6981dba178bd49ca6caf5 |
|
BLAKE2b-256 | 95fd5ce69a88b5308d808e6ae4ce9ecd9d2aa048da4ec157bc9e16002b197861 |
Hashes for nanoarrow-0.4.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa2a5fd47610b251fe7ccb706e805fe997f419e85af7ca12fbff3a0a74a2b090 |
|
MD5 | f9567604596ad57febde5d554a50f26f |
|
BLAKE2b-256 | 14b1c4f6a270a76e01b7882d83a63e01322eeae9206f4084fa6516bb9ca23003 |
Hashes for nanoarrow-0.4.0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6ea931936812cf6ed1e9b084282e7e753c7678ee9c67e39738d7f93aba057da |
|
MD5 | 6ec15b22fc9c105fa09bdb4c19997291 |
|
BLAKE2b-256 | 690d6365a3b1872e66cd3a7cf1734422a3c0b6ae63e4eb632cb887d1f923c349 |
Hashes for nanoarrow-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddf8fd661c52bb0e51516cd030e6b6d43a9c4f435d8d5b4b16cd7c8e65cc871b |
|
MD5 | ebed3f21edb59d6374ba5c8127cbfc36 |
|
BLAKE2b-256 | 0340286ed29cd9ce217443624396af5eb9413bdae46ab40902266ec7f8944fc6 |
Hashes for nanoarrow-0.4.0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9cf61c673f9a7830acd616aa3f6dd946b576650f8413b10c876017b4152052a |
|
MD5 | 0f97491bbe9102eedec430d71381fa2c |
|
BLAKE2b-256 | 303c9c2a88caa5390272fb8c1b6253d5197a7be88d7d3aee8a07f8a3a4c3aa98 |
Hashes for nanoarrow-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd554a9fb814cb7b8788225314e7cc73f31a0dd906a195a32510e3d43a708f88 |
|
MD5 | 834dfa43e82674c6eec82cfae3475283 |
|
BLAKE2b-256 | b7665bff2c4676838ff4ca971326d9bd6039e303ba44d1c6fa60678e15f5c4cc |
Hashes for nanoarrow-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8feca5548f7461e76ad4a96d570a051eff38682e8a8a65cae9e128ba50698b5 |
|
MD5 | 551eb9358e552328e2b7d09a7a575294 |
|
BLAKE2b-256 | b85b745fd26eef156998fd9d3bfc1f6089f1cd3d6fd132defe9bd4ebf2c66351 |
Hashes for nanoarrow-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6f637cc41d6c25f7643dd945c69862a61a82d201d0fb649e2d51ddba305d35c |
|
MD5 | 7bebc8462ba845649109ed837767bffe |
|
BLAKE2b-256 | e99a5cb7c7dc05cd5123b1f8977b23b95db7835eac16d55e5caa21747473e052 |
Hashes for nanoarrow-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dae9f821684d37897916de0d2024e344fc975d9e8a15b07006c7816c3a066b4 |
|
MD5 | bd9e981b9ade53afc44df94e6117d534 |
|
BLAKE2b-256 | c7005986bf1240b083bdaf77997ddf27b44089354d9d7fcd2e894e185d1887a2 |
Hashes for nanoarrow-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 829c5d29eaf5c0e2559b60929ee092a9fd7e4dd80e42c93b3434a04f536b1490 |
|
MD5 | 66fe9d59fe11c73a203ac02a4e500d7e |
|
BLAKE2b-256 | f43494d512c1629d9ed8ebc5e6373de99c2eddc7b11a6f7841abef46309f74f1 |
Hashes for nanoarrow-0.4.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8fdbe2f4b994352a58e6af89897db4f9329792874fc29689ea429c29a4f3cf8 |
|
MD5 | 02b6e565238b149362ae9135bf511e60 |
|
BLAKE2b-256 | afb14fc0c9130f5ad3e82a21bf3bd4a899fd1867cba6d34a1d64d3ae559ec7f5 |
Hashes for nanoarrow-0.4.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c09d258a4794afaeef7abc307c77c991d605c574bb7342b5f7239ad233598a8d |
|
MD5 | c0cac0d602f72d56aa7ed5ff916e62c7 |
|
BLAKE2b-256 | 05a6910f2be0eb72f4a4965246ce3495723012df70afa0465637c9f934421913 |
Hashes for nanoarrow-0.4.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f7d5550db903f14d5631fc62d6e9c120a27c979f9a312f41c6e10da0403144b |
|
MD5 | a4d038d3afaa95f096d624f576eb11bc |
|
BLAKE2b-256 | 0431cc949b8835e6a89dd0cc96ca9af6dce73e713b0c3a7cc0dcabb23df2712f |
Hashes for nanoarrow-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a722f49ba108f94cfc9e481466057877da8ad0c5e9c4de2764131f2adaec7625 |
|
MD5 | a598b4bc0a21b11c265aa4b12f90de93 |
|
BLAKE2b-256 | 60e91b60f383e3f1720a58fd250bbf23cb14f0080e7582e0deaab593b3f5736a |
Hashes for nanoarrow-0.4.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dd6d6de053d6a109460fc0d61b1c45f7579e1e089cee2deca36ab6902e99f0d |
|
MD5 | 1fbc74579d0428096c73f52f5ae6965f |
|
BLAKE2b-256 | 1240b53fbeff3f978e121d87358a653efb658efd1e05e8c075a096397c327c99 |
Hashes for nanoarrow-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f78ebf50cf0289c25d21a2a80d39b1498875f6ca18a35fd86fb3112e295b7c72 |
|
MD5 | 09c80b93d0b09db2435cfd103373fb56 |
|
BLAKE2b-256 | a578233a45dbd1da48c09091a626cd9917a4a3a1eabb1a669a96021cb38d50ed |
Hashes for nanoarrow-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3864fb508db0fff7040b92e1fd7ed6ba9f46549d16462e70ccb8bc82da43bcb |
|
MD5 | 6f59bcfe65c6041f6f2e39a6e2ee115a |
|
BLAKE2b-256 | 7f6631ca132c8f90880bc8d091c068c4bc51d1d2ee0613ae4f716289216fe735 |
Hashes for nanoarrow-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1b6e137ea45a861cd6838a097ddfdb17c0d9bac9aa22a178f79b7296fce0fe0 |
|
MD5 | 3e8b8736f4391dea6c1c3f0f8d20cbcb |
|
BLAKE2b-256 | 782c0070d033524a78b4da90c1a3e7bb95c694d487ee92e7ebaa990b52012d7a |
Hashes for nanoarrow-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aafe32868897d911ce8c154b515bb427f8d9fb442e3a0e7ea303b48cc3ca095 |
|
MD5 | b316026281f421c28d7c942cf033f550 |
|
BLAKE2b-256 | c5624fca7d5f887517e49367786997089aa11da9b1d41d4eef620fa914ae31e7 |
Hashes for nanoarrow-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2ace2d1398852a5f00f22f3814d9cf2e70c64003d2e50437a9098446f85f6b |
|
MD5 | 1c9ecd83589eb63b8223c4d91b0588a2 |
|
BLAKE2b-256 | 27968db2c952f9ba006b348f39141d39c5c9f34047e5ebdd5f74ca44d67937e4 |
Hashes for nanoarrow-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb53fbaace277216669880c7adfe073e7d02007ee813aadd71d4b0bb7bf6abbd |
|
MD5 | 799fc6efa596a2dbb70c23742301208a |
|
BLAKE2b-256 | 94b2465ba506cbfef5df598ed2469e49294ba5fe276f639a5077558d6b9ae50a |
Hashes for nanoarrow-0.4.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b161e52e9ef5baee8ac079a88863673b601c187f142d949f5ff88b4f354f9018 |
|
MD5 | 6feb1d3036e0218eddc1ac75983e525d |
|
BLAKE2b-256 | c0af0fecc03b8e0018c27c38c26c2d0a5f37c529ddd5e417d8f63594610599ce |
Hashes for nanoarrow-0.4.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee859cb9f15306497593d61f28355e17db23774e181312f9ecb6cb4d1a145443 |
|
MD5 | dcb51dad463190eb140f6cf1b48ee3da |
|
BLAKE2b-256 | 571610cebe77bce112d472eb5f86e2331d7a36c037dc88708ca95e1e9fd2a5dc |
Hashes for nanoarrow-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c299715b6f57a93e3e318f0c53e94e9f99d4d6c45175c021589fd64004eb9b7 |
|
MD5 | c9fa32db66c3287ad58ca38e47907015 |
|
BLAKE2b-256 | 2b95dc6ccba7dceff3354fffe38c9ef9c65ee1e2d50bd57098cd93fa03aac18c |
Hashes for nanoarrow-0.4.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1237b5643f8c7310b1a5c04fb6f5974eba2adb500270c46b8b9998d9e20c8355 |
|
MD5 | 17a7094a2bc79601732387ec85f7a4ec |
|
BLAKE2b-256 | f29d615b17ddeeabed5fb587e866b2f080e51e1171ffa00e7fa71151ea453733 |
Hashes for nanoarrow-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bde17c1cc634d65fe7678135c324229f22b28379a8970df7dfefc76f8ee4f5a3 |
|
MD5 | fd29e1c48040b1df84eb38551485e907 |
|
BLAKE2b-256 | fb42c42a2d820fb7b592495aac86b713efbdd2420430e98898833d032dd40cde |
Hashes for nanoarrow-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30d7aed3df5f9653e9d38e94ef0e135475c91b20192c77bc9556f3efa29742d |
|
MD5 | 6e981454cd05bd0cd85d12b99ad9bbe9 |
|
BLAKE2b-256 | 9d6b68afde2d99f9d1ace52c06e2b74eee0e2512930f311800e8ecc159017ffb |
Hashes for nanoarrow-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352d5f941b9d2a4a64b7fc454e44ea374f851f3376368c9aef2ddb7241ae8c69 |
|
MD5 | bf4453a38fdb101742516059fd41aa58 |
|
BLAKE2b-256 | 39071da9368ddf60fe71df17832bb6ee8010753f67bb761426821a088fb5fc7e |
Hashes for nanoarrow-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58792adcb5a1e4b6b251b1e4aec702ad108c7ca50a927d2eecbd8ae9d8f9868e |
|
MD5 | 828e2087cc3f78d50cc2b81b2f728b17 |
|
BLAKE2b-256 | c8943150c8dfbc013fb1fa23cdca845bac6a1740fbbb202fbbb6de5dbcc5985e |
Hashes for nanoarrow-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e527753712ec0acef2a5b7c70229f4fb82091d1095c9f2be8affef79335f2db |
|
MD5 | 4874f4e35ea60ff3a09b6237142fa6b6 |
|
BLAKE2b-256 | 6a413382d19bf2a6ec1a7bb783f55dfa2e5217bda6859fc159bf128651b27480 |
Hashes for nanoarrow-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dfb1cc484c2d5c47ebd8089b6b42c89b048526d6140436a195ed983d563b9ce |
|
MD5 | 4ba52a7645137debd8bf1551b7dad4a9 |
|
BLAKE2b-256 | cb96e92410fce0073ec89fe470e78268e22a8cc45701fb099f5fdb34d3a84578 |
Hashes for nanoarrow-0.4.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64dc456130501ce3e4ff02655ed6bf22826ef2d8d12ad7aa1f9ff522e1933c09 |
|
MD5 | 990f79847be872718a3d01fcf4a001ff |
|
BLAKE2b-256 | 87b71612012485b6796b86c6989ec44569e77196c8dfeb53485fbd540b7ab36e |
Hashes for nanoarrow-0.4.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 730aa44bc13de781ec38920d1f041915a6755ffc84ed389b9db46d494e6c4808 |
|
MD5 | 21127f1d40b43e8cf745a81b0156bc04 |
|
BLAKE2b-256 | 4fc5792043e5c0bf4ed407c0737551449b710059864b95e23c4347eb16ed8eb0 |
Hashes for nanoarrow-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c93c54f2ac42a1eb4c235fc8f24cee6ee2692499f6469afa84254aed84be921a |
|
MD5 | 4246441c39c448b9c6d65c88e082e535 |
|
BLAKE2b-256 | d62381d223242de9376e71cb9253330ac37deda4446cdd0b501e43197232355e |
Hashes for nanoarrow-0.4.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abad9286ea17ef53f8fcb04cbedc377116280ba8ad36c6e9182184be67b9573f |
|
MD5 | d874bfb045b741d94aba4fde4ce507a1 |
|
BLAKE2b-256 | f132a318408bbc07ab0b5d928358b36b9542146d8864a8092ea00ea7f2094c9f |
Hashes for nanoarrow-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a74a7fb721a48d5693d00493de382d1d9b547305d824668e2baddfb5a858767 |
|
MD5 | e81b5caeaf85166f5218adb4cbca13be |
|
BLAKE2b-256 | 422d8aff3323f58196d739b3bbaccf52e5a69dfbf32654a03d0e28e30af4db68 |
Hashes for nanoarrow-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5243876e9b0c55fdfa31dec4048d57b98ed0fb2dd7e7356defd5bb8ccd3b21bc |
|
MD5 | 7b8ae4e9a4c798da989c4990f01a195e |
|
BLAKE2b-256 | 03eb92682fdefc11639179610cbb8402dc8d1f3db9f2c1dec32b576f3b928b54 |
Hashes for nanoarrow-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6894cc96333e521a3a5ff78366db88c62159870adb59cfc86a443cbc6d9d0c79 |
|
MD5 | 8aa033ca4d1cb40d8de085c497da14c0 |
|
BLAKE2b-256 | 7651ac1e8eb5e7aa92b8837abd95df74dbbe546e7a9fcd605b90fad1187fcf8f |
Hashes for nanoarrow-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddefe4e40dcb785c397b2acac59de21b3ebae542e75a728be5b2e788b99cab8e |
|
MD5 | b683327455d8e31800147cf2b4a6291f |
|
BLAKE2b-256 | afde20565e57180eae06f5e5d9f4f4cc15b481550fd647a7de91ef5505698aa5 |
Hashes for nanoarrow-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ece7f515ca9a6f353d4f634250b4db01520257409feca116b306ebc4f635a3bc |
|
MD5 | 4139911d6e57abd49c519917b6e25124 |
|
BLAKE2b-256 | 4294cdd4d58a3fc541c8649433b569a624d851ab113ba44a2e452f4c1fe71032 |
Hashes for nanoarrow-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24bd772124562451276cf09258e830567b73eb20739726163038956b0162cc1e |
|
MD5 | bdb25c625983a6b950ea6628b440da02 |
|
BLAKE2b-256 | e7bc796e176d5a2df65a792ca1ea26ce6136aec7df1a7b3b8d370a72339adf0d |
Hashes for nanoarrow-0.4.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e14c3c1481cc6e49da7f277cb281223a9ec5c1d3c22b4e120c290d01e66fbf0 |
|
MD5 | 4cbb87d551e7ae2296d07317ebebe293 |
|
BLAKE2b-256 | d79836f64191a45ae5479ec99cae18c462e56580879a6ce6991f3ec54020c7af |
Hashes for nanoarrow-0.4.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50d64904d190f1482385f450bf0345a4c5ec18aab20f1e05e0f48cb0f01decfa |
|
MD5 | c54955dd9b261f37510933da9d7a16d8 |
|
BLAKE2b-256 | 0a2c55fad85c89b818167115fc61063d7d3cabb05e79fbce2508337efbe2f65b |
Hashes for nanoarrow-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8374adf094d18a39217f4be6648d29bd72ccfa80a2065614a2def7913605747 |
|
MD5 | 6b2636f08645303ccc73792448f8c11a |
|
BLAKE2b-256 | 038c71e9c72f780a65087bab4d9c50e37857f4e7b5d91f99c0a5bb0e09d6c5a6 |
Hashes for nanoarrow-0.4.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e81597d00cc1bc176dd20681fdba0838387a7addd01b854ccbaa51ed36aecac7 |
|
MD5 | 470e8f76dfad641207fce37492261a56 |
|
BLAKE2b-256 | 1f2815aedf7e53fa92a9e25d77ad918afdb8d3b67cea850950144dac8c015bc3 |
Hashes for nanoarrow-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d89d2f82fdac36f0e6ecc09ba43389d51389dee495a10e156945d776b1e811 |
|
MD5 | f60e529f43b5fad8e03c56d206af334f |
|
BLAKE2b-256 | 6d9d6ad394df03e7843cd708b79af89f52146a40aa93eb9eb0a591ac551397ed |
Hashes for nanoarrow-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fb7d990d530996ec45766448109e0eb4e794d4e03cd53260edc95b340f23f05 |
|
MD5 | 463b4b15522637728df71a5fca6a1330 |
|
BLAKE2b-256 | 9e39815b7f452acde80014b1f0d514063a780b28a612c74b728e71b0a33f6ad0 |
Hashes for nanoarrow-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 411eb93e5eb6ec1e631c8b80d5dee5df21c7d3c37aa52c6918109b28919b424c |
|
MD5 | d9125046f95c6173d73f7371243e8680 |
|
BLAKE2b-256 | a83cd3bd0ece58c593a84e1c0e2bcbad27fb60b45b2516b1c073864766e36aa3 |
Hashes for nanoarrow-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 456203d4b7257b9b1fcc395c6c9fff83a567063a4c89b7fc733e433e256451f8 |
|
MD5 | 88ae324ca78d15c7a0aa374768983e2c |
|
BLAKE2b-256 | 1e8b146cf04f9e3820da21c0f315285078a863abc716790ab59519e0d964b6cc |
Hashes for nanoarrow-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5770a0c7fca1ed3c8081f92f691f153f3f8fa388c0710d5683810d2fcc4f56e |
|
MD5 | 496abb5c40ebbc92b4b92cbfc154565a |
|
BLAKE2b-256 | 1d4764e1d896ebdfcfe94d8f8f4c5740e5a4727e5a5b4124aaf207d11eefc1ed |
Hashes for nanoarrow-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddb305f8e3baf77d37f55d7c3a1a3830a9664d95d9cf92a882fa4015a69dc03b |
|
MD5 | 694dad13838be678bf4f97e864574063 |
|
BLAKE2b-256 | 7a3ed50266343fc58a0893597b14aa0b8b4c839a9bf8b76859cce366fdcd6119 |