Skip to main content

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives

Project description

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone's algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms like the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio is first tailored for robotics applications, but it can be used in extra contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, an open-source software for Motion and Manipulation Planning.

If you want to learn more on Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to directly dive into Pinocchio, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • automatic code generation support via CppADCodeGen.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • support of multiple precision arithmetic via Boost.Multiprecision or any similar framework,
  • computations of kinematic and dynamic regressors for system identification and more,
  • and much more with the support of modern and open source Automatic Differentiation frameworks like CppAD or CasADi.

Pinocchio is flexible:

  • header only,
  • C++ 98/03/11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit-tests, simulations and real world robotics applications). Pinocchio is supported and tested on Windows, Mac OS X, Unix and Linux (see build status here).

Documentation

The online Pinocchio documentation of the last release is available here. A cheat sheet pdf with the main functions and algorithms can be found here.

Examples

We provide some basic examples on how to use Pinocchio in Python in the examples directory. Additional examples introducing Pinocchio are also available in the documentation.

Tutorials

Pinocchio comes with a large bunch of tutorials aiming at introducing the basic tools for robot control. Tutorial and training documents are listed here. You can also consider the interactive jupyter notebook set of tutorials developped by Nicolas Mansard and Yann de Mont-Marin.

Pinocchio continuous integrations

Pinocchio is constantly tested for several platforms and distributions, as reported below:

CI on ROS ROS
CI on Linux via APT linux
CI on OSX via Conda mac
CI on Windows via Conda windows
CI on Linux via Robotpkg Pipeline Status

Performances

Pinocchio exploits at best the sparsity induced by the kinematic tree of robotics systems. Thanks to modern programming language paradigms, Pinocchio is able to unroll most of the computations directly at compile time, allowing to achieve impressive performances for a large range of robots, as illustrated by the plot below, obtained on a standard laptop equipped with an Intel Core i7 CPU @ 2.4 GHz.

Pinocchio Logo

For other benchmarks, and mainly the capacity of Pinocchio to exploit at best your CPU capacities using advanced code generation techniques, we refer to the technical paper. In addition, the introspection done here may also help you to understand and compare the performances of the modern rigid body dynamics librairies.

Ongoing developments

If you want to follow the current developments, you can directly refer to the devel branch. The master branch only contains the latest release. Any new Pull Request should then be submitted on the devel branch.

Installation

Pinocchio can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Please refer to the installation procedure.

If you only need the Python bindings of Pinocchio, you may prefer to install it through Conda. Please follow the procedure described here.

ROS

Pinocchio is also deployed on ROS, you may follow its deployment status below. If you're interested in using Pinocchio on systems and/or with packages that integrate with the ROS ecosystem, we recommend the installation of Pinocchio via the binaries distributed via the ROS PPA. Here, you can install Pinocchio using sudo apt install ros-$ROS_DISTRO-pinocchio. This installs Pinocchio with HPP-FCL support and with Python bindings. You can then depend on Pinocchio in your package.xml config (<depend>pinocchio</depend>) and include it via CMake (find_package(pinocchio REQUIRED)) -- we include support and hooks to discover the package for both ROS1 and ROS2. An example can be found here. Please note that we advise to always include the pinocchio/fwd.hpp header as the first include to avoid compilation errors from differing Boost-variant sizes.

ROS1      ROS2
Melodic      Foxy
Noetic      Galactic
     Humble
     Rolling

Visualization

Pinocchio provides support for many open-source and free visualizers:

  • Gepetto Viewer: a C++ viewer based on OpenSceneGraph with Python bindings and Blender export. See here for a C++ example on mixing Pinocchio and Gepetto Viewer.
  • Meshcat: supporting visualization in Python and which can be embedded inside any browser.
  • Panda3d: supporting visualization in Python and which can be embedded inside any browser.
  • RViz: supporting visualization in Python and which can interact with other ROS packages.

Many external viewers can also be integrated. See example here for more information.

Citing Pinocchio

To cite Pinocchio in your academic research, please use the following bibtex entry:

@inproceedings{carpentier2019pinocchio,
   title={The Pinocchio C++ library -- A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives},
   author={Carpentier, Justin and Saurel, Guilhem and Buondonno, Gabriele and Mirabel, Joseph and Lamiraux, Florent and Stasse, Olivier and Mansard, Nicolas},
   booktitle={IEEE International Symposium on System Integrations (SII)},
   year={2019}
}

and the following one for the link to the GitHub codebase:

@misc{pinocchioweb,
   author = {Justin Carpentier and Florian Valenza and Nicolas Mansard and others},
   title = {Pinocchio: fast forward and inverse dynamics for poly-articulated systems},
   howpublished = {https://stack-of-tasks.github.io/pinocchio},
   year = {2015--2021}
}

The algorithms for the analytical derivatives of rigid-body dynamics algorithms are detailed here:

@inproceedings{carpentier2018analytical,
  title = {Analytical Derivatives of Rigid Body Dynamics Algorithms},
  author = {Carpentier, Justin and Mansard, Nicolas},
  booktitle = {Robotics: Science and Systems},
  year = {2018}
}

Questions and Issues

You have a question or an issue? You may either directly open a new question or a new issue or, directly contact us via the mailing list pinocchio@inria.fr.

Credits

The following people have been involved in the development of Pinocchio and are warmly thanked for their contributions:

If you have taken part to the development of Pinocchio, feel free to add your name and contribution in this list.

Open-source projects relying on Pinocchio

  • Crocoddyl A software to realize model predictive control for complex robotics platform.
  • TSID A software which implements an Task Space Inverse Dynamics QP.
  • HPP A SDK which implements motion planner for humanoids and other robots.
  • Jiminy A simulator based on Pinocchio.
  • ocs2 A toolbox for Optimal Control for Switched Systems (OCS2)
  • TriFingerSimulation TriFinger Robot Simulation (a Robot to perform RL on manipulation).
  • Casadi_Kin_Dyn IIT Package for generation of symbolic (SX) expressions of robot kinematics and dynamics.

Acknowledgments

The development of Pinocchio is actively supported by the Gepetto team @LAAS-CNRS and the Willow team @INRIA.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pin-2.6.19-2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.19-2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.19-2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.19-2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.19-2-pp39-pypy39_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.19-2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.19-2-pp38-pypy38_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.19-2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.19-2-cp311-cp311-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pin-2.6.19-2-cp311-cp311-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pin-2.6.19-2-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.19-2-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pin-2.6.19-2-cp311-cp311-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pin-2.6.19-2-cp310-cp310-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pin-2.6.19-2-cp310-cp310-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pin-2.6.19-2-cp310-cp310-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.19-2-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pin-2.6.19-2-cp310-cp310-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pin-2.6.19-2-cp39-cp39-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pin-2.6.19-2-cp39-cp39-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pin-2.6.19-2-cp39-cp39-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.19-2-cp39-cp39-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pin-2.6.19-2-cp39-cp39-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pin-2.6.19-2-cp38-cp38-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

pin-2.6.19-2-cp38-cp38-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

pin-2.6.19-2-cp38-cp38-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.19-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.19-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.19-1-cp311-cp311-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pin-2.6.19-1-cp311-cp311-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pin-2.6.19-1-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.19-1-cp311-cp311-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pin-2.6.19-1-cp310-cp310-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pin-2.6.19-1-cp310-cp310-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pin-2.6.19-1-cp310-cp310-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.19-1-cp310-cp310-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pin-2.6.19-1-cp39-cp39-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pin-2.6.19-1-cp39-cp39-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pin-2.6.19-1-cp39-cp39-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.19-1-cp39-cp39-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pin-2.6.19-1-cp38-cp38-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

pin-2.6.19-1-cp38-cp38-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

pin-2.6.19-1-cp38-cp38-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

File details

Details for the file pin-2.6.19-2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e28ea10dabe7ad630873ca89a17ce6fdb7af440728030834896f7c59d5efcc94
MD5 256a8ffa6bfdb48990aae8d453dd8a64
BLAKE2b-256 aae444e5c8eb22bf9d7a369f798b58ed798be07f8d89ecf8e77ec57521daa4d4

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ff1a0e39d0c4d78cbf808ae90d13612120164fc9f6f855c4fce56de839e2ae5
MD5 0b1fbf8467381c6ff83510e9a8c660d9
BLAKE2b-256 ae69e5ead1e010c0e83eee3236695e2b6e9eb9c2a982ec472b4d879e238cacd5

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5f39bdcbc4b85c12df5ec01f1ab54162895ac0ba9a0730510afdbacce98a7c66
MD5 d6c429c53a9371ae7cf3abe695f1d82f
BLAKE2b-256 6c0e7b29e0f7655a4aea5ea46669e40b888b1f551261712a99125e85b9125cbf

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 931391e2bd842b5068b576c619ddc69b86bf38dfd06a4429f238e8863110727b
MD5 1df0b507cb7d730a6d9be76160a5758f
BLAKE2b-256 eff4b8360e22583f1231ccc0c858dd59f3e33617fad9f0462cb6083900c8ccc5

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f560f30006e2807e1d46e59d10a016d022c73b026f7a8e7e19827aeed07dfc07
MD5 962242ac4e699c77539ea2b0c5bfdf57
BLAKE2b-256 a6f57b76cdd7645d2cf9e9e4682a96545eecd93b03d7dd664f449730e84012ba

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8117ad4e6cd488628a3d1a9698575b475cdeed35a8bea48d178c85d34caf4614
MD5 6c21346f95c6ea3cfbc22d6d5f710316
BLAKE2b-256 474a5f28b41bccf9ea360cbf4ba020e8375ba8e549859d5ad4664f27bb067b7f

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ede9ef6fa3abee30b5b39a52104ff5be3881789c89096276515e3ed759e0727
MD5 e6d8895f0fb08a8e7f3bd32d212993f1
BLAKE2b-256 741e53c04afbeb01ff43387b6494464fb18d24eec9b6097d85733853e9e15bfd

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3eb79a2da98966c365fafb7e65386fe283199e7d5b0be2b01076b48acebb575c
MD5 792731e28e253db184fd8aabe71268a4
BLAKE2b-256 601996ea96bfb2f2b13e94dddaef709a740cfa928a760867f1f15cddad43ffd7

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 18dcf644612827381c562ff10f4e2569565c96eb10e63d0a260813ee683b8452
MD5 3f129daffc8437ea80e4bd4f8d5176ac
BLAKE2b-256 cd29258a41c7ed955f0e7e39082759b1a5c68790b6c7748c31ef5e9d78513eac

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 82d4b4ae8a4a6365e92a789552dfbb476ed76d21230794b5e5901a6697cd5e40
MD5 ec0feeecc781a2e34a36389505005012
BLAKE2b-256 008ca9d86eebd76077807295588619c7142fbd10a1da98051df93a4f26d41129

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 58ad38ac926dbb5e918aada21d7243cec952568928a2281a2d13ae9f17f86f20
MD5 ecd02c19d445b991461d12ecb7d230fd
BLAKE2b-256 8ebaa0d3ba89ab71fbec12ade77e92be0fe62d0b538b0cdb1e8f5e774d88fa91

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c11f1b06dda4d53d91f53242f230e2630e0144a0394a581d70008f32ec2448a
MD5 525223c4f670c02706f73e7dc78da318
BLAKE2b-256 92f21ae451e20e8343b92d832ebf44faa4989d593c5513b2ba4ddfdd6291d1f4

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5dd1f8567d7784f1e079aec82b813258383901a5d5aa347581f09d9df13620c5
MD5 166be04a7caa3b0b28d516a178acb8f0
BLAKE2b-256 1f29ecea0e58b71fc95244b0b42ada90dfb9b97c8317c7903033a9bb6dc67533

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c0a5126af15bb9856b19aedc8fa3cdd407476b0fefdfaa9e011bdf9c32481b54
MD5 f273cd98ba4551a61fb2d1940df2f86f
BLAKE2b-256 4516d3787d022a23d7e735c65d7df6884f60c8e220b0b5e2b71eb1c8c77866c9

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d02ed9d7ad6f286d84748b043b6793416c21a8d11442aef2c6f9a113cf9d2216
MD5 6ce3473c0d8673ba65ce611eab14a321
BLAKE2b-256 e669f57b048b97708f4462ff9483a99c3f7d7ec8ca544d644f603c20f662d365

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f15515b66300b651173c40c054445b39bb2156fc12bd2b4e5f2e7a2e47c29d25
MD5 a46eb4a9f12c33c9099e401902331efc
BLAKE2b-256 4ff4fe8fed3dadd908087a4cc6dc53d1d5314e316579f60b62f1a6f38ea88e93

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b64a7b54c48bbbca1101957d954e29dcca0f563e2248ffcf7df61bff96652d7
MD5 dd2c672ca68f7fae698fa3a5c2819650
BLAKE2b-256 aae48a99a1e270e677173f22851a0e7dd46d9fa43db452ec2d5ac1f7d99c63d0

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a840bfaa69a36e19516449f1fe0b63d808ed8339fd4c3fdf41ec03a6715e520
MD5 77ca1309afe46e826b1a9053e4970436
BLAKE2b-256 8f6ac80cfcfb8b3c8befe7252f5c0b808e60e33d491a882a5c37df625630db22

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 90462cb82826a5cacda7c1f652e03c7a6ca3381c33b219108452d0f522f1b05d
MD5 74b7fc2dd3de0a570f3a1f0338238cc0
BLAKE2b-256 9999e42a74a86bebc87b9949e17d15455791f43b7d41c2ab8a714031f3df1aff

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61a2994e65915e62054b5343fd6c24a7ec0b0dca8f1a7817a843a5739cb6259c
MD5 1b119c77fed14d27c2307299773ab67e
BLAKE2b-256 a0e65ab49d6c652511411c0cad957218fb3fa13dfc48a1dc39c23d409ebdafa4

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 089776568cdc84b18f191923e3faa5b5d5016d53eb8cf27ed48de589267b8bdb
MD5 50b1f7a06d1d148b629c6e259f197f93
BLAKE2b-256 9f3ffb8034fb0dd86b67d054764b7d8b4ebe5dd8778e0e2413e7c8e9b1bcccef

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7791692257042a6f091e1c971587d635983dffadaabe4bf6d3f7834346c104ee
MD5 84353c2fee448c2d0ecd31b9e19e0dae
BLAKE2b-256 3cbe910809d5f80eb458ad6d34ecbebb6e7050cf9f16f12d3d54087507787ab6

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c95360b7f6bd4bc5a0345a971a681107a5b4d5983b9fcd944c2bc8f97648d4dc
MD5 fce91adad8e4972b8cba193aa44cf055
BLAKE2b-256 183060988d026ae39dcb8e0c0a868d2b7fcfa975e2881872bf28873532bf94c3

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c0ab1c1802816b9975c44e8e73d1e1712234a0bdc56e9c40e00e72510bd44bb4
MD5 9771c53a80877f8d33610bcf67b024bf
BLAKE2b-256 f858fe4506404e159a47303298088d8a207be0f08bc2fafbc34aa3e06c973bbb

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b126cdaae320c269ae2da5b55716b39c5dbac034d5693d656bc5ee4cbf723c4
MD5 ca1ffac923d54981b5ac62fa4c3655a1
BLAKE2b-256 dbb9db9a5674946b671268453c8b79dce50d8a8470065b2acd75481d92a0d1d5

See more details on using hashes here.

File details

Details for the file pin-2.6.19-2-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-2-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ffbd75eddab68d68d2e4a7fffe760d0ac0bd5cd12abae6f1ab2cfdc7a1b1f6f7
MD5 0562f24dbbc7f56b7809034eb24f633c
BLAKE2b-256 e3ecbbe05d60f492049925e5a726f32a05c4dfa1717adb9d321a118db929d1d9

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f25744853782a8ff7dbfa7ef501e45af44babd30b06c8576cd8443596589763a
MD5 2bb53d95f4ad61247c15186ee649cbfd
BLAKE2b-256 ca6a42499e2485ee53d430e88a53b83318c6713e3adecbd9db8cca357980cc44

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e84bc1d84ec3d6e9b7eab5055b6cd6f87083263db4bf751c4b3b7978eedafb96
MD5 e90a523eaf092927ad8a2646fa03797a
BLAKE2b-256 ccbec2c4d285402bf96b5d1496b8afff921093c2f5f163ae2d9b76fc05b00284

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 feaf97e3d60d15239a992a6b5e24e39d7a52e39a21c4d8cb4c96cb4cd6babab0
MD5 c85af0636cc4caf7b49d4d4f4c5e5c94
BLAKE2b-256 2db5305e42373f5634b27b2b6139e449bc20fdbbcf8dc1f31d92cda31e607726

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b441c9a342e586cc06f1688290cbedf1fb806247943e3314a77e50d4e26b0f47
MD5 6704ef7d4e659aa4d3ac91c6d8e281a8
BLAKE2b-256 cdb9456341aea564649eafe92352b425fb142832d6c9e2745dcacae32b8bf4d4

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c76849967e418a9c1d46cddaba11cfe921f75752e029a2834f24ad878d6e0c8a
MD5 43d120e28dafa7025ed5d565e212f9de
BLAKE2b-256 6d6e2fef8600192435dee8c62b192bd8ef91c41a26ca0fc4193c5a6d9b0a6473

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 860af8b52a8dafccd7fc561c35dc1f1a6b72c134e0b83fba0a4c304774eb05d8
MD5 cfc623fd972524b0d05eea3115d3ed3a
BLAKE2b-256 8ca3b68cf2f41abf6893b59f8ba69e57fe4433f4b86dc6bdb63b6816233177a3

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 17bea5bfa69d09aaa0cfa30b60c494f9c753c60093c2f32f8f3047ce418abe3e
MD5 4c57d818d21cfe448aeda202f5cecb95
BLAKE2b-256 16443458f7d5c8f155e32a5050cfe105a3c7656cd85d5599d80fadb3a725cde8

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 311b18f8c5f78a8cb79378c0a4257696a7f46234ec1fcffcb8e7e7f2df57f565
MD5 4d3497744b09cad18695d962b4066ca6
BLAKE2b-256 7d2f5c291c65b2f2642e06d9fb3587d288192c09e647767ad2eeeed28f290bed

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9cda9519301018889fd1c1196044b4f039eced599ac374df5b162bae6ca30a0c
MD5 d87b4f745bdfa5a19509ba019a6f85d8
BLAKE2b-256 b03203bb0079bab208a774a4a3f07966dffe009275081d4ce4204c7a82cb3972

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a5b892b88c708a37edffafd86ef21a4d2f2a51a9c44bdcd4dd2bb971e2b69f6b
MD5 a0a4252695690441b62282e35bbc6a05
BLAKE2b-256 9fc917667903952cbb61fd404ca5c64a3fdbde6c3d2c99ea1b97e302d4421abb

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 decd25f8640605c90a861ec73d2906581f5ec81a9527ed67f40a6c8a89098d60
MD5 f211f9b3a64121f01da85259b2af7fea
BLAKE2b-256 105320afc33780712b4a408646940d0d34f87a019b5eb4d2275a20ed05f91d5f

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 025caef1e43d91ace1aa4a4d222c78ce529024fa82bcf34fc95873f451810ea6
MD5 bd34714fcd6e6db7af1561ac6d0efad8
BLAKE2b-256 65a6c29ac550c2f4a99f809afd39f29614cfcc9938619688b6e31c45998da97d

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e321dfe6836f8ba059ed32b1dce091f48885a863a0e9b1e794b215e901c94621
MD5 a5a9c636b9a8577770121c8e5c0ff12a
BLAKE2b-256 b63430d68493a791a7d630b862e616d71d36262f27fe55cb13e1ede6f5c25b45

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d2afc143f505ca782b9218e9c76ffb873c5f4bbe8f5aab86c6686d716fa23d6f
MD5 499521b3334ee828c865bdb4d7c02328
BLAKE2b-256 62a01c7cfb17aaec80bd3f5df1162798858e24f8f644ad8a83fa441fdb2de410

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9d343fe5fd823f7748f23c8f8de88b40b4d8fee6eb6c2aa9d469d094fc9445f7
MD5 1776bebfcfe161951162eaea492c9837
BLAKE2b-256 54bafcc846c5ba7233b35d9a249737be3662fbe132ddf6fec6c5e52d0ac29b7d

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd04ad52cfe1b0cf372627fdd97207c488e53d8c08a60229f4dd6d53ce46c90e
MD5 052d6030d8d8eb8c6e68d0cae21a46ba
BLAKE2b-256 12bec1bedff9c34323a6b041b4a1a146c182b80a454219e921602aa080d4a9dc

See more details on using hashes here.

File details

Details for the file pin-2.6.19-1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.19-1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 07b92f7717481e43a5d883ecb593d229087ef4c05c22adfd17bafe1669383cc7
MD5 e71d5c6c74cef54cca41fccb0f6ede22
BLAKE2b-256 7123dd1bdd4afe59931755c7703bc354832c0c6a90c38f741ec69e6284d11232

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