Skip to main content

A zero-copy file-like wrapper for byte buffers, inspired by Rust's std::io::Cursor.

Project description

io‸cursor

A zero-copy file-like wrapper for Python byte buffers, inspired by Rust's std::io::Cursor.

Actions Coverage PyPI Wheel Python Versions Python Implementations License Source GitHub issues Downloads Changelog

🗺️ Overview

iocursor.Cursor lets you wrap an allocated buffer (i.e. a Python object implementing the buffer protocol), and interfacing with it through the API of a file-like object. It shares some common points with io.BytesIO but with the following main differences:

  • zero-copy VS copy: Cursor will not copy the data you give it at initialisation, while BytesIO will. This makes Cursor more efficient when you are using it for read-only operations.
  • static VS growable: Cursor will only use the buffer you give it at static memory, while BytesIO will use its dedicated, growable buffer.

🔧 Installing

Install directly from PyPI, using pip:

$ pip install iocursor

Pre-built wheels are available on Linux and OSX for all supported Python3 versions. Otherwise, building from source only requires a working C compiler.

🧶 Thread-safety

iocursor.Cursor instances are not thread-safe. Using several Cursor instances with the same backend memory only for reading should be fine. Use a lock when interfacing otherwise.

💡 Examples

  • Use iocursor.Cursor when you have bytes you need to pass to an interface that only accepts file-like objects. For instance, pass a PNG image decoded from base64 to PIL, without copy:
    import base64
    from iocursor import Cursor
    from PIL import Image
    
    imgdata = base64.b64decode("iVBORw0KGgoAAAANSUhEU...")
    img = Image.open(Cursor(imgdata))
    
  • Use iocursor.Cursor when you want to use the file-like API to write to a buffer of known size. For instance, retrieve a file using the pysmb API, which only accepts file-like objects:
    from SMB.SMBConnection import SMBConnectSMBConnection
    
    smb = SMBConnection('guest', '', 'client', 'server')
    smb.connect("192.168.0.1")
    
    info = smb.getAttributes("Music", "The Clash/Rock the Casbah.mp3")
    cursor = Cursor(bytearray(shared_file.file_size))
    smb.retrieveFile("Music", "The Clash/Rock the Casbah.mp3", cursor)
    
    buffer = cursor.getvalue()
    
  • Use iocursor.Cursor when you want to do direct I/O on a type implementing the buffer protocol. For instance, initialize a numpy array by writing bytes to it:
    import numpy
    
    array = numpy.empty(4, dtype="int16")
    cursor = Cursor(array)
    cursor.write(b"\x01\x00\x02\x00\x03\x00\x04\x00")
    print(array)  # array([1, 2, 3, 4], dtype=int16)
    

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker if you need to report or ask something. If you are filing in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.

🏗️ Contributing

Contributions are more than welcome! See CONTRIBUTING.md for more details.

⚖️ License

This library is provided under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iocursor-0.1.4.tar.gz (16.9 kB view details)

Uploaded Source

Built Distributions

iocursor-0.1.4-pp39-pypy39_pp73-win_amd64.whl (23.1 kB view details)

Uploaded PyPy Windows x86-64

iocursor-0.1.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (19.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

iocursor-0.1.4-pp38-pypy38_pp73-win_amd64.whl (23.1 kB view details)

Uploaded PyPy Windows x86-64

iocursor-0.1.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (19.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

iocursor-0.1.4-pp37-pypy37_pp73-win_amd64.whl (23.1 kB view details)

Uploaded PyPy Windows x86-64

iocursor-0.1.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (19.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

iocursor-0.1.4-cp311-cp311-win_amd64.whl (23.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

iocursor-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp311-cp311-macosx_10_9_universal2.whl (29.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

iocursor-0.1.4-cp310-cp310-win_amd64.whl (23.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

iocursor-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp310-cp310-macosx_10_15_x86_64.whl (20.8 kB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

iocursor-0.1.4-cp39-cp39-win_amd64.whl (23.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

iocursor-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp39-cp39-macosx_10_15_x86_64.whl (20.8 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

iocursor-0.1.4-cp38-cp38-win_amd64.whl (23.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

iocursor-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (44.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp38-cp38-macosx_10_15_x86_64.whl (20.8 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

iocursor-0.1.4-cp37-cp37m-win_amd64.whl (23.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

iocursor-0.1.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp37-cp37m-macosx_10_15_x86_64.whl (20.8 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

iocursor-0.1.4-cp36-cp36m-win_amd64.whl (24.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

iocursor-0.1.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.3 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

iocursor-0.1.4-cp36-cp36m-macosx_10_14_x86_64.whl (20.7 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

iocursor-0.1.4-cp35-cp35m-win_amd64.whl (24.2 kB view details)

Uploaded CPython 3.5m Windows x86-64

iocursor-0.1.4-cp35-cp35m-macosx_10_14_x86_64.whl (20.6 kB view details)

Uploaded CPython 3.5m macOS 10.14+ x86-64

File details

Details for the file iocursor-0.1.4.tar.gz.

File metadata

  • Download URL: iocursor-0.1.4.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4.tar.gz
Algorithm Hash digest
SHA256 98ad5b336429d5cd38535a805a2cb537e22804c26cf595352f4459150fc68f95
MD5 1612c45c3fd0cc5192444b07411eaf6f
BLAKE2b-256 a5d755f7a6fb6afabb98cae75a7ce4ebdba8364a4bfab5ac58bf73ba505b7efa

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fed703a01bbb1729ecf5f58cfb6e6228ea8d8afab261bc3526252c850fa15c37
MD5 088d2219c03fafc5d25c78cd68d39edc
BLAKE2b-256 a48fd5f1330ef252a34598396db7c069bd6598e6f91ad55711e36a8d48e5c766

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 67cf3e59f1d29a2fee1488645003d0d5bea094be5d008e050817da900d1f8617
MD5 f0684bd44ddfad974b08fbef49fc0665
BLAKE2b-256 3777c50f723daaaf0262ede4d5081dd9b8a9005e791f9c2edd0029235eb34544

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 f0ec8157fd44d471819b029f5583b7696198581ab154f3b6afb4251abba3ba48
MD5 2793af5ac14dbec9e299a48aa28d495d
BLAKE2b-256 0e9ceaeacaaccb30593815f6921452e3368ecfe609ce122af13189e1ba59fe1d

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ece32ac5e4bd633dd79ea972a7f87a6a122ccf30317e74f9acc09a8cd706991e
MD5 2aa597c12b6d7c96728bcbae0de745b9
BLAKE2b-256 b9e499769c630f86c6972b4edbdb78812754661592c50233516526701342a8eb

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 5e327b96a8c27dc7a9369ed4f9e6f88729d8e57c3284d2d77e04a3cbcfe5c647
MD5 80fc0edeee5cfe357e8c290bde841a0a
BLAKE2b-256 afad135ba26167b7e1731fb741620d4f150fe8e847425d4e1e7c969dcf66189a

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 314abb68f01dd726dcf38e3801e8dd407105d4bf59483d3fd96d4db35a0fc830
MD5 5626d563254adc8c2fff3d0fafadd20e
BLAKE2b-256 918b49229f9cfb06d101a353af0cf0001eb4af8f05c0ea5e88c74b410c4f602f

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 152e1619baab9373f54b6da9b50ef56e432ec1f8e9539199499215e96a89335e
MD5 11c975103f183ecc980bfa38d524fb63
BLAKE2b-256 d21d1d0206545da7f12ef79c50f4b3ae9d17d33cd4a2af548cd191c6ec394a67

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3eb9de1ea3f766446cf1df06095414b898d0269a9ad1373fd60b4ce807a9acfa
MD5 c8d9c157aab0e4e07c0d6e660252cb22
BLAKE2b-256 857e34b87bae3b06efc4e708d82e75b530c3130db5603c6b7c8f8948b1687dc4

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dd3fbde34c0b82673fd88c7fff0f39cd5edf1b917450fce68b839af526713b70
MD5 ef9b682d198b3d7a019249ef571571e9
BLAKE2b-256 f623a3d54f9b659294dc017d8c8c083d97a5ea07015d180f30d7c81d77c88aa1

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 18592e89e9020cfcb09618c2c2ad6e6725588970760fb2d09842f0e40f6c2abf
MD5 744b72ba9fdf4a8a254f22d89d68189a
BLAKE2b-256 92333f47a81b174bacb95e2f599fb592f51cacef7e6399d98914a28216335813

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0e9033be2c3d7ac07f91e5ed98f4eedc0961749a6dbf5cf9b8abd1f81ff9d9e
MD5 f9c1222737faaa893e7d5812261685d3
BLAKE2b-256 b7843532f8daf98fff92687cc72218a15dfa347497de5c38e020c520f9be613c

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4e1d50c3d33a88f8c42da7b900e9cb3626b82f4b87b1e0d5217a51ce6c8b62ba
MD5 81bb13b9438fa1e4047065c8ed66aca2
BLAKE2b-256 0a159de063d950435dd60f5d4739f8414fec402825163b37e07ebfd48c2ecd19

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: iocursor-0.1.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b84a55776255748b8ff439bb8776f5680c13af7bbd1b2ebe5bd2ef037c6b95b7
MD5 14b909cfdc8e72e3aa8afd34550595a4
BLAKE2b-256 816d38e8e6eefac5a5ed0864f93eb6b1a150e68f015cfd13c6fe7957517f8ac6

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41b7862b26d631f94785db88288e46d5ecb9a218b9da64aca572200bd4843e92
MD5 809ff464ebd08dbc3fb90725f589f285
BLAKE2b-256 79e2bd13cb38a11add6cdf51004b92aa1acdfebdc86d76fa4ae77feac277ef89

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 37758b3b08e2ee79f886f0a8e633ff417c358ba834ac3f1ad64ce85975dd0125
MD5 df2372bc10d3bac3864b64bd87de09ae
BLAKE2b-256 0c50f70bfbf2a2fe0126d62acc74e98d06795be6402c10a77ec6ae4661f11b67

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: iocursor-0.1.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f9b0e7c43cd91054c2c4e266cd29660ca0a75016595af2e537322d024d6e9097
MD5 544c8ee6203e64528fe072ac61348db9
BLAKE2b-256 3cc3bec6e1f647f6353385fd83c06e3dbc1d21a5f9ce157c955339948e012014

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0488c929beb723c9f9c000f875675e7b72422e8f07c32ecdca0f2e8a0034d6d7
MD5 6f0dea2030427c1434f153773203ac17
BLAKE2b-256 709ef501a7e848499b95ecc47e4220c972b9d49c45d857ad24072d7c426dca29

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 07ee01205680c91f4f8bbdac12705b2eb0f47ed9c6ad7a31a37f10adabd5e289
MD5 87dac3ca370bfc87d0236c8d4645e858
BLAKE2b-256 d8e6f125c4abb604968744c9448b5705aa65732221ac5e06cecf034fbcf33cd7

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: iocursor-0.1.4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2e32a156edc0608191548bc728482fc6eb8e4ee3f4ba289fa837360130c784c2
MD5 97c2756c536a849f38478e6ea29c4cad
BLAKE2b-256 c5558641a11ce84bf0295525590bfcbae47274e3f54f0a5e39898f75b0d24876

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f56ea91d08455889e89b23d977071bee9aee0aab20c6bb2b4569ce21b06df3d
MD5 6e8713d3102e788e6aedeac7e9a69b46
BLAKE2b-256 c412f7522e0ce5dc5d15c0864b9773105140fc160007d63542111f8188f10de3

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cc263e97b9edb5f685c37466eb69eed7e0f15f655da0e44f3d035fffd6c72a41
MD5 25dfa56893713189151591a87b437989
BLAKE2b-256 405a3cd865cd2e02bfd732f64ee110f1ad5a85d8b565409264f45924637901eb

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: iocursor-0.1.4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 17e565545592fd1dcd7f35ffd04cb4505e3ef976fdc4127c1f6bf1ef1fd1157d
MD5 d060d6b78e25133e403866664537528e
BLAKE2b-256 570867ca7fc2d64bbff69ba83e0f3b3b65dcfa81df3aa9ff0f04da689ef108b4

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1eb655bb7e295fb4bf2d6a8e33eee265d724bae0ae8ae04f733e4da05fa2d203
MD5 96ba66e5d80233dabf668507fb5a0aaf
BLAKE2b-256 52f905115a2e3f1d0a03755d2cc6c545eb660e5b3126f4c361886583c8d5f038

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b84d0634aff542a836aedece5709f34d316296da4c88903fed9425b7fa781e80
MD5 54f4004414847c081e1a296a35c1ac16
BLAKE2b-256 3db4ab38eb48262eb6cfe0511c77ed5c65157b9db8c4c6076b8ca798ef315834

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: iocursor-0.1.4-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for iocursor-0.1.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 62c976dbc927d58d9051cf94087b085e1e73b282ec0dbe9946cd8b6ed48ed64b
MD5 3622123fbcd2725c52c3c5a8399b14bf
BLAKE2b-256 3687de548ddf4624c8d176309c3b1e4aebaa37846cbd312ff1e352b74dfa311d

See more details on using hashes here.

File details

Details for the file iocursor-0.1.4-cp35-cp35m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for iocursor-0.1.4-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4770a8561248a4febccadd520f7c7e47d6ade2e3f7984a07d284bdc281da4f97
MD5 f57d2040425cc524da875f5cbee68446
BLAKE2b-256 16d4d6a07fd12e525e57e7c749d68d8c023439fb8b7aecfcc2ed684ab35277e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page