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.12.1-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.12.1-0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.12.1-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.12.1-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pin-2.6.12.1-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.12.1-0-pp37-pypy37_pp73-macosx_12_0_x86_64.whl (4.4 MB view details)

Uploaded PyPymacOS 12.0+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pin-2.6.12.1-0-cp311-cp311-manylinux_2_17_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

pin-2.6.12.1-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.12.1-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.12.1-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.12.1-0-cp37-cp37m-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ ARM64

pin-2.6.12.1-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.12.1-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.12.1-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f9c2544b022115fae58695387c450811a553dea9b7db70fed06cc70b5424051e
MD5 5c38479d4e2c26b66b35e7d31de4a185
BLAKE2b-256 9cf4507d10b5b23fba02bba4bc7c3baeb33373d826963d9f196f5df721fc2a0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff43b924e4b061dbb4b4dcbaddb2289d0bc9163e8b1c1d0766de6e8893b6cee9
MD5 594a4c51a4ba54245b86b8af02da116d
BLAKE2b-256 46c682d2b2680aa95df33a5c87168781f9e13332c12f0138313af5dc9c556ccd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 974ce38748bcc06103f45a04803e6f973b3ac3bace866a91039aff41b34a33a3
MD5 1b3e85e84a3d5de6e408fa8f731a1f92
BLAKE2b-256 9c29688953d93feb1a83a331b551a95aee51cc430b8d689e4b65113519bf6be9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b04676d580033cffcb363056b62e7b30c4b26f9576d314e80d5ca9d0a4ae246
MD5 204d213b5d78637ca26980866f2ac26c
BLAKE2b-256 b07d60ed9d47ed83719324b595ea4827c2d1a132c0a88267d5a39e72f7b7cf83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp37-pypy37_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5d8b24b5453f912c66cbfc7502e8b27a91384df53822b68d83c2f1b67f21c50a
MD5 f0e2dae84cc861ad96338be3375410e3
BLAKE2b-256 cb9dbce00ad3b0d35714e55c33a9907996ce849c76089d2a1df3fb979cd04c68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-pp37-pypy37_pp73-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 68981aab0d1ec2acbcb6f8313eab4768323861f0d1ab0f43cdab161fdf319973
MD5 71f8dce2d91720235879f4ef20a4cce7
BLAKE2b-256 b90741bf80b6aee89ec85d18c11a9e09e45a6883c40dc6ce282b8cc7cd811ecf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1cc06b63bb7eae54c8e24097bf77245eecd3c99859adecec5bbc7d4a49624777
MD5 e9e7663bbb99ce19d88c787b35039e20
BLAKE2b-256 0d4d352c44cd12058fa971df333604c21953b0c72f996f6dd66c66a6d1acbcef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5a8c4bb0de6d0b844c94314b9e599b0c78cbd37d5f41733c9d7e5921a4bf11ef
MD5 c3975ef6be6b834ebbf5cf708a4b9d5d
BLAKE2b-256 ea31645c7e25e8a69b6f2455097c1a5ab30718f897474d5d6922ccc779ca280f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8c7efcc7af068863e0c9f209d7505e39cfda8e54195d3f96e29e803cac14970b
MD5 595f99ab95722963da7a410abfa59531
BLAKE2b-256 e9b9fc750d54b177b07cb3a6c0ec48d0dba013d2e26887b0b25ee2d93f262d51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9ee9d64119e3c52ba36ec9757ce9989b4e024c5ba35b26eda408d064639c7fc2
MD5 f8bde6e1285a4a2e860ae4f05114f9f8
BLAKE2b-256 acd733c579c917e475440b25c7d3e0050418d003e94f2727d1e77474cd2fde32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 13158b800a79225bacd5a535785c15b9b48666cfabf9a9db76789bb539cbf2cd
MD5 510829163f130feea7e9b9c697551f1f
BLAKE2b-256 55e35129c730ab66fa9d4b14426d964eed50c1476a33c2838581322696747ccd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ec6e9bb6bc40d89d57e97963623dfc573421928b662b1487fdbe6f4f1ffffd17
MD5 a85a68f6306b5fc91b318181cbeb2945
BLAKE2b-256 2d3686b9a1d5a48c3551b0cb8d429f6528d5e1ab46da80c32e18baac342bf23e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b3f20359651edfa988af4a8de7a85ada5b4a2af88817f4a465ee0d08ba04dd3d
MD5 7b762155577a0113e9c4e433eb04fb03
BLAKE2b-256 166a4769251793a2b9a3418fe7ef8789bfe0a05acd619efe01e50eb000bd9104

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 da8de148ba385c9662835363c3bd2996ac497d26c96b2085c267a5241c322b5c
MD5 c98f8951f0c12bf1a194a071938262bd
BLAKE2b-256 b8731ed95f65bd49f362ae1a94800ecb3ff53644fed1294fa8a4ed3a789d7459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d47995966a9f41f04f9bef75fe910f2027fe4f4c91dbbd0d057eb557641d7587
MD5 b27accadad465cf4c6a300e26546be67
BLAKE2b-256 2e0b8b9409ae680eaa4c091d39d9f4e9690971152ebd8d2decbaab78cb4f2311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d2383d36c3b95d417cd03629c3a1c950e151cffd34c1788e3d7cc3124bfb0f19
MD5 b1b17bec42eddafdacbaa2a97fc2bf63
BLAKE2b-256 13f0c374ca77cb5a4883e3412b0733745816610060a1779d0f841e556ca29352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 99cb6b3468d5aa8a89999da31a4e046ad3cfe01f4f72e0e1fedd2d6db27796ce
MD5 0377ab6a5e5cb56b6813bc0fa397f4ed
BLAKE2b-256 e0ec1b9560b24be990800c3057ab86c3d22251fec1d73ce4ff233f1a4c9a1990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f6ffc3be67206e90936c4df1d2adfe27f4e143430e874401d4a74df219002842
MD5 7680c43c4275b187642fba3bda769950
BLAKE2b-256 0c5b10b853cdba3d197fce966f7e72ca89d4d2378bdf31d80eb057c67012f373

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dfe89d10c12c88d1b9446f84d7f866140656a02d00684e5c907e8c60ff595c59
MD5 111182519940bf4886483b53c9bccfd1
BLAKE2b-256 bc11ac292e2ef2a930587036ff2dadc25d4b4dae047e6d96f2690471ad5c16aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9c6243f8fc3e3f57ae028ff8eaba52f8c693c01afe403909f8ca80ebd08662a6
MD5 7696501d506d52dbed3d880734e25f43
BLAKE2b-256 01cdaf1dba8e453d4563805d6cd059c8598ca96390f52540fa291422543557f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5fae962e2dec17666c3297be3c2370ecb7abecb96e330d7f21f19985c4d7329c
MD5 1829eff3b8c26240fa798b9e84500024
BLAKE2b-256 a4adab7852bd85246efc180c83c7fe513a71c64a527447d8e4da5ca451a809f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2fb8d75f7646a2616654b7b4a7976a6b67575b02b26937ef6fed3534c45567a5
MD5 4d10bebc63f67a24c98ca405161094a9
BLAKE2b-256 f64ae1627af733f7e2fb982345a0853c434bd90b5e2b3701cbb7e3fd90f6e4d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 186544ab7d35705b38fe2cc5cdbc4c5c69f5924de83c15ba63b5f92bdc5ed4be
MD5 8fe358486504cb03d7952180b3fde5cb
BLAKE2b-256 152e5e6b2f9180939a9d0427d6f12ca84a797876ce277390cfaf97e0ebdd0d24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a90856619e0b9058fe1df1ae1dd306c56258a679bf7518fa803b98d84757d02c
MD5 c19f3d5b3a1a2df886fa31c43e096fe9
BLAKE2b-256 877d4812bb621b5e5bb8d9eaa15f1e629e3f6b3e954c684ba4b9aae2e075bc42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 27512d0918560308847b42560b33248e3b30bb6497c8fa556a79bdd94ba7f59f
MD5 8be82897d185d87039a8e94705004e8f
BLAKE2b-256 ed1cd130dca03aec4aa8cb2a44c94b7f7680847427f4c25f93159e18d9028310

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pin-2.6.12.1-0-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 e1202cd9dc14a1bc62b9ab0cbed281a79fb65c92831d17a365ceadd11b5df1ce
MD5 7c5b7186c81942a41107ec4d985d0093
BLAKE2b-256 52964de0d2f78749f7abd0538312c2e84507c295e1f12b939a89cdcc336f15b6

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