Skip to main content

No project description provided

Project description


RoughPy

RoughPy is a package for working with streaming data as rough paths, and working with algebraic objects such as free tensors, shuffle tensors, and elements of the free Lie algebra.

This library is currently in an alpha stage, and as such many features are still incomplete or not fully implemented. Please bear this in mind when looking at the source code.

Please refer to the documentation and to the examples folder for details on how to use RoughPy. If you want to implement more complex functions built on top of RoughPy, you may also want to check out the roughpy/tensor_functions.py file to see how the "LOG" function is implemented for free tensor objects.

Installation

RoughPy can be installed from PyPI using pip on Windows, Linux, and MacOS (Intel based Mac only, sorry not Apple Silicon support yet). Simply run

pip install roughpy

to get the latest version.

Alternatively, the wheel files can be downloaded from the Releases page.

Installing from source

RoughPy can be installed from source, although this is not the recommended way to install. The build system requires vcpkg in order to obtain the necessary dependencies (except for MKL on x86 platforms, which is installed via pip). You will need to make sure that vcpkg is available on your system before attempting to build RoughPy. The following commands should be sufficient to set up the environment for building RoughPy:

git clone https://github.com/Microsoft/vcpkg.git tools/vcpkg
tools/vcpkg/bootstrap-vcpkg.sh
export CMAKE_TOOLCHAIN_FILE=$(pwd)/tools/vcpkg/scripts/buildsystems/vcpkg.cmake

With this environment variable set, most of the dependencies will be installed automatically during the build process.

You should now be able to pip install either using the PyPI source distribution (using the --no-binary :roughpy: flag), or directly from GitHub (recommended):

pip install git+https://github.com/datasig-ac-uk/RoughPy.git

It will take some time to build.

Intervals in RoughPy

RoughPy is very careful in how it works with intervals. One design goal is that it should be able to handle jumps in the underlying signal that occur at particular times, including the beginning or end of the interval, and still guarantee that if you combine the signature over adjacent interval, you always get the signature over the entire interval. This implies that there has to be a decision about whether data at the exact beginning or exact end of the interval is included. The convention in RoughPy are that we use clopen intervals, and that data at beginning of the interval is seen, and data at the end of the interval is seen in the next interval. A second design goal is that the code should be efficient, and so the internal representation of a stream involves caching the signature over dyadic intervals of different resolutions. Recovering the signature over any interval using the cache has logarithmic complexity (using at most 2n tensor multiplications, when n is the internal resolution of the stream). Resolution refers to the length of the finest granularity at which we will store information about the underlying data. Any event occurs within one of these finest granularity intervals, multiple events occur within the same interval resolve to a more complex log-signature which correctly reflects the time sequence of the events within this grain of time. However, no query of the stream is allowed to see finer resolution than the internal resolution of the stream, it is only allowed to access the information over intervals that are a union of these finest resolution granular intervals. For this reason, a query over any interval is replaced by a query is replaced by a query over an interval whose endpoints have been shifted to be consistent with the granular resolution, obtained by rounding these points to the contained end-point of the unique clopen granular interval containing this point. In particular, if both the left-hand and right-hand ends of the interval are contained in the clopen granular interval, we round the interval to the empty interval. Specifying a resolution of 32 or 64 equates to using integer arithmetic.

Support

If you have a specific problem, the best way to record this is to open an issue on GitHub. We welcome any feedback or bug reports.

Contributing

In the future, we will welcome pull requests to implement new features, fix bugs, add documentation or examples, or add tests to the project. However, at present, we do not have robust CI pipelines set up to rigorously test incoming changes, and therefor will not be accepting pull requests made from outside the current team.

Contributors

The full list of contributors is listed in THANKS alongside this readme. The people mentioned in this document constitute The RoughPy Developers.

License

RoughPy is licensed under a BSD-3-Clause license. This was chosen specifically to match the license of NumPy.

Changelog

Unreleased

  • Added VSCode .devcontainer settings for containerised developer environment for debugging tests. See .devcontainer/README.md for instructions (@alexallmont #148)

Version 0.1.2

  • Documentation is now in sync with the main branch (@philipparubin PR #85)
  • Fixed a fault when constructing with larger than expected array (Issue #70, @inakleinbottle PR #72)
  • Updated README to remove old information, users should now read roughpy.org (Issue #74, @inakleinbottle PR #71, #78)
  • Fixed degree argument on basis size function (Issue #75, @inakleinbottle PR #79)
  • Fixed unknown keyword arguments not flagged (Issue #77, @inakleinbottle PR #81)
  • Fixed partition intermediates unchecked by Python constructor (Issue #80, @inakleinbottle PR #82)
  • Fixed path constructors now accept Lies (Issue #83, @inakleinbottle PR #87)

Version 0.1.1:

  • Fixed type promotions in scalar arithmetic - left hand types are now promoted when appropriate.
  • Added "tensor_functions" module for implementing additional functions on tensors. Currently only Log is implemented.
  • Fixed a few bugs in the build system

Version 0.1.0:

  • Added framework for integrating device support and redesigned scalars module to accommodate the changes.
  • Made changes to type deduction in constructors to avoid exceptions when providing lists of python ints/floats.
  • Changed the implementation of array for algebra types. A copy is always made, and the size of the array is always equal to the dimension of the chosen width/depth composition.
  • Changed the behaviour when no resolution is given. RoughPy now uses a heuristic to compute a suitable resolution for computing signatures if none is given.

Version 0.0.8:

  • Disabled linking to BLAS/LAPACK to reduce compile times whilst under development.
  • Greatly expanded the serialization support internally.
  • Many classes can now be pickled/unpickled for transport across process boundaries. (Note that this is not yet a safe means of storing and transmitting stream data.)
  • Overlay triplets are now forced for all builds. This should improve reproducibility.
  • Restructured the algebra module to improve build times.
  • Added CMake detection of headers to help builds with non-compliant compilers.
  • Fixed an error in the construction of PyLieKey in PyLieKeyIterator. #40

Version 0.0.7:

  • Overhaul the (internal) ScalarType API: . the overloads of convert_copy have been removed in favour of the variant that takes two ScalarPointers; . the single versions of add(_inplace) and friends have been replaced with more flexible add_into; batch compute methods and friends; . replaced single value uminus with uminus into with similar signature to to add_into and friends; . removed single value copy method;
  • Added constructor for ScalarPointer from type_id and pointer.
  • Implementations of ScalarType methods that are essentially the same for all types are implemented in a common implementation layer.
  • Added threading support in platform
  • add_into and friends have threading support if available and enabled.
  • Added default implementation of type_id_of so that non-specialized types look for a ScalarType object.
  • Greatly simplified the design of ScalarMatrix - it now only supports full, dense matrices.
  • Redesigned the interface between the Scalar linear algebra and MKL/BLAS+LAPACK.
  • Added function to query ring characteristics of a ScalarType - currently unused.
  • Added KeyScalarStream for constructing streams from array-like data more easily.
  • Implemented the from_type_details function for scalar types. This fixes a bug when constructing objects using the dlpack protocol.
  • Overhaul constructor for LieIncrementStreams from increment data to reduce number of copies (if possible) and to handle non-contiguous or oddly shaped data correctly.
  • Change implementation of LieIncrementStream to allow adding the parameter channel during construction.
  • Change implementation of TickStream to allow adding parameter channel during construction.

Version 0.0.6:

  • Externally sourced streams (sound-file streams) now support setting channel types/schema in factory function.
  • Added option for customising file name macro in exception throws.
  • Made some improvements to the internal interface of ScalarType to allow more efficient implementations of vectorised operations.
  • Added fast "is_zero" method to Python algebra objects.

Version 0.0.5:

  • Added free functions for performing free-tensor, shuffle, half-shuffle multiplication between pairs of tensors (of either kind).
  • Added free function for applying the adjoint of left free tensor multiplication to arbitrary tensors.
  • Improved exception usage, messages now include filename, lineno, and function name to help locate c++ exceptions passed through to Python.
  • Basis objects in Python are now iterable.
  • Added split_n and to_index methods to Tensor key.

Version 0.0.4:

  • Overhauled the RPY_CHECK macro so it now gives much better contextual information.
  • Readme updated to reflect PyPI installation with wheels.
  • Antipode is now implemented in libalgebra_lite, and exposed to Python for Free tensors.
  • Streams now carry a support interval, outside of which the signature will be return trivial.
  • Build requirements fixed for non x86 platforms.
  • Expanded coverage of pytype stub file.

Version 0.0.3:

  • Added datetime interval support.
  • Integrated schema reparametrisation into stream signature methods.
  • Fixed bug in names of scalar types, names now display correctly.
  • Fixed bfloat16 given wrong scalar type code.
  • Added half precision float and bfloat16 to py module
  • Added real partition class and Python interface.
  • Implemented simplify method on Streams.
  • Added polynomial coefficients
  • started an examples folder

Version 0.0.2-alpha:

  • Added datetime and timedelta object support to tick data parsing.
  • Expanded build system to include more versions of Python.
  • Stabilised compilation on all three platforms.
  • Fixed numerous bugs in the build system.

Version 0.0.1-alpha:

  • First alpha release.

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

roughpy-0.2.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

roughpy-0.2.0-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

roughpy-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

roughpy-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

roughpy-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

roughpy-0.2.0-cp312-cp312-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.12Windows x86-64

roughpy-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

roughpy-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

roughpy-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

roughpy-0.2.0-cp311-cp311-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.11Windows x86-64

roughpy-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

roughpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

roughpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

roughpy-0.2.0-cp310-cp310-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10Windows x86-64

roughpy-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

roughpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

roughpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

roughpy-0.2.0-cp39-cp39-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.9Windows x86-64

roughpy-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

roughpy-0.2.0-cp39-cp39-macosx_11_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

roughpy-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file roughpy-0.2.0.tar.gz.

File metadata

  • Download URL: roughpy-0.2.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 00603938ea24d0f3eae5f5e8de2ae8400f93b8354995190b953b23dc4d135176
MD5 8ca8076756938b1d9f94417c44fe7996
BLAKE2b-256 1f446b0850782166b59b6ebb1fe04659055aa6cbd91d4c25ce73a67ad3fe030a

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: roughpy-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 67e2612b6a88ab92a2e29eedf3ca9acaa683233597a8c93ad5ff5398b9ca7e57
MD5 d3621fb1480b0d985d4aab65f993b3a2
BLAKE2b-256 bc889e96cf6252b37d9d82cbe12469e4fbd63c0f2c0ed23a9ef96cfab74b57d2

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b60c2a2073a1ecd59cd4d35342f84540ba314c5290ff15210a9e0da2691ca43
MD5 aa6b1b6d544ef34c902d2a09c4f6f955
BLAKE2b-256 291f8096d2a1c7f23e3eec860ad192dd9fc887f65fa1bb023ea582f40f39118a

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1baa61020d270a53560c8bb1c1d362b158a0caecb2f2e4a6e4282dde53db46cb
MD5 a0980fa1e39ed930c4b3062b4b3467c2
BLAKE2b-256 38b9cfe247c1c78850020f5a4e6f4336d23945336d5de98cfd759e05f1e4de44

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5133d7f647dbd8c502cbeb6be45ad42473c384d01b8b0dc2d17a2ad0a5efb2d4
MD5 207336799921be02b0065146772277f0
BLAKE2b-256 d42ccfd9a786e69b27fbeb036ac6550c65c7caa94ba1422a5ee0f8905e79d0f7

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: roughpy-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88e8a2f458f3315db05fb23222e6cc2076ffb105bb02deb468a898632f740093
MD5 57089ead02d45eaf85b6c07e0bc5ea3b
BLAKE2b-256 8fdcddee07c72be4dc62b562e13cf84365eecd136608d73f8d0fd24cc4ba24e2

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7660af24f8216b451a79f91034fac7970c94bcbbfab11fe8e90acdafca4162b0
MD5 c85ae3d79e1c2b271967bccce36e67a5
BLAKE2b-256 1f220ad380f851b0d1e05b50301b76390abd5b2d8acef57967472f285077e2d3

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2c93baad7fbc7a222e2a4ef31f891a858af8fba7f6c1dd636eefb4d9dc8b6943
MD5 c8b49b35d44d05a0c65af2813a6c6988
BLAKE2b-256 c47c0b951ce466ed065ef3c9d32f48a992889436fd655b44857446bb3bdc4251

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bee92241e25ad22eec2b941f6d897a7816d13a0498d78ca9f383bac3d691469
MD5 0a385345fe3bcd00592d66bd74060aa6
BLAKE2b-256 4b74cea9abfcbbef5f5cb92837f0bc0dd73e425c5155a0d01ad259177c1f37fb

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: roughpy-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5f5ce9d6670d9c7dc6ad64db352927549ea3b35ad9ce18d6239b1b6b82a5d06c
MD5 616ef7c72b7db4e63c736d16e18e7bc7
BLAKE2b-256 e885426c55c47b91acea5bc2b107bc3e28ffe95d162bde781cc11f876074b9f0

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84b2b723b069dc9b0eb15dd71c71024accee0df8997bd30a129320bbafe95848
MD5 23145ca8bdc9c2a1a5ef52e2a5034761
BLAKE2b-256 321e111485c739fc0296713c9588ddf6b9c6f6942852b4f4657926463f1aaa0c

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 739c8c8eff0b162483ec3cadce77190c573882e1abf88c3f791e38902c82b1ef
MD5 cd1770dc30afc15fb056e82be13af34d
BLAKE2b-256 e0b53572fb75639ac27692c15e1f965b6ceaaae214619988de2eb0c5a4c673f4

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bdd622c413513ed4cfa86233e98ad9a295bb258cd06381b429bce00b408e890
MD5 ca4aa5a933e514960944db08e2256f80
BLAKE2b-256 73469da216802a2003313515f9f1bc42e266ad56d6752c89265f170af7f6c29c

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: roughpy-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 13a89b347107ae34cfce708f6e115ee415d598b06e8b9e10aeeb87d45a120a12
MD5 c22d4cdc405f0ea3c5686aad2d145949
BLAKE2b-256 c84aa823cbc3f33732f59747525610fc98448aeb999d6f40aac174fa2fdb142f

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e963c635e1a3d4d43ebb158f2efd3db9215543ab9bd83d4080f4b4c39c23268c
MD5 972e9da4da1d9642e130d0ea6dbffb28
BLAKE2b-256 b97cc1b6211835e6854e54d76c2974b3aa4650dc3c64a4adc37c2648a07e268f

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 8c12e38bdd089e7fb0ce3da61709f051d51848db7b3f0fa204e39a4b2fdbe2cb
MD5 41c91d4d4a83e5d0450fe832399ddc7a
BLAKE2b-256 4b310f621e40a8422f978a6a727489f6b2e426eb5616298784ce0f9912f9740d

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 631852825d24dde86035184ab01d796b1c830849cb6bc3197d51338eeb778cb4
MD5 bb28dfd996b79fe6a0fdd0ca1fd4fe29
BLAKE2b-256 4b74e4224e81053f0205d47f2ceebc7e43e02db4c85d56b1dda3208fafc9a7af

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: roughpy-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for roughpy-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 201aa9538e02054f1d6bfa2dbb69734a777b56640c848d298e65f16449eb9b48
MD5 1a15296fc1fbeca0a663d25d969fefea
BLAKE2b-256 c02f88324b9f95400abfb0dda818f482728bdaea4845b126cfb8f9b33ad0c13d

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edaaff9bfa23a352698b90daac7c881423a68ae071aab5fd0b9539cb28a5a29e
MD5 be9881f7c124b317c6c7113d31643701
BLAKE2b-256 11e1535e7d97b84f3f28794b08e565d57a290fee1960205be98358a441a4b0f7

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 bb3e008d0d360dd0d291ad204a121fcdb6d73da84fe1d059020aa28776861ca8
MD5 fb644d7937883c6b392e605f6469c1f7
BLAKE2b-256 fab7ba05456439c9a833bc4c36559766fc37a4d95a6e828f5c053ca2b6656d45

See more details on using hashes here.

File details

Details for the file roughpy-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for roughpy-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d0c3e912028b41cfde0c19edc484324f7fdc96bff343e8115ae0f45d42a96c4
MD5 f38ad778aeac958f0f919f49cc20d2c3
BLAKE2b-256 502befbf54a4981636f5b956ea1a79aa67d57e292e9105db6fc8a868d2caf882

See more details on using hashes here.

Supported by

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