Skip to main content

Runge-Kutta ODE Integrator Implemented in Cython and Numba.

Project description

CyRK


Documentation | GitHub

CyRK Version 0.17.0 Alpha

Runge-Kutta ODE Integrator Implemented in Cython and Numba

CyRK Performance Graphic

CyRK provides fast integration tools to solve systems of ODEs using an adaptive time stepping scheme. CyRK can accept differential equations that are written in pure Python, njited numba, or cython-based cdef. Implementing these types of functions is generally easier than doing so in pure C. Calling CyRK's functions and utilizing its results is also much easier to integrate into existing Python or Cython software. Using CyRK can speed up development time while avoiding the slow performance that comes with using pure Python-based solvers like SciPy's solve_ivp.

The purpose of this package is to provide some functionality of scipy's solve_ivp with greatly improved performance.

Currently, CyRK's numba-based (njit-safe) implementation is 8--60x faster than scipy's solve_ivp function. The cython-based pysolve_ivp function that works with python (or njit'd) functions is 10-40x faster than scipy. The cython-based cysolver_ivp function that works with cython-based cdef functions is 100-500x faster than scipy.

Details about CyRK's performance including more benchmarks can be found here.

CyRK's solvers can also be parallelized for even larger gains.

An additional benefit of the two cython implementations is that they are pre-compiled. This avoids most of the start-up performance hit experienced by just-in-time compilers like numba.

Overview

Supported Features

CyRK's pysolve_ivp (which works with pure python functions) and cysolve_ivp (which works with cython compiled functions) shares many of the same features as SciPy's solve_ivp:

  • Triggerable events to track certain events or cause a early termination.
  • Adaptive step size solver that uses relative and absolute error of the ODE to increase or decrease the step size as needed.
  • Dense output to create callable functions to interpolate an ODE's solution between solution steps. Allowing user to take advantage of the much more efficient adaptive step size solver.
  • A user-provided time domain or t_eval can be given to the solver to find solutions at specific time steps.

Note: nbsolve_ivp has a much more limited feature set than cysolve_ivp and pysolve_ivp. The latter methods are recommended where possible.

Supported Integrators

Currently, CyRK supports the following integration methods:

  • "RK23" - Explicit Runge-Kutta method of order 3(2).
  • "RK45" - Explicit Runge-Kutta method of order 5(4)
  • "DOP853" - Explicit Runge-Kutta method of order 8. Error is controlled using a combination of 5th and 3rd order interpolators.

More methods will be added as the need arises. We are always looking for contributors if you'd like to see your favorite method added to CyRK!

Additional Features

In additional to improved performance, CyRK offers a few additional features that SciPy does not:

  • Ability to capture extra outputs during integration so a user can record other parameters instead of just the dependent variables without having to make repeat calls to the differential equations.
  • Ability to reuse solvers when the previous result is no longer needed or has been recorded (improving performance, particularly for problems with small integration domain sizes).
  • CyRK provides a robust integration diagnostic feedback system to identify and help remedy issues with an ODE solution.
  • CyRK offers much more control over the memory management and other aspects of the solver.

Limitations

There are some features that SciPy has that CyRK currently does not. A non-exhaustive list is:

  • A number of integrator methods are missing, particularly implicit approaches.
  • cysolve_ivp and pysolve_ivp can only work with ODEs of double-precision floating point numbers. So complex numbers are not directly supported but systems of ODEs of complex numbers can be converted to systems of doubles for use with CyRK.

Installation

CyRK has been tested on Python 3.9--3.14; Windows, Ubuntu, and MacOS.

Install via pip:

pip install CyRK

conda:

conda install -c conda-forge CyRK

mamba:

mamba install cyrk

If not installing from a wheel, CyRK will attempt to install Cython and Numpy in order to compile the source code. A "C++ 20" compatible compiler is required. Compiling CyRK has been tested on the latest versions of Windows, Ubuntu, and MacOS. Your milage may vary if you are using an older or different operating system. If on MacOS you will likely need a non-default compiler in order to compile the required OpenMP package. See the "Installation Troubleshooting" section below. After everything has been compiled, cython will be uninstalled and CyRK's runtime dependencies (see the pyproject.toml file for the latest list) will be installed instead.

A new installation of CyRK can be tested quickly by running the following from a python console.

from CyRK import test_pysolver, test_cysolver, test_nbrk
test_pysolver()
# Should see "CyRK's PySolver was tested successfully."
test_cysolver()
# Should see "CyRK's CySolver was tested successfully."
test_nbrk()
# Should see "CyRK's nbrk_ode was tested successfully."

Installation Troubleshooting

Please report installation issues. We will work on a fix and/or add workaround information here.

  • If you see a "Can not load module: CyRK.cy" or similar error then the cython extensions likely did not compile during installation. Try running pip install CyRK --no-binary="CyRK" to force python to recompile the cython extensions locally (rather than via a prebuilt wheel).

  • On MacOS: If you run into problems installing CyRK then reinstall using the verbose flag (pip install -v .) to look at the installation log. If you see an error that looks like "clang: error: unsupported option '-fopenmp'" then you are likely using the default compiler or other compiler that does not support OpenMP. Read more about this issue here and the steps taken here. A fix for this issue is to use llvm's clang compiler. This can be done by doing the following in your terminal before installing CyRK.

brew install llvm
brew install libomp

# If on a newer computer that uses ARM64 (Apple Silicon) then:
export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
export LDFLAGS="-L/opt/homebrew/opt/libomp/lib"
export CPPFLAGS="-I/opt/homebrew/opt/libomp/include"
export CC=/opt/homebrew/opt/llvm/bin/clang
export CXX=/opt/homebrew/opt/llvm/bin/clang++

# Otherwise change these directories to:
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
export LDFLAGS="-L/usr/local/opt/libomp/lib"
export CPPFLAGS="-I/usr/local/opt/libomp/include"
export CC=/usr/local/opt/llvm/bin/clang
export CXX=/usr/local/opt/llvm/bin/clang++

pip install CyRK --no-binary="CyRK"

Development and Testing Dependencies

If you intend to work on CyRK's code base you will want to install the following dependencies in order to run CyRK's test suite and experimental notebooks.

conda install pytest scipy matplotlib jupyter

conda install can be replaced with pip install if you prefer.

Using CyRK

To learn how to use CyRK, please reference our detailed documentation on Read the Docs!

Read the Docs: CyRK Documentation

Citing CyRK

It is great to see CyRK used in other software or in scientific studies. We ask that you reference CyRK's GitHub website so interested parties can learn about this package. And please cite the following paper in any formal publication of your work.

@software{renaud_2022_cyrk,
  author       = {Renaud, Joe P.},
  title        = {CyRK - ODE Integrator Implemented in Cython and Numba},
  year         = {2022},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.7093266},
  url          = {[https://doi.org/10.5281/zenodo.7093266](https://doi.org/10.5281/zenodo.7093266)}
}

It would also be great to hear about the work being done with CyRK and add your project to the list below, so get in touch!

In addition to citing CyRK, please strongly consider citing SciPy and its references for the specific Runge-Kutta model that was used in your work. CyRK is largely an adaptation of SciPy's functionality. Find more details here.

@article{virtanen2020scipy,
  author  = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and van der Walt, St{\'e}fan J. and Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and Kern, Robert and Larson, Eric and Carey, CJ and Polat, {\.I}lhan and Feng, Yu and Moore, Eric W. and VanderPlas, Jake and Laxalde, Denis and Perktold, Josef and Cimrman, Robert and Henriksen, Ian and Quintero, E.A. and Harris, Charles R. and Archibald, Anne M. and Ribeiro, Ant{\^o}nio H. and Pedregosa, Fabian and van Mulbregt, Paul and {SciPy 1.0 Contributors}},
  title   = {{SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python}},
  journal = {Nature Methods},
  year    = {2020},
  volume  = {17},
  number  = {3},
  pages   = {261--272}
}

Projects using CyRK

Don't see your project here? Create a GitHub issue or otherwise get in touch!

Contribute to CyRK

Please look here for an up-to-date list of contributors to the CyRK package.

CyRK is open-source and is distributed under the Apache 2.0 license. You are welcome to fork this repository and make any edits with attribution back to this project (please see the Citing CyRK section).

  • We encourage users to report bugs or feature requests using GitHub Issues.
  • If you would like to contribute but don't know where to start, check out the good first issue tag on GitHub.
  • Users are welcome to submit pull requests and should feel free to create them before the final code is completed so that feedback and suggestions can be given early on.

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

cyrk-0.17.1.tar.gz (121.4 kB view details)

Uploaded Source

Built Distributions

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

cyrk-0.17.1-cp314-cp314t-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

cyrk-0.17.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp314-cp314-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows x86-64

cyrk-0.17.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp314-cp314-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.14macOS 12.0+ ARM64

cyrk-0.17.1-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

cyrk-0.17.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp313-cp313-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

cyrk-0.17.1-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

cyrk-0.17.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cyrk-0.17.1-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

cyrk-0.17.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cyrk-0.17.1-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

cyrk-0.17.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cyrk-0.17.1-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86-64

cyrk-0.17.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cyrk-0.17.1-cp39-cp39-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file cyrk-0.17.1.tar.gz.

File metadata

  • Download URL: cyrk-0.17.1.tar.gz
  • Upload date:
  • Size: 121.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1.tar.gz
Algorithm Hash digest
SHA256 4c343ff23261ebfcddc7b09ede4bf1bf755be732dec15ca033fa7deaae0eb144
MD5 419f3c6954a3c027153480eb557ef87e
BLAKE2b-256 5cff4987d589c1fdb7556581560034138a6397bbe6bbaa8f9bbaecec390213a9

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 7a91d9436ec40c2afacfa4e44cfc222fab100084d3c3e392ccf963f0185158ee
MD5 b1bb624cb57e0bd042a935157c79d063
BLAKE2b-256 3681edeea51a46ec613023896f0b84683539d54e9b1bba492bc9b5b1e4b0aca6

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa5589e127bf7572b57f152d90cf9385066812f4b43a501f791008ba4a9ea9db
MD5 e2930b0bb703a413dec1dc33fea149b5
BLAKE2b-256 f5e6d467a1e07e2e29295a04b818215b1ee9fc02c0eae2406d618065a0d65766

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0a7445f07ab84f0425d1224a3ba1ee589fffe7484cfc0836d6d245fdabc9fc47
MD5 e2b28a9ee7eb801a914bdfb6d099c5d8
BLAKE2b-256 fd1cf880822d6990d0f878db53a4b88514891d74d2c446f28855e69f4fa85e2b

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7566f144fa5e2443ab2a42ad7ca8202f96ebddd73db39169fdbfc1399457d60
MD5 cc16dd0e76a2c7a484083ad93cf12aa3
BLAKE2b-256 9a43cfa8eab38e286d387579da011b79542eb042c7decc851da4219c9f0b6d37

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp314-cp314-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp314-cp314-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 f0bc2617fd670c7c0e468891a0bdc2e09de6a591c2fc7d01be52a14827a90d60
MD5 b1dbc212b1188bacd6bad052de024406
BLAKE2b-256 53b49be0af07b3ed9224a62292669ebfcbe902f0dce18e82936a87bf51b8ffef

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b3efbcc3df5706f270163c1ad0f394290193cf9e5df0e1a52d26671d37f2e6a0
MD5 a0fd5bf1b9d96a7529ea4f101cf2c8c1
BLAKE2b-256 57c64a974550a4406cdb10b5a82122d789c4c4bc7ea78cad45372df1a1e6cbad

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58086d98159ed358cfbc40149c21633948dabe00178d088c0f0459b0f254ab81
MD5 76b7ab3743ed5e833628c95ebcb2e468
BLAKE2b-256 37359d83d9608ce046ed4a8a96e7fd5f43158100e87cda9cfc997f61b3951aaa

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 d50f80a14c13a94b867c771bcccc03d4b8660816ca5475ca66dc23aed43de47d
MD5 3e9a52e97a0c52a1f8fd69df25111344
BLAKE2b-256 955f45e9397e37f6aba810a064f66cecef234f709d1c909b037c227ccdcf9546

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0b8e39497f8ee0d1f66b24326f2639a8cf7bf22b828a25bd74468159b5e2645f
MD5 d81eac58debd9908c92dde1d42e83cce
BLAKE2b-256 5a014fa14afa675cab32480f9df0bde2099093cb93d4bce0c52075cbaaa3689a

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 381355dd205c709e608a692381ffdabb763c0edb607ed7085b89d0bb7f7c6828
MD5 d57ff26912928c6328fe3023c4ba1660
BLAKE2b-256 fe2af3fcc35700fb408866cd06c5e458b36ba7034b61341dbc8d5868c2c36892

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f6475f1a006756705a349aa6a22ead6ab424b6a50b597c4905bfa86f599f79d
MD5 9a8eec5a27ee7b009ca75a347e742b9b
BLAKE2b-256 de5bce1177fd04b7a1cba27b561074b74cc012318fa3b18eded7fe4b868a847e

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8145c97e41a97f204c8fe1f1c996b5f695a2f17ee137dd4a610c33fbf791ed24
MD5 eb730fb71bf503ebb5cbeffa4957b55a
BLAKE2b-256 bcd5c1d8970e1c586fbdfd7514b668c67b338c680dd69aacf65fba783a4cd9e2

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab9c81f3c9344f89a3e2f77fb890335152f142027dc465ec692895d49e787501
MD5 4b998fce1098fe0b8a130bf47b948ff3
BLAKE2b-256 7b5ec93e589c9d50f57210584dc01eeb512ead4d74f3fab6c6f6291ff11eaec1

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63fa83261cd4b03021526b383b9c6427e17da5308b66a3ff60b210ab9a7ea928
MD5 b7cf3d55fd4050e9131581092aa3a6eb
BLAKE2b-256 ff4bc353be0de2a62f60d6508e1a3045a8832d51f3e70b0fb4800636a29a4fcb

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 13b97e305ca0308b433aa3206915038aa645ff868f9f6eceb9e9abeb63a7e77c
MD5 64118c02c60934724915c9febcee2edf
BLAKE2b-256 0b6caeff02b55077efdc5da4394cad8bf9536761f82414a8315eb94bde9b29dc

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b9965a319308c30a4f1b250c45a9457295a85e0e6758cd3e5bb065064e94221
MD5 44a1500282debc12fd122b64743b6082
BLAKE2b-256 bcbe288e75c9e04433acf5e3b04be79eee4f9a326f159c262d14f9410cc97ffd

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ac753126d834c2208c7fc0bcc4ce739bd6ca4b6fc04bf8b40499a0f478648cc
MD5 374af6ef46b610a53676b4722d17d65a
BLAKE2b-256 3592560c3fda34e687e9ca9f940b256e46f241b698fafb8cd25ae35801479f9f

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cyrk-0.17.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for cyrk-0.17.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7938381740ac85f764ea4ac022440fe4785d7a2db6b5f083e0119d6608c96ec3
MD5 05bad7643db838fe66e3d45ef07d828e
BLAKE2b-256 2d407f21938ed0bd5aa2872588984408f7000d37fa8d2af720b794edee82315c

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68a32b49fcd6bd1ec5248dd91a9203f9223c411245fd887bd1ff33075a152332
MD5 ecb043e32ca84d4e04f56c725298b363
BLAKE2b-256 039724d7f5bad0211755feb263ef4e9108a29c554e97802d8046d84e8e2a7e5d

See more details on using hashes here.

File details

Details for the file cyrk-0.17.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyrk-0.17.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f920cb7017f3333df89047d1af3d12524af01f900b962871055e0bfba3177be
MD5 723c08157b2f365e0f849dc89c106c35
BLAKE2b-256 518baa5defab9096221146b8bef9557b61127d73204fbd614445e9c1d3261916

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