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.18-40-cp37-cp37m-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pin-2.6.18-40-cp37-cp37m-macosx_12_0_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.7mmacOS 12.0+ x86-64

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

Uploaded PyPymacOS 11.0+ ARM64

pin-2.6.18-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.18-2-pp38-pypy38_pp73-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

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

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.18-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.18-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.18-2-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pin-2.6.18-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.18-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.18-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.18-2-cp310-cp310-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

pin-2.6.18-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.18-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.18-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.18-2-cp39-cp39-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

pin-2.6.18-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.18-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.18-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.18-2-cp38-cp38-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.18-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.18-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.18-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (4.3 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.18-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.18-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.18-0-cp311-cp311-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.18-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.18-0-cp311-cp311-macosx_10_9_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pin-2.6.18-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.18-0-cp310-cp310-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pin-2.6.18-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.18-0-cp310-cp310-macosx_10_9_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pin-2.6.18-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.18-0-cp39-cp39-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pin-2.6.18-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.18-0-cp39-cp39-macosx_10_9_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pin-2.6.18-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.18-0-cp38-cp38-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.18-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.18-0-cp38-cp38-macosx_10_9_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pin-2.6.18-0-cp37-cp37m-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

pin-2.6.18-0-cp37-cp37m-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ ARM64

pin-2.6.18-0-cp37-cp37m-manylinux_2_17_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pin-2.6.18-0-cp37-cp37m-macosx_10_15_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file pin-2.6.18-40-cp37-cp37m-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.18-40-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1a6036f6d728dc0b4dfc2da2c3a312692a1040ea7f727ccb2418df72b133c476
MD5 cbcce5fa7a62e4df96c2175125b67655
BLAKE2b-256 f305995112120773381e05829abf9ebdf57c2e7b2ec2a2e066fbddf9d481fb2a

See more details on using hashes here.

File details

Details for the file pin-2.6.18-40-cp37-cp37m-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.18-40-cp37-cp37m-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 756d7c44f93b7b86da2e0df7e0683df270e349d96b393e0c3d5c292eb9c6ee08
MD5 a150af47fbadbd150a2246bfac5be035
BLAKE2b-256 3e948396f5b1df5a22b893eb58b4d5c054975f689c65851de7ff81375447228e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e404b85a820fe9bb60d8f22248745e5a1162407b8390552eb68e144a031c45d4
MD5 cc2da4e1ceef3a65fcb61634b1a2060c
BLAKE2b-256 c825987254161aa34380cb6402d1358af49cf27c4b95ff34a4a4dba5cfc7ec88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 889937fe6a6da900e20e4f87e0cefe22b4c9fb635f1faf094096ac62d3a6069a
MD5 7eda2df08c5778a88c96cc37e68a1cd4
BLAKE2b-256 87615c32a805ccedb42470785105baf2a8bf67512f30e9ee097edf581f6f1ba8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 462ef859a3951bc3de150dab18799b3a31f29e5c185f73188abaab9ecd8c7512
MD5 2bc01d874af375152e5017ce5cb436e8
BLAKE2b-256 3e0876a1e4d2a5ad0da414b1a880430d3f0e0f5cb08c9710eb98d05626db9b32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eed2360ca8a21d61443378e7cebd9cd6aea8e3e422d1d3e73455fdbbfeaf1e54
MD5 40c8be9ceed6d9ec9e08b0c24805a122
BLAKE2b-256 dbce520786c7c94cdf7cae451abd6516e5ef399022ba656d782401459758852c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1762b9465aa4ad3b0e2b243eafab2a2bef1920641dc7adeb6d9069b1c08d4022
MD5 b6d6482e1df57503898abb6e3bc6808d
BLAKE2b-256 11ace955a086e27e42324382c90851f1c80da1dd14bf4521e3993a70b3ed7da9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e0e171e95848bd33a433b3f7ac33fff8a516f102737a0250923e18410e40883f
MD5 630b7f72938d1585e3849d3bde275c19
BLAKE2b-256 3122ac6b4f0fae2ee42b42cf0ae35c86c317ce8f6f0a177be116ecbf86cf4270

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f42ed47425c2b4196ac8a4f277ea9d9e541c03907d0045298402fb45360e8a5e
MD5 72d4d1c1d4ac475ac55b0d51e0773508
BLAKE2b-256 237297fbb73a4a344b36d06edbb36533b7b611a105d7c17d0c8e7656584be22a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3003e9a70efc4cce731c5ae09a994db39688e35098edbf2314a32a0e41b7763f
MD5 95437f879b644777113ad9ca8fea2d45
BLAKE2b-256 c11da844cb2c5899141b4acb89adf93dcf9f9efc2da7fd953d6d24c8553ff8ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ebdd3ca245247f8e2423ada78095de9bcf95492e9cf6a07e4beca4272abb8fe6
MD5 42f7e52ccc35e092005fc79490dfa7e8
BLAKE2b-256 c03540d04b1bdbe5a501d362979e64cc693eeea70d523824dd527e3befd6825e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cf7494045f3e93882da879999407a398e188e4fe75ab1515024c7fab4274e304
MD5 1629250ec38967ef32e856ae9026e232
BLAKE2b-256 bd526eb8cdb3d5277dc60b8ae3a2ed6cc193e4384a989bf930324f21091470f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f205d3e6a392d3b050b40b519934446dcbd7ae06f5cd4cfedfa59701d7804511
MD5 9f411734016d38cb862bec30c7d94fd3
BLAKE2b-256 49d9f19d5d9e02a79b139c18190d4afab4d5fa3912895da05041e9d7ee97ec45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 74fb34c7910061d1fc1f22a7aa7ff91bd7cd137f75a11c0ed1cc92a2ab4c5132
MD5 6f04f81a16a9658099ed982ba0253dc0
BLAKE2b-256 fd6022dd099b0f3bee78b69733d1773bca552330753744c3624e12726ec7a960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88842572bdd3a533702351b0b0fda92761162886b983d16938bbafac64abfd6a
MD5 224efd97b55c8c701233b29e198f1816
BLAKE2b-256 6b4bc4a38b67161d59f82693706090836e8693ea3db79f11544e4ee6d02ea543

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e997827e4779f48ed52f9082842e7daada395cceb46a908b399438829fcf4838
MD5 f71f6c694fc898c88c0e95a6903ad2c4
BLAKE2b-256 e7daa39448f3f3caf6146113750e521a6a0db9a1480e7c853f5ab991f2fe7991

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6388dd06c0c3ce6edeb9b3840941b5d7e870a581339556a9d9834b9312223f59
MD5 8bd0b5c296f406280e79282db0f716f6
BLAKE2b-256 e31c894e2dfd08a1a3e945ce83a9cf47ab8824e35269dad45a85423be1d4bb62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7fb41de3527f36825f5416f7da8379c1f231a7c3554d27551e7e897b2355ec4
MD5 25e1194b3595221d7e0091f7d9b5f540
BLAKE2b-256 bfff98b8925c9ed85669f68e4cc4ae807eaf71123e518d92630d72afb799a451

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e93e4a6bf9cf7e13549073727bab3fe5e2db63218fd0d7ec27aaaf7e752ba50b
MD5 3fdd6de2305ac4fd22e7d6573ba65e19
BLAKE2b-256 3ce6d115782d287eb8ade1935e381e3c7c38a132da59ba3979053296ffdefbe3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c227a214ab52e5e79af93ddcd95ac653117b523f26dc884aae675f34bc242a7
MD5 ee8005b7a48cb628a5f816291719ed30
BLAKE2b-256 5fdc21db9afe88a0ff97fa5e6fc9bf335dfa0b8171aeb10deafb4d998181b807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 38c79b746a00debf76b9c21f9d808c4a70560409b55cdc18e2b24c3a4c67d259
MD5 1d64abb647d69912640ba3ffdbd4b94c
BLAKE2b-256 a3243b2e97119d62f5e86e7d4c8c6387399d49f4c3fc6169432d83114481f2be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3b1c8c0eadef93cfd931977ed8b2d61d1fcb5b97ffeb712a11ba62529b934531
MD5 74534578eaa7d6e010c5168d6bff6a83
BLAKE2b-256 b2732ad6a7fa30804d40c8e820b29e1c09f4b233c357099314b4a7f7e8375bbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20a48654ff624615f7617699a3b0a4dd21866bd187424d5cf0d25882b37c3b32
MD5 527d698df48297937f1f17e304ce4c59
BLAKE2b-256 05aec15d17d018a3ffd410a962c00461df823a243cc36d4ee2e1f2b51ef6e77c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-2-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 552efc09ae2d38f2443ed628d56e47e3f9c419bc0c23a407c8f76365d0fc6c9b
MD5 249420c5d19136acc88c9cdfaca231d6
BLAKE2b-256 cb5fdcd2f2822d16ccae2d96e9fbac15f8a49f6f4defd74ee44170674a860720

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ef875177f3453c4999107ac95b33961e56a5e15fdd2614cf8576a87fa9343534
MD5 47395e582dabf6f0439e19647676dcca
BLAKE2b-256 beb466ee5249f82231d52f5c018030636444bc2d98580c44569799a7c64971a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f90767366ca3c650cc8d5ff2c10ab475f816e90e4b8fa67efd82683600bd1405
MD5 049bdb438e8be79b4fca8d03ee622a81
BLAKE2b-256 f761a5307bdad759dcbbf0488090b5480b235d64535969988d5f489db971df4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 78edf5ebd55e4aef2dff16f69547ff9a18b7d9a65bcd3909499b189676c7fa45
MD5 2d9b305a7a98736f44e48c92b15ef794
BLAKE2b-256 fa12d05b6c03737aa132894cc06729a0f2aea4c42131ef45052a06c479e76141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-pp37-pypy37_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 910064538a57b800b301ee62960ed7b64156b155987ad1f19fed54b0a1a14fe5
MD5 eb6d578129ba8035a844f6268ff00b0f
BLAKE2b-256 d715e335577a016e1cd070cbf4a765945ada7b36188b42e9d41e5b57381dcd24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6e9018018501afd2368003e69926e0ddddcbebc29c4021d89443a2dde009b09a
MD5 fa8721dd8dc898efc0a9a13a8476e50d
BLAKE2b-256 28ff68fd44cdc0130b1c90751606001a348c6eb36737fdc474c888c3d669d898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eb394cdb94b6c5d736d0ddbcd4d8917d5dd6620bf7f5af5994927716e057be49
MD5 6c313d7bc07cb6bb0a6a54159b4285b0
BLAKE2b-256 d5e952363d36a9783e0b603efbcce6cf77b0b7df72830cebb68ca4deccff0d5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 07cd58fac20dd0b246b1a43e98ecbc0162a0618e7b5cd3263da714cb992b6e48
MD5 4ff54494a4b2fb2f55b298fd5a191fbf
BLAKE2b-256 7039ee3ef4ede4757b8a19b9709bcbf7a56813712cd82b6c9fa77a6d0c8ecadc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6bf29cade79e16997506e9ca7646ae574e0a80d8b048aac9391fed2ab7f6ed1a
MD5 8de21ece43faa38721b03c07de2e278b
BLAKE2b-256 e369e2d47a85462c2d60a3291191fcc36caa5a60d81db3c36213d46cbe3146f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a3ed30c08094fe7df22430c3004e7ac88e60ce3f19b20e9465dd78aa667fca1a
MD5 7f9b87f6eb56aa43d5b3f5220033f025
BLAKE2b-256 ea38baf85e5776b304dd97cfa7ca30979ae25aca00e0d367a34b9ce31d492971

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 23698500800073fc8ddcecf45d3cd9df5b583889fb439f1fda7fa6c03b1ad859
MD5 5a35e040e24a6738a46916929b321577
BLAKE2b-256 d2f7c9f964b57255afd1742696429feaf986b86728cde891dce57a8a3966f949

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a3169dd4931668d4ef4a4fec58a6c48117205b0e9d052027abb9fa313f8bedfe
MD5 985e937427027be56e08c094a587f942
BLAKE2b-256 6a8b7a896615d12f7480be18316b9b439848930ce3e83a0e5175683286d7bd79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0f5e5dd1d403c8c104cdb36e058ef82343e36a61518645345f3cd1f6c93a8a35
MD5 6bfca957692cc9ccdb1405985fa17452
BLAKE2b-256 66fb824043c500f27b9a740e9226bc6432569e2ca2563ee74a6835a3e7929d0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9862424697e216e01aee2317d9cde271b9ee71b4e72080073f761e2ca221deab
MD5 975acd890ad4044b2df196d60e78cfe8
BLAKE2b-256 bba8ffb7431a9a725b830e6dc15eccab45e94db98fc89ad09d48550fe1448ee8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6832694ab8c2c6e2a4792d6afd0132b92f977c6b2645b46cf5901dc382aed196
MD5 0342cc3ba8dc61efcad081dfc62ce811
BLAKE2b-256 9b51b108bb1bdd1e914f99f7f184f1d48a6c92d6f7fccc84d6b3d7c629d3fc38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 be09cf9b9635168bb134b4aa9e2073838a1e7b888ccd53522f0deb728a1508b2
MD5 5cf51790f5a5531ec3855503445022f1
BLAKE2b-256 a1b9319d785bd00935fba9987dec5927554be963534ba45761ca7dbfb95f4fa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6e4c63064fc36ea2adfe1419dd113e55545ed5bb9e1bc4d1af4ece9353dc8ec4
MD5 9d9af209073d45754845e65b7889ca1b
BLAKE2b-256 8e74ac266157b620c74c997e205526d2a4b1c1a4a2c262b785577640dca4e359

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f720efc20557d24c6ce8d2bc8dd1e8ed0be53d5c4e9326a8efafdf091448f5b7
MD5 d2e8996ceb77686231971c18e3f45496
BLAKE2b-256 797aa31d5bace04a67e0aff02ec09e49c91081543a135d1c99dc85b86ab90b2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 865c5d9eecb0c497dd498cc18143e7f891cf599952e7b67ecc1036e98f9cb98c
MD5 28bcfaba65dae2951eaa882fef910a88
BLAKE2b-256 8160af8e087b5ee09a5a91084ad5863e5aaa7cb7e699583cfff7b80b10a9f060

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9813e1e322b803d8bdc1b8f7c645d171cfc4aec9238a7db07eb2468f700293a5
MD5 3cc9b7bf4fd0928758323208d7916165
BLAKE2b-256 6ae717acddcb565d3b1b40375458b3dd2041603016c73e26d596944c716ff90d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 03663049d265edb77738c0c98988d6fa748c0af49aa9455b2ea1e4603632bb50
MD5 d3f14083031383cb3a7b643efe27e230
BLAKE2b-256 36d91a45ec5eacd704f74f56bfac9dc29a81d6c0527febb4c0483db9282ae340

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f122c55ae420e2d0ef4286eb1bae9c6159c9e81ff9e3b76e92a63bf0d1f9dde1
MD5 1bebc8b9842506527c915eadaeb781a5
BLAKE2b-256 0e77b8fae2e25731ea5070d3fab0d5777a3d34c5773f2de9995fee0d07bfc34e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 65b951ecb5fb3ac6f284ba75ce342cb467cbf050238800215fe27a2461d71d62
MD5 f28e576fe79ce3689b950f40b373d7d2
BLAKE2b-256 2a19ab3d6b44ea22b7554eb2995af356b11dbe969bfc594f62db66c96923bd25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.18-0-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b0c143ccba1702092f2e6ff05a037275f1a21aca25be2059208efeab51cae806
MD5 5c8b94135cf7190b0c22adde83b57eb3
BLAKE2b-256 ebe9b66a09b68ef39409bf76973b00db88581fb8641679b50d3c2f5927f9ac0f

See more details on using hashes here.

File details

Details for the file pin-2.6.18-0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.18-0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 82136f69f4becf05f837b111af3424cf316b93e8d7070d962c675eb84e892894
MD5 5a264ccd3a613919534bf4a683b9f3b2
BLAKE2b-256 3dcee3731730ea9292dc32d16356ee2402e58ba3cfec873b5e7edb2614ba64dc

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