Skip to main content

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

Project description

Pinocchio Logo

License 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.

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

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).

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

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.

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 lines:

@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}
}

and the following one for the reference to the paper introducing Pinocchio:

@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}
}

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 issue or use 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.13-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pin-2.6.13-0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.13-0-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.13-0-pp37-pypy37_pp73-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pin-2.6.13-0-pp37-pypy37_pp73-macosx_12_0_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 12.0+ x86-64

pin-2.6.13-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.13-0-cp311-cp311-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.13-0-cp311-cp311-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pin-2.6.13-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.13-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.13-0-cp310-cp310-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.13-0-cp310-cp310-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pin-2.6.13-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.13-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.13-0-cp39-cp39-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.13-0-cp39-cp39-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pin-2.6.13-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.13-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.13-0-cp38-cp38-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.13-0-cp38-cp38-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pin-2.6.13-0-cp38-cp38-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pin-2.6.13-0-cp37-cp37m-musllinux_1_1_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

pin-2.6.13-0-cp37-cp37m-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ ARM64

pin-2.6.13-0-cp37-cp37m-manylinux_2_17_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pin-2.6.13-0-cp37-cp37m-macosx_10_16_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.7mmacOS 10.16+ x86-64

File details

Details for the file pin-2.6.13-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 163d995d82ee2d578162a026939eafb269b2b66fa7c3e4af97e2435c4b2e95ff
MD5 c819f37627e6ac00db198bf90fc21454
BLAKE2b-256 a0db34610bf9786a6ad23bc0afaba974fe2291d4bd7c69c20035e9bcf08dc5eb

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b53723b8f28c1dce93cca567cf3869cd1df8382b9db191889cbfee474fd9469b
MD5 f48ec8b97eaf83898818c89e6762ca7d
BLAKE2b-256 222a5e3fedfc8baf15190f997735b76fa9c053cd61c4beeac702f592015a19df

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ce8f2c00a6175cb0d1df74eee32560121bbbc15b02fa0487976d357b18182323
MD5 8440ff4892677ceeea5ff55a15056b85
BLAKE2b-256 a24f208ce195a54d309bc201bce68e8c5f25e031d0d97c27723058c6c37c1e2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6c59d46d0cdb53111fb9e261baef0fc51339ec284d587f377ed834ffd1cee92a
MD5 a9c330523dc48a3f62c726107ef43a0e
BLAKE2b-256 94aa81a496e811cb33ea0770323677bbe7d2e47e32955df155bdfacbc57a8702

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-pp37-pypy37_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-pp37-pypy37_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e09ec68680732d19a495ae6f226731d0bc005aff2cd15d3135e5882a2c80faca
MD5 fd0cccd2a83f83c592eaf2e64fdad08a
BLAKE2b-256 1d1ff730f8256f38b648ff52e3016b0f3613689235008e6de938ae5367d440bb

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-pp37-pypy37_pp73-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-pp37-pypy37_pp73-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 088b82ea14799da184e268a1b384138a8c4b2ed50e12f31ba4cef2aa3a9cde40
MD5 6fa2bbb901657292db05bfd2a9d52873
BLAKE2b-256 8ea10286ed198f4e767ddf75875949011ed669cad5d6f6b965c624e5d36e89df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6682ee6b3a32a266a1f6923cc6ed7e08faf623778b29b204206d70a5272b34b1
MD5 927a68a52614e4e3ee50296e9d3252ed
BLAKE2b-256 d3217293208a2cb13cb029aa37a0f290a22b1e76831eac79a3019bfe37e81bd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 61b47f92dfbe99df0b0dbe6b6e7bd24462d5241972da9682aba0fd26976e6b36
MD5 04d07daa1daf25f2b7d7f265b0faa9e4
BLAKE2b-256 bb01250f891291a5acd4ee26365538784bf4ebbde535de4e9271c9c547aced42

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c0cdb5fe88147d278a0da453bab944a1733815e5d18bb0e116423d4fd63d5f16
MD5 fe86bc3907b6f3f39dea78f694f1c54d
BLAKE2b-256 4d16a8e5c41a5381425f735893bcda5d60c81f69bee104673eea2f37916a10ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e0f1ae74df63c9758f25005926951fe71f24a14803a15d4da68876ab5c351e9a
MD5 fcf7a925d5b852a1d6d937a0146871fd
BLAKE2b-256 cd057a99db3c73c7b0c7926ff12892b7fac62e10916a3cd1757ab5835ad940dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 de265a3a82dcc35ecbb76e76f8e7247595b62e90c384be2eebe8db6ed4ecdc87
MD5 fa43e07364d2194993d17ffd1b26f24a
BLAKE2b-256 894774d20d3c7855be60cf0f955ac43fdc17d75c084b8d103e3be6862e61eb46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 723feaf2eb9b2124188f67a9c267fc762f71ec79431d90b375af8810349877ee
MD5 06bc9bdec319b074e21e783af0cf3eea
BLAKE2b-256 a4ffc53d17ee5cb4342211e8df17acbfa4ff756aac48cc08d03680aade83c805

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 728df6028bb3224f334d4ef5ebdb669c3a7ea5f454bc7b132577d09e0e2e19d1
MD5 ffbc6b47ba9ba68b58c053b174728b17
BLAKE2b-256 a12914d11d666cd81ee6dc6c03868ef337b52e7caf1ae6f948ba51c12c886001

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ce60cfff1684411569677254fe01bbcf6221bfef13a674045bc4abf069df3dd
MD5 a4a7117bec660b4e2879a55ecba141f2
BLAKE2b-256 b87b7e5250b9a6a9fbbbe66c62c2a9cd0c02336fa8c3a97fb42190a13a0132cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a0c33117f0f9b13b0a243f3f205ce6ef308750cb565fa76abbc268a56f13a06b
MD5 8151b50b6707b9038fd8759bfb5774b4
BLAKE2b-256 a939e703bea785109d0767514e053545333390ce15cb2e653f91545b9e1f4ba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 27407dacc86ce67d56dfd6894a85675dd83471527940e60db8293548e40a011d
MD5 75dcdbeb826a63c8a00a0e9640764b74
BLAKE2b-256 87aa555cfb78867314fbed4f789329f2d0f3e9c47aa2b66683a5ebc80b1cea10

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0bac54d4efb14f6ad8872eebd1b902ce0db3c84487a95199178740797e91424a
MD5 5e8c40d0e36d09f33e5a09cbd28c7800
BLAKE2b-256 51487494e393e2340a3e136761d34f09a635ff9dda3fa553c97efcab92793d12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf84eb04016188846932f2143f68422f8f6ff98b83eedd2be369209c7ebf23c4
MD5 8dba832fb1ac98e5bd082816be7fa290
BLAKE2b-256 2fbe82d0a7e3c877bd97304cc035fd3254baf7fd54f2ce26bd791562031cb24e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5f9f6a712bfb31d9353049b21754ff98542ef830cb79b779ea09b578ac11bab3
MD5 ce479394c70ba298344f750c2f72c6ac
BLAKE2b-256 756961ec64070890c469dafe5d89a236878158a0b265f0d316d879115bb4c01e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.13-0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7e4349dc9b9f495315c02ff449b89f7b5c7777df87648e1f9e09590da677eb7b
MD5 9eaa1ac05504c46d16122cb6f8892ce7
BLAKE2b-256 3109885f14469a509dc48dfa43e3537468b034a1253c49cd412b32a5eab00478

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp38-cp38-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0de2f808e404e92f6860e05547af645ee1c7595a94d66ffb2da52f04008ebc09
MD5 0acca4749fad9339212b84e4083df8eb
BLAKE2b-256 e68bf2b676e735634048475205d60dda18e74b524186ee7d28af9b8c6d7325d4

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50c54c4b6f033148d363b86617cbc5bd4ead7a620deb261c06227bd8cea4acca
MD5 4c008c7002a5efb70c80ebd9eb9208d0
BLAKE2b-256 626ff0675a789451757a081c8a24471878352571e92194014ea9d6b04f0be9f1

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 db8974955fe1aee31f2131bae4b7eccf65b0106ca0147d0eafd032e1a81e41bf
MD5 873bff1dc0016acc90423d2ef9c7e9c3
BLAKE2b-256 a6fb3a34d2509a877b19ba742c8b5b8490479a74d94c1e7d8a40b61798c23117

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp37-cp37m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 84909e034be5c45b1452f02b06d79859f43feb4f4d15c03a1b1a794e80a5d460
MD5 8181cecc8168d35b60b57d6f7893d466
BLAKE2b-256 17374ef4b34f34cbdd892eacdb7c54140f4a7de274941abaf44e1a2d813c53c4

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp37-cp37m-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9d46495c67aa49aa7faf78252a1686684071a9b30fec296dc3d1f4a3d76efbf2
MD5 1afcb1493891c265c97980ed00ce3068
BLAKE2b-256 ab73875bf0a4c43bdb33086034fb97a3111d90a28734f1828555ecf64e52d247

See more details on using hashes here.

File details

Details for the file pin-2.6.13-0-cp37-cp37m-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.13-0-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 e85ab7fd3444a5de5bcedeed245813298b97d5eb3a03b986c32412a6737f6166
MD5 b1976007113d80a5a423f756bd765a30
BLAKE2b-256 461345f99f811be5db715851f3b1753d1e099a462ed3c3d60484c25b144c5492

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