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, open-source software for Motion and Manipulation Planning.

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

If you want to dive into Pinocchio directly, 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 of using 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 developed 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 can 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 may also help you to understand and compare the performances of the modern rigid body dynamics libraries.

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 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 the 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

Do 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 participated in the development of Pinocchio, please add your name and contribution to this list.

Open-source projects relying on Pinocchio

  • Crocoddyl A software to realize model predictive control for complex robotics platforms.
  • TSID A software that implements a Task Space Inverse Dynamics QP.
  • HPP A SDK which implements motion planners 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.20-1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.20-1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.20-1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.20-1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.20-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.20-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.20-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

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

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.20-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.20-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.20-1-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.20-1-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pin-2.6.20-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.20-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.20-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.20-1-cp310-cp310-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.20-1-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pin-2.6.20-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.20-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.20-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.20-1-cp39-cp39-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.20-1-cp39-cp39-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pin-2.6.20-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.20-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.20-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.20-1-cp38-cp38-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.20-0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.20-0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.20-0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.20-0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pin-2.6.20-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.20-0-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.20-0-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.20-0-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.20-0-cp311-cp311-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pin-2.6.20-0-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.20-0-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.20-0-cp310-cp310-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.20-0-cp310-cp310-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pin-2.6.20-0-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.20-0-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.20-0-cp39-cp39-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.20-0-cp39-cp39-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pin-2.6.20-0-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.20-0-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.20-0-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.20-1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e511820ad288d2fa4820c41556efefce52c9a640fe4c5f4a275d2352188c9dad
MD5 284a0ed0a29e8df7dd8f6f807056e628
BLAKE2b-256 506766924af433beff64a3ad8576a4ae210ccc0d3d3005bd7b39718c6ffd3b24

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90c179194a60b0605da2a828a9ebe07e2e48fb4ac6e601fac68c9b05d6dd5dbe
MD5 ba4a1b925639895c1e28c88ec9f72602
BLAKE2b-256 8de26416b84c844c2ef0abde0fda57c3f858f913330af5210eb73b577226b4ea

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0c432eff833029593d55ed57711ecbd5215382436f9080a402b480ef399b069f
MD5 494c042ac2bb66b7c78d7d706ee10f9e
BLAKE2b-256 8d6a8d4b680479323cc4de5e04a7cd9d86412660c78de2d853569e51d79549a3

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 60252cd5e51282b8e938b21f96ee8b3e7d9a0a842ad7584f980a86af1ee0596b
MD5 9169525319bd112981774919e4961abd
BLAKE2b-256 01444db7926f2f787ef4134c07e78d093ff6b83ea168841d5f10de8f5d485e37

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18db5d2cb29b332ad418a9292393697d17312c70b1b0ea49cf3ed9e2029d67b1
MD5 599c58b31de20e3a82646e916e871bd1
BLAKE2b-256 d244a5db3a2494814b16594c5864aacf4af3a95a360f5f06600505c1b996358c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9bcfeacd73762b2ebfffff32c76d9934086d3e12a525868933ddd23262635712
MD5 5cefb3c95f55dfcac0a9755a347d9f54
BLAKE2b-256 917ff581a0d38f5c225d3414c746faf153fdfc2082745e29847dd08f328bf74e

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8ef02e487a480eb21935c117f9cdd29e52f13becf9090829b42cd8dffa73454
MD5 bc7ff5118d0955759924fda69e172d69
BLAKE2b-256 d3bef7abfa633f8d872cb82503ece960e949063f0fe369eb69f99301a90d5825

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 abe836e7fbe9166b9f6b9ab2ce47e5a39de87f71fa4f88a54850933ab55a8961
MD5 6fd07b6c05c202192952dde8fc3f4f01
BLAKE2b-256 b42e4609264f66453335f321da8a8f9bd535f3d478f968759e2a4ed09ab65ec4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 10f2abb19674aaf1a8df998fe38a805a45fbee321a98dd8a3ede909a946a5697
MD5 0271f4dcdacff7f2d51faf66b1c6ba13
BLAKE2b-256 af3fb4a48b885afdbd14b7133c085b96c7a40302338deab6c01f5da43f7ede0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05d4081a7ac57d374f4764bed7f14e63ab286d99d5b6cc9ff5e0e0fa1cbc348c
MD5 71c394e3ffb9fc21b0f97b01f5e09097
BLAKE2b-256 c2a40db0b32d026a94a0a0f344b34122c06371bb18328e6875b264b194ee7fd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f7b32525a2bcff61d59a96d9cb29a4ec759407b1cf94508c1ec43f8612fd304
MD5 0218ec56176148c12924ee111199a084
BLAKE2b-256 66d9ec648713c6e38cb4639e47962f01fcdf4bd3c0a65c7f525ebe11f015fb72

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08fdbb99f59b06f6fc29623b32bd8f051e9f69be55bf485f15bfd72ffe7c24f5
MD5 3bb0ebef61a7ff73fb3dfde79eecf2c7
BLAKE2b-256 e4eb7cf11fc2f9d811692b3c283583a4cacdb3eed11376f0b9565d89c5c52bdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b9fbbe3d67ddda918c749e9abed35945780d2abe71f4163e05f01245d7117ec6
MD5 3b984d1e605958f2474bc6160f97f40e
BLAKE2b-256 e832aa9296ec9bf2ef75b72a612fa4480f3495b580410092d13cefe5174fc349

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 efacbca1ab4b9448f389eb27f768cefa3dc776f0e74764ed90ef4c6cbccf8e7c
MD5 05049d8f196ea644352f485ec5014e82
BLAKE2b-256 779069652be5bcd2ccb9a56927bd3b294d6c05c1d301c9eb864ebc917e5b7ff5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 031912fd5fc17f0a0cabeda232348bd10238ba89463461ca42f97894c90ce0af
MD5 a0f4b1f025cdbc8292a3818d4ab51058
BLAKE2b-256 1c67b936c932a944d88270566d52b8309ee7f9a8c2a7ff83913dec6b232c47e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f3e041d80ea9ce14121aa22934a9cdb9873908d2f694527a262b53cec7f944eb
MD5 3428c83ddf3c1fba1e5ec055fc1870a1
BLAKE2b-256 c239df6de0a4a6d00373af04d4fe54a03bea5377980beed121e93dc128276b3e

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebbc9ce0c1397edf4bc6c6e45fdf547c5878dc2a486bb9b7faae42d36f9d5cd5
MD5 a4f5d189f0bc76ff674397c45a30bc4a
BLAKE2b-256 5c75016099e283c360f5d4ad6e8e4f202d97654b4e7f4f4e08cf5ec32bd2547c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 72c95cea598bf08e45ff70d6841581b0b45a8ae6b45a5cbd18472fdb343e47bd
MD5 016be432a03a091574e3a185e2b92719
BLAKE2b-256 93aed148b9bf412b7bca75b780ad4b3375cf8a6e9614f27f45706dfd6191b52d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 881cc63c90e591086fd97a26719e79f750b060163a21c7358c2943961fd084ae
MD5 558c54e13368c74101c80e92701cf5a4
BLAKE2b-256 cf68786ccd5109a3f3682ea6e7baa426c5cf0d40cb0816743bd5548d214404a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab9e368a332535d72b31bf62313fe53d261656b9079a11bd2ba0ebec53777598
MD5 236d5968cbde26e4d2e52eb31310dc62
BLAKE2b-256 313f0b5ab43c60d3c3bdeb2270ef0515307475ab431704ab0913a17112b90882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8870d53d5f590a9540ac33693456f54f6d2ebc3c6c9de607b3dea7487277e2f5
MD5 50e79fba8244001602c2cea30896a8b1
BLAKE2b-256 f3d4d9616926390b77df8245ee2baa0834afd8aea027f8d424519ec446ed0067

See more details on using hashes here.

File details

Details for the file pin-2.6.20-1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60ddfe38ebf7ed7bc7b28e38c67ac4ec0a2498a7b68db5f023cb106f5af18a4a
MD5 10730d26b0695193bdebcdc3a412d5d2
BLAKE2b-256 1c8de11e3e116f27bb378926646de97cbabe9cb672728ffee0cb11f4311d9dcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c6e21d63068bbe75d519c7e61fa8aa8b853992bbd35538c1439438a5151bfccf
MD5 f3283733ae190554e8d9e7439f9e1ee7
BLAKE2b-256 cc21e53aac1c86fda95688100479c61dc3ba0949e3755ba4993ea35befd0699a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f1a51350e13becdb5de95d3bc0238b25201652e90f877062b9efcbe3cfe3a1a3
MD5 6b8b9e130a50352fb651482a871e6b49
BLAKE2b-256 fe0f72554c3619e4e57cee2ddc0a91c907f3ac92371fd3e5c8886edf3ee3680a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9b2d4f513efd84a62227b990634ee731cc31448f0bd2fda24d4f224848425ca
MD5 52c72dd03149309b3d7621f1ae82804a
BLAKE2b-256 6c526e6559dcfad4701840afc48458ce555bd03b481e127e9db192944d8d2953

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.20-1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f2b0589b334fb6785f9175dab06e55b456e65778937548311c3c351dcdc3b6a
MD5 01730b6db9661a86a2e36bc02402189b
BLAKE2b-256 7995ff7e6a598b520afccf91ca48449d1f86aaa083b9585ade236c4ab8001593

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ce9d40fdd7e075bec98e5269e6a2a4bb725c0a22ba978aae92d9bdb9071d8d5
MD5 70f4aff481a045337c8e545c1361e48f
BLAKE2b-256 7257ec0f49ccb76b8784d0c8941013ef90cce590740eb6ed9ae99e39d831e05d

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 150ece3325a7b4ba4b9b065f1a8ead309d2cf4c0a1120324abb48573d2bdcae4
MD5 d93cad8767dc8f3cff6f818c660ddc87
BLAKE2b-256 7f1f5a4f2f8d7b6a8aaed42e6731a7e49e51ac30f5325bbe2144d53b14b663b4

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ebff0d4ecfcfcefaa9f6e0aaaa6bc7907e845c9411ca968c377382104586727d
MD5 3d414c2d57601aa7607ad43fc52c0430
BLAKE2b-256 710d405fc558a67a3234a5c6a2b749d79187705d6a9bc5a472e3532f4d2bda6c

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a3076505c9ffd1102df73756cd43d8ca2708fa1c2b5ff32bc076fd5e23b655f5
MD5 9f33280c17b21f06d574f46ac6bd4d5d
BLAKE2b-256 75d81135ac49eb63eee7619f1c03e9a12640c137093da14cadff93ad73725e76

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 777bf0c1124de203c4f6c3e1a22aa188e238644c914a0bd5c68631c2f47f428f
MD5 710fa385afc0c6a594b29b91fea40f73
BLAKE2b-256 8a9f453589aa7de2819e1d58c67d1da0430b0a6b8a1fdacaf8c2bec84b903112

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 aa6c88fe0f87d0ff02f59e295c06a53f822cccc7be19fd37c1c36ce6387b02ff
MD5 09f2e37ba816a33e4a3e49e0ca73a659
BLAKE2b-256 fe091dda908680c8670c95d03f0fb70e8e3e3f2d6858b210ca180bad65cdff8c

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d22de4fa2a00d9b77000b59bd878b30e4ca9f547713450d460f9331335e8e5c1
MD5 4dea1a06e92fea8977d08fb5c968d9c8
BLAKE2b-256 c79ad59569abfc564e7d9dc0a3ed565397f6976e260d15b6f2201808583f6cba

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3e1661e219bac285215465f726f9affcfbc777eda853638e224e5f9bec023e7e
MD5 0e3f2a5918f7d966d207dc63c50b9b0f
BLAKE2b-256 0ded9189f761e1fc63c450bd0e085b11b1fd8a0c695a58f658a8974e43cc6ec8

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 830b2c03e2b797ae60c9be401b34cda8b2de3785ec9fc75d96b42e5a3454db33
MD5 52d22a796a78d12cfd2be12dfd85f269
BLAKE2b-256 348645ef71576b30e67bf4a88d3016ef23d3444fc21be26cfcad07d64fb09b5e

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7d698477b8057bb24654dfab924779fc21614afb2aab4c08359046a78b2ccfa5
MD5 0cddb0f41b8fb654ed482a3575ca2dd4
BLAKE2b-256 ca78cdfaf6419b6287cc94fa0476b18b79ac85d05d386e2bdd8335d4848d76ea

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 859dbb50c5c4236bbfb2bc995b46a5bf80b93bbdebcaf2cfc7c9a1607dd62817
MD5 9d719a1d3b35df3ac2a8c05e41a2e099
BLAKE2b-256 b050b597afefa38142d794653d3e340fbf69d020ccaac1d47ad4861f591a910b

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f132edeb647ac541368758896221eea387c84548e7934ad4f3a809e43989362e
MD5 fa8e90fd7b7aa758b47361b8ca06e559
BLAKE2b-256 64be3ec6a8386d72a9f252378dc7b878d53f0cc4eb8d266aa2cd4e8f031b4bb3

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fed2deb3f68d4a1244376c5fc9587692e1a791ec5dcd9d5fc8ba49f3630b9d73
MD5 06b68b8b7c1a76e0a7b7e18b608eda45
BLAKE2b-256 7e58cb211439fde91ebe2da6930939f9d46c612c6a4d9b7a98a38fa7934c25f5

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7e1efedc6fb56dad076490f04bc0d46f53b3b1ed320e09ea5373eaed44d3c50a
MD5 15d84e96306d253613e9a2e2d5afbfc5
BLAKE2b-256 d3531fe64bef7420c636b93f1cdf32d074e1019e847234900aa5b8cb6dc96cf5

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e998ccc98f93a2941735706a245be62875824c586d23f0b3307abc083f84755a
MD5 35cd818e5842d8f4c21bc72deebdf248
BLAKE2b-256 8f615ab81045fe3caf378ab11967be19bbf5ef3f164ddaf2cda694b88e5c3074

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 26631d3a6068482e477190aeb952d69736bbb151cc2e550545bfa15228fe4d23
MD5 73e4bacaf9af586ad43a3516b7011c82
BLAKE2b-256 511c9799d421726fd57b0376cb7d2c1f764ff5718f47fba1d721e753882ed70e

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fd7bc26ca6f76418edd636441e02d139f6c837fea08460ae8f498dbf917b1d5f
MD5 0bbb32590f1461f0514de707159902f8
BLAKE2b-256 0a9d4678497bcd1daa4ee85ad803220e857cd1bc7e28333a6e0712e50f03b31d

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b51d824131437dd62aa62a236cbe8893090366720a8e82a457ff31f5df410d26
MD5 03cd943488578224ae144ad59627c577
BLAKE2b-256 e31cf2fed1d4c5b03f95b520a1143abc041d2b409a93a29b454ce9d5749e42fa

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2bf28e403ce0945d6854d004ff88e41c2d258ca8d7ffd7ec06377ddd4c2e52aa
MD5 fa4bbf18e32cebcb2787771e49c90118
BLAKE2b-256 6f367bedc1441e9edf9168952bee8d048975b573ad89ed661f0061dc576f1678

See more details on using hashes here.

File details

Details for the file pin-2.6.20-0-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.20-0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82081c7e266684318364068ecb965fe8b930fc856c151d49d53bbe1ec2c1e9db
MD5 ea25778680dbc1b807e7ca43105ec9c8
BLAKE2b-256 017420cdb101bbd618858b4626e29f7984e61808d18ee3975b03ae874941e437

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