Skip to main content

Instantaneous Motion Generation for Robots and Machines.

Project description

Ruckig

Instantaneous Motion Generation for Robots and Machines.

CI Issues Releases MIT

Ruckig generates trajectories on-the-fly, allowing robots and machines to react instantaneously to sensor input. Ruckig calculates a trajectory to a target waypoint (with position, velocity, and acceleration) starting from any initial state limited by velocity, acceleration, and jerk constraints. Besides the target state, Ruckig allows to define intermediate positions for waypoint following. For state-to-state motions, Ruckig guarantees a time-optimal solution. With intermediate waypoints, Ruckig calculates the path and its time parametrization jointly, resulting in significantly faster trajectories compared to traditional methods.

More information can be found at ruckig.com and in the corresponding paper Jerk-limited Real-time Trajectory Generation with Arbitrary Target States. Documentation is published at docs.ruckig.com.

Installation

Ruckig has no dependencies (except for testing). To build Ruckig using CMake, just run

mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

To install Ruckig in a system-wide directory, you can either use (sudo) make install or install it as debian package using cpack by running

cpack
sudo dpkg -i ruckig*.deb

An example of using Ruckig in your CMake project is given by examples/CMakeLists.txt. However, you can also include Ruckig as a directory within your project and call add_subdirectory(ruckig) in your parent CMakeLists.txt.

Ruckig is also available as a Python module, in particular for development or debugging purposes. The Ruckig Community Version can be installed from PyPI via

pip install ruckig

When using CMake, the Python module can be built using the BUILD_PYTHON_MODULE flag. If you're only interested in the Python module (and not in the C++ library), you can build and install Ruckig via pip install ..

Tutorial

Furthermore, we will explain the basics to get started with online generated trajectories within your application. There is also a collection of examples that guide you through the most important features of Ruckig. A time-optimal trajectory for a single degree of freedom is shown in the figure below. We also added plots of the resulting trajectories for all examples. Let's get started!

Trajectory Profile

Waypoint-based Trajectory Generation

Ruckig provides three main interface classes: the Ruckig, the InputParameter, and the OutputParameter class.

First, you'll need to create a Ruckig instance with the number of DoFs as a template parameter, and the control cycle (e.g. in seconds) in the constructor.

Ruckig<6> ruckig {0.001}; // Number DoFs; control cycle in [s]

The input type has 3 blocks of data: the current state, the target state and the corresponding kinematic limits.

InputParameter<6> input; // Number DoFs
input.current_position = {0.2, ...};
input.current_velocity = {0.1, ...};
input.current_acceleration = {0.1, ...};
input.target_position = {0.5, ...};
input.target_velocity = {-0.1, ...};
input.target_acceleration = {0.2, ...};
input.max_velocity = {0.4, ...};
input.max_acceleration = {1.0, ...};
input.max_jerk = {4.0, ...};

OutputParameter<6> output; // Number DoFs

If you only want to have a acceleration-constrained trajectory, you can also omit the max_jerk as well as the current and target_acceleration value. Given all input and output resources, we can iterate over the trajectory at each discrete time step. For most applications, this loop must run within a real-time thread and controls the actual hardware.

while (ruckig.update(input, output) == Result::Working) {
  // Make use of the new state here!
  // e.g. robot->setJointPositions(output.new_position);

  output.pass_to_input(input); // Don't forget this!
}

Within the control loop, you need to update the current state of the input parameter according to the calculated trajectory. Therefore, the pass_to_input method copies the new kinematic state of the output to the current kinematic state of the input parameter. If (in the next step) the current state is not the expected, pre-calculated trajectory, Ruckig will calculate a new trajectory based on the novel input. When the trajectory has reached the target state, the update function will return Result::Finished.

Intermediate Waypoints

The Ruckig Community Version includes built-in support for intermediate waypoints, using our cloud API for remote calculation. Of course, the Ruckig Pro version is fully local. To allocate the necessary memory for a variable number of waypoints beforehand, we need to pass the maximum number of waypoints to Ruckig via

Ruckig<6> ruckig {0.001, 8};
InputParameter<6> input {8};
OutputParameter<6> output {8};

The InputParameter class takes the number of waypoints as an optional input, however usually you will fill in the values (and therefore reserve its memory) yourself. Then you're ready to set intermediate via points by

input.intermediate_positions = {
  {0.2, ...},
  {0.8, ...},
};

As soon as at least one intermediate positions is given, the Ruckig Community Version switches to the mentioned (of course, non real-time capable) cloud API. If you require real-time calculation on your own hardware, please contact us for the Ruckig Pro Version.

When using intermediate positions, both the underlying motion planning problem as well as its calculation changes significantly. In particular, there are some fundamental limitations for jerk-limited online trajectory generation regarding the usage of waypoints. Please find more information about these limitations here, and in general we recommend to use

input.intermediate_positions = ruckig.filter_intermediate_positions(input.intermediate_positions, {0.1, ...});

to filter waypoints according to a (high) threshold distance. Setting interrupt_calculation_duration makes sure to be real-time capable by refining the solution in the next control invocation. Note that this is a soft interruption of the calculation. Currently, no minimum or discrete durations are supported when using intermediate positions.

Input Parameter

To go into more detail, the InputParameter type has following members:

using Vector = std::array<double, DOFs>; // By default

Vector current_position;
Vector current_velocity; // Initialized to zero
Vector current_acceleration; // Initialized to zero

std::vector<Vector> intermediate_positions; // (only in Pro Version)

Vector target_position;
Vector target_velocity; // Initialized to zero
Vector target_acceleration; // Initialized to zero

Vector max_velocity;
Vector max_acceleration;
Vector max_jerk; // Initialized to infinity

Vector max_position; // Initialized to infinity (only in Pro Version)
Vector min_position; // Initialized to -infinity (only in Pro Version)

std::optional<Vector> min_velocity; // If not given, the negative maximum velocity will be used.
std::optional<Vector> min_acceleration; // If not given, the negative maximum acceleration will be used.

std::array<bool, DOFs> enabled; // Initialized to true
std::optional<double> minimum_duration;
std::optional<double> interrupt_calculation_duration; // [µs], (only in Pro Version)

ControlInterface control_interface; // The default position interface controls the full kinematic state.
Synchronization synchronization; // Synchronization behavior of multiple DoFs
DurationDiscretization duration_discretization; // Whether the duration should be a discrete multiple of the control cycle (off by default)

std::optional<Vector<ControlInterface>> per_dof_control_interface; // Sets the control interface for each DoF individually, overwrites global control_interface
std::optional<Vector<Synchronization>> per_dof_synchronization; // Sets the synchronization for each DoF individually, overwrites global synchronization

On top of the current state, target state, and constraints, Ruckig allows for a few more advanced settings:

  • A minimum velocity and acceleration can be specified - these should be a negative number. If they are not given, the negative maximum velocity or acceleration will be used (similar to the jerk limit). For example, this might be useful in human robot collaboration settings with a different velocity limit towards a human. Or, when switching between different moving coordinate frames like picking from a conveyer belt.
  • You can overwrite the global kinematic limits to specify limits for each section between two waypoints separately by using e.g. per_section_max_velocity.
  • If a DoF is not enabled, it will be ignored in the calculation. Ruckig will output a trajectory with constant acceleration for those DoFs.
  • A minimum duration can be optionally given. Note that Ruckig can not guarantee an exact, but only a minimum duration of the trajectory.
  • The control interface (position or velocity control) can be switched easily. For example, a stop trajectory or visual servoing can be easily implemented with the velocity interface.
  • Different synchronization behaviors (i.a. phase, time, or no synchonization) are implemented. Phase synchronization results in straight-line motions.
  • The trajectory duration might be constrained to a multiple of the control cycle. This way, the exact state can be reached at a control loop execution.

We refer to the API documentation of the enumerations within the ruckig namespace for all available options.

Input Validation

To check that Ruckig is able to generate a trajectory before the actual calculation step,

ruckig.validate_input(input, check_current_state_within_limits=false, check_target_state_within_limits=true);
// returns true or throws

throws an error with a detailed reason if an input is not valid. You can also set the default template parameter to false via ruckig.validate_input<false>(...) to just return a boolean true or false. The two boolean arguments check that the current or target state are within the limits. The check includes a typical catch of jerk-limited trajectory generation: When the current state is at maximal velocity, any positive acceleration will inevitable lead to a velocity violation at a future timestep. In general, this condition is fulfilled when

Abs(acceleration) <= Sqrt(2 * max_jerk * (max_velocity - Abs(velocity))).

If both arguments are set to true, the calculated trajectory is guaranteed to be within the kinematic limits throughout its duration. Also, note that there are range constraints of the input due to numerical reasons, see below for more details.

Result Type

The update function of the Ruckig class returns a Result type that indicates the current state of the algorithm. This can either be working, finished if the trajectory has finished, or an error type if something went wrong during calculation. The result type can be compared as a standard integer.

State Error Code
Working 0
Finished 1
Error -1
ErrorInvalidInput -100
ErrorTrajectoryDuration -101
ErrorPositionalLimits -102
ErrorExecutionTimeCalculation -110
ErrorSynchronizationCalculation -111

Output Parameter

The output class includes the new kinematic state and the overall trajectory.

Vector new_position;
Vector new_velocity;
Vector new_acceleration;

Trajectory trajectory; // The current trajectory
double time; // The current, auto-incremented time. Reset to 0 at a new calculation.

size_t new_section; // Index of the section between two (possibly filtered) intermediate positions.
bool did_section_change; // Was a new section reached in the last cycle?

bool new_calculation; // Whether a new calculation was performed in the last cycle
bool was_calculation_interrupted; // Was the trajectory calculation interrupted? (only in Pro Version)
double calculation_duration; // Duration of the calculation in the last cycle [µs]

Moreover, the trajectory class has a range of useful parameters and methods.

double duration; // Duration of the trajectory
std::array<double, DOFs> independent_min_durations; // Time-optimal profile for each independent DoF

<...> at_time(double time); // Get the kinematic state of the trajectory at a given time
void get_position_extrema(Vector<Bound>& position_extrema); // Passes information about the position extrema and their times

Again, we refer to the API documentation for the exact signatures.

Offline Calculation

Ruckig also supports an offline approach for calculating a trajectory:

result = ruckig.calculate(input, trajectory);

When only using this method, the Ruckig constructor does not need a control cycle (delta_time) as an argument. However if given, Ruckig supports stepping through the trajectory with

while (ruckig.update(trajectory, output) == Result::Working) {
  // Make use of the new state here!
  // e.g. robot->setJointPositions(output.new_position);
}

starting from the current output.time (currently Ruckig Pro only).

Tracking Interface

When following an arbitrary signal with position, velocity, acceleration, and jerk-limitation, the straight forward way would be to pass the current state to Ruckig's target state. However, as the resulting trajectory will take time to catch up, this approach will always lag behind the signal. The tracking interface solves this problem by predicting ahead (e.g. with constant acceleration by default) and is therefore able to follow signals very closely in a time-optimal way. This might be very helpful for (general) tracking, robot servoing, or trajectory post-processing applications.

To use the tracking interface, construct

Trackig<1> trackig {0.01};  // control cycle

and set the current state as well as the kinematic constraints via

input.current_position = {0.0};
input.current_velocity = {0.0};
input.current_acceleration = {0.0};
input.max_velocity = {0.8};
input.max_acceleration = {2.0};
input.max_jerk = {5.0};

Then, we can track a signal in an online manner within the real-time control loop

for (double t = 0; t < 10.0; t += trackig.delta_time) {
  auto target_state = signal(t); // signal returns position, velocity, and acceleration
  auto res = trackig.update(target_state, input, output);
  // Make use of the smooth target motion here (e.g. output.new_position)

  output.pass_to_input(input);
}

Please find a complete example here. This functionality can also be used in an offline manner, e.g. when the entire signal is known beforehand. Here, we call the

smooth_trajectory = trackig.calculate_trajectory(target_states, input);

method with the trajectory given as a std::vector of target states. The Tracking interface is available in the Ruckig Pro version.

Dynamic Number of Degrees of Freedom

So far, we have told Ruckig the number of DoFs as a template parameter. If you don't know the number of DoFs at compile-time, you can set the template parameter to ruckig::DynamicDOFs and pass the DoFs to the constructor:

Ruckig<DynamicDOFs> ruckig {6, 0.001};
InputParameter<DynamicDOFs> input {6};
OutputParameter<DynamicDOFs> output {6};

This switches the default Vector from the std::array to the dynamic std::vector type. However, we recommend to keep the template parameter when possible: First, it has a performance benefit of a few percent. Second, it is convenient for real-time programming due to its easier handling of memory allocations. When using dynamic degrees of freedom, make sure to allocate the memory of all vectors beforehand.

Custom Vector Types

Ruckig supports custom vector types to make interfacing with your code even easier and more flexible. Most importantly, you can switch to Eigen Vectors simply by including Eigen (3.4 or later) before Ruckig

#include <Eigen/Core> // Version 3.4 or later
#include <ruckig/ruckig.hpp>

and then call the constructors with the ruckig::EigenVector parameter.

Ruckig<6, EigenVector> ruckig {0.001};
InputParameter<6, EigenVector> input;
OutputParameter<6, EigenVector> output;

Now every in- and output of Ruckig's API (such as current_position, new_position or max_jerk) are Eigen types! To define completely custom vector types, you can pass a C++ template template parameter to the constructor. This template template parameter needs to fulfill a range of template arguments and methods:

template<class Type, size_t DOFs>
struct MinimalVector {
  Type operator[](size_t i) const; // Array [] getter
  Type& operator[](size_t i); // Array [] setter
  size_t size() const; // Current size
  bool operator==(const MinimalVector<T, DOFs>& rhs) const; // Equal comparison operator

  // Only required in combination with DynamicDOFs, e.g. to allocate memory
  void resize(size_t size);
};

Note that DynamicDOFs corresponds to DOFs = 0. We've included a range of examples for using Ruckig with (10) Eigen, (11) custom vector types, and (12) custom types with a dynamic number of DoFs.

Tests and Numerical Stability

The current test suite validates over 5.000.000.000 random trajectories as well as many additional edge cases. The numerical exactness is tested for the final position and final velocity to be within 1e-8, for the final acceleration to be within 1e-10, and for the velocity, acceleration and jerk limit to be within of a numerical error of 1e-12. These are absolute values - we suggest to scale your input so that these correspond to your required precision of the system. For example, for most real-world systems we suggest to use input values in [m] (instead of e.g. [mm]), as 1e-8m is sufficient precise for practical trajectory generation. Furthermore, all kinematic limits should be below 1e9. The maximal supported trajectory duration is 7e3. Note that Ruckig will also output values outside of this range, there is however no guarantee for correctness.

The Ruckig Pro version has additional tools to increase the numerical range and improve reliability. For example, theposition_scale and time_scale parameter of the Calculator class change the internal representation of the input parameters.

Ruckig<1> ruckig;  // Works also for Trackig

ruckig.calculator.position_scale = 1e2;  // Scales all positions in the input parameters
ruckig.calculator.time_scale = 1e3;  // Scale all times in the input parameters

This way, you can easily achieve the requirements above even for very high jerk limits or very long trajectories. Note that the scale parameters don't effect the resulting trajectory - they are for internal calculation only.

Benchmark

We find that Ruckig is more than twice as fast as Reflexxes Type IV for state-to-state motions and well-suited for control cycles as low as 250 microseconds. The Ruckig Community Version is in general a more powerful and open-source alternative to the Reflexxes Type IV library. In fact, Ruckig is the first Type V trajectory generator for arbitrary target states and even supports directional velocity and acceleration limits, while also being faster on top.

Benchmark

For trajectories with intermediate waypoints, we compare Ruckig to Toppra, a state-of-the-art library for robotic motion planning. Ruckig is able to improve the trajectory duration on average by around 10%, as the path planning and time parametrization are calculated jointly. Moreover, Ruckig is real-time capable and supports jerk-constraints.

Benchmark

Development

Ruckig is written in C++20. It is continuously tested on ubuntu-latest, macos-latest, and windows-latest against following versions:

  • Doctest v2.4 (only for testing)
  • Nanobind v2.7 (only for Python wrapper)

A C++17, C++11, and C++03 version of Ruckig is also available - please contact us if you're interested.

Used By

Ruckig is used by over hundred research labs, companies, and open-source projects worldwide, including:

Citation

@article{berscheid2021jerk,
  title={Jerk-limited Real-time Trajectory Generation with Arbitrary Target States},
  author={Berscheid, Lars and Kr{\"o}ger, Torsten},
  journal={Robotics: Science and Systems XVII},
  year={2021}
}

Project details


Download files

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

Source Distribution

ruckig-0.19.4.tar.gz (886.6 kB view details)

Uploaded Source

Built Distributions

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

ruckig-0.19.4-cp314-cp314t-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14tWindows x86-64

ruckig-0.19.4-cp314-cp314t-win32.whl (1.3 MB view details)

Uploaded CPython 3.14tWindows x86

ruckig-0.19.4-cp314-cp314t-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp314-cp314t-macosx_11_0_arm64.whl (691.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

ruckig-0.19.4-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

ruckig-0.19.4-cp314-cp314-win32.whl (1.3 MB view details)

Uploaded CPython 3.14Windows x86

ruckig-0.19.4-cp314-cp314-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp314-cp314-macosx_11_0_arm64.whl (688.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ruckig-0.19.4-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

ruckig-0.19.4-cp313-cp313-win32.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86

ruckig-0.19.4-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp313-cp313-macosx_11_0_arm64.whl (688.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ruckig-0.19.4-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

ruckig-0.19.4-cp312-cp312-win32.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86

ruckig-0.19.4-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp312-cp312-macosx_11_0_arm64.whl (688.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ruckig-0.19.4-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

ruckig-0.19.4-cp311-cp311-win32.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86

ruckig-0.19.4-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp311-cp311-macosx_11_0_arm64.whl (689.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ruckig-0.19.4-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

ruckig-0.19.4-cp310-cp310-win32.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86

ruckig-0.19.4-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp310-cp310-macosx_11_0_arm64.whl (689.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ruckig-0.19.4-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

ruckig-0.19.4-cp39-cp39-win32.whl (1.3 MB view details)

Uploaded CPython 3.9Windows x86

ruckig-0.19.4-cp39-cp39-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ruckig-0.19.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ruckig-0.19.4-cp39-cp39-macosx_11_0_arm64.whl (689.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file ruckig-0.19.4.tar.gz.

File metadata

  • Download URL: ruckig-0.19.4.tar.gz
  • Upload date:
  • Size: 886.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4.tar.gz
Algorithm Hash digest
SHA256 71d003bf0ff9aa0031d4520b0290a5ffa6458149f5afce8be3ed6d6fba49ea64
MD5 19a58450cb53b0cd355014d8515d1947
BLAKE2b-256 4a2ad1c1639bf76699ab1c3c1281101372f2b749d0ad8aee4c19200947b92785

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4.tar.gz:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 7a6566d207f34c1e493be8092669a2c3f4194c80dda71eea86ae45c7fb804f6c
MD5 a12d4be6927fd2e49f26e9010bfbd995
BLAKE2b-256 ca8a45afac0f3c376adef1ac356ae6d663bad96bb0917c8a353c5c416a4d6864

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314t-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314t-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 31e94f695b74f1c01a533256354428365627a0ce5d78d8f8588eaf5a9f067e61
MD5 30879126493908fd9851acfe7cac02b7
BLAKE2b-256 368813949791de7844b6556416e13983eb68fec02314b7bb29b1c2cdfa531d44

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314t-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2a54d6e271fbcba67db9a3291e823ee5f6bbc15e33b328376282f1ff5256b000
MD5 a7a3546bf77e9318704c4cfa8e4891f8
BLAKE2b-256 1be1dd55caa81e62179d39ecc8409e053fc75ad9a330bcf816ee90176f798feb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 418bd43087271579b4799f5c5d09a32ee9cda73b890bd6d163a130d75b6ba4f3
MD5 d9d40dfda10da924e66ba9572799f1fb
BLAKE2b-256 38ff5db0cae7f93a821a99c9814a1c2073a58852ad2c42a09d9b7f6597c01169

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2a95c93f0786b78ca5fbd753ff23525f33df761a11ba3bc8ffb114c51545f69
MD5 9ab676854c529fe9e83b794ffa5ca80e
BLAKE2b-256 566963d6f0080ddc7fa0a4bcd556785ecb9ab7148dd5f89e7eadeb48c27a2e56

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c57f6405bd00511fcce21aba34ffda8052f4478cd7f0a780607774cdc83bcaf5
MD5 ef839e6bc97492368fd9578693e883b0
BLAKE2b-256 ce7b83c7d6d08bdac0cb43eafce2d8ce01829f9a3f15ba5937c61e028ea64ebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp314-cp314-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 45a0d6eda72e8515a7fea4d77a8794671077b9f350c2adcf65352072472d72c3
MD5 d69c5d3495d52dc5b837ad3ece8251fa
BLAKE2b-256 878e6a49a0b43812bc19684e2bd462e64a22b81b4647bcff759a8577b2f08736

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5640da60eaf7746942eac6c11a7f0d0ca86a66e3270e7b0fffdedcc1c125a18c
MD5 cd2fd1063348f846f958b7024b008b14
BLAKE2b-256 135df84d61401b7da196c8bd995fa833ee8cecf9d1e1e8f4d5ff547428ec2b8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a32ad56149f34783728f08da67b088ffacc2074f247946da7d83f265af35e82
MD5 2cf8afbc2660d9ece684e4d91b9886a4
BLAKE2b-256 c3783dc19956097ac690f885e4d8e979f3905977ff546f6bdb7386d73e3f31f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8406833bbf6fd11f6e6c46ae9290c0a68d6f8abb77590619459e957b66b4c3bc
MD5 6aeb1e8a7dd36d6729dabe66ff3e09b4
BLAKE2b-256 9cf14046cfebcde683672c0c33f1ee0a94474c87db83849eaf8d4ec7ce3454ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b5a3cbe5bced4b0993e93737000c49c574786cebca314d1bed725cd44114645c
MD5 cfe92e7c8adfdd887a74d4b61a1b3a4a
BLAKE2b-256 b5bb48004d2bb468fee790644e9ed0fefe18929d97dfbadd369553121b8a894b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp313-cp313-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp313-cp313-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp313-cp313-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 4adc97fdaca33021f311d71925411e79d6fb41e6123b01dd797465111f9a8488
MD5 9a71706f2ba4202fce2d9bd75c2f8e95
BLAKE2b-256 1642610cea86a003a8a3475a683c91268f5c524200f5c585fbda6ce3c49572ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp313-cp313-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da0887ac090c327a97a366f6b0b5ec8bfdb28836c20a1afcc4ee5c1bbbd31149
MD5 30e9a211df264dcdddfb597f710168b8
BLAKE2b-256 82bd1eb52b4412f91f1043c8de0c56f23f2c2bdd4c05ffec4baaa75cbcfdcd04

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2566a9cb27d3379d113696e5d885c6a3b3a6e10dce2503598aa1b317d8b5cfb6
MD5 cc0afaa19afa121e9ea717b9197d5fe8
BLAKE2b-256 3cc6b0ac54f514570bd2626a472e9ec2f8c60353e6156a6c85dbe17929d62ab1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9b9e98a1864d59dc67bb3a324a74a3eb92542e8fadb09575522097f51a54248
MD5 2b3903521071af5a27634c454f06a8fb
BLAKE2b-256 9b297c705a110ac2c25bfd4c6eeb27ab6b58f34afe25b36166587127216609e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9ca62445749dbcdb1533eb44ef8d434bdd43c33f7e274c9117698221c9c4d620
MD5 0dd8f17f268a146730b3f02fdfcd9951
BLAKE2b-256 2e301eac56a589f84007fb6fd25761612738345262e60cf517d8cae30dcc5146

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp312-cp312-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp312-cp312-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 28d96e84fb600d15bbfaa2ce5c73f7a33e42b396ff3e700293557a52f1d2bcb3
MD5 ab56bba868a38d08d93f5b9322f05b6a
BLAKE2b-256 73d70d6a829e2d70accc6943c00e8d5584a21ae20a98a34372ad9b85507a72c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp312-cp312-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4b36110e4fb18c54db6308c9b3e9ed7a16559d90e640a4fdea4e25d37acbc0f2
MD5 6d8d227bdd4998d728947db6f2c41808
BLAKE2b-256 0d9e67cb1b29c703bd034dc364d884f151913afbdc912eafb8885a7dedfdda4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 347ad72d2003886c55a4c772ae686e82d808c2d9afb99318c287d3c0e24bf12e
MD5 d8ad65b45c83a46c5dc8e645e8f7d725
BLAKE2b-256 b463fae4e7af16e6156e0bdd8c3195cf29b4eaf6364cce5c06783703629b03ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a353458a177992771edfef9f93baa3701642fd0f852059329e2addbf8686a8cd
MD5 688ed7f091d59f446b8f49e00e967da2
BLAKE2b-256 cacd792797f51ec3b83fc6ee93b0b6eb057f3e1e3573138a4bc67914203bfd59

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e90a7dafdffc03cac4d69df26d8b5ef2f0999e78fba41c59a31e18de7b6e2377
MD5 fd5783bd92bd8bcf9a4359a23a719a80
BLAKE2b-256 c6aefbec06c9631d271ffa29a75c11312995c42e6d17f77480b75ca1aaec07db

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp311-cp311-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp311-cp311-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d90f6c838291212acc9483f8115660c9a93595d4d4f6b3acd79f69e9da865874
MD5 4a3e0f8ab34117aa64daab8d293979d0
BLAKE2b-256 a87426b471a0f3b3240f752e49a144b7d6a2b3e50d9a689e176598b3f8d89699

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp311-cp311-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cdf8c0a1643a840a2aa4245edf38b35eac19985550fda8771862f9f1c4b12e77
MD5 5f2c0ccbe3a876c6de847484b639c47f
BLAKE2b-256 c0ef4684a822e0ab0ac592615266f62fcf2f208b271d6a2735326db580936f42

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ce3d7f701ba26eed841561ba2ed1a1804087afc1e996e83b5cd85bf6632e6c4
MD5 d84b6e591c34e99f0e00b3b0a69fc57a
BLAKE2b-256 5260a8b7ebc2ee187a05d878a6c48b63a9a1bce5b9c1393ced89eeb959d9492c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac6133b08be5717d58fcb997d4ff3f0fa7e5427b2ae152c43e6a896a7694c0b0
MD5 d70b137b7e0784dc3f4acaf015a680f0
BLAKE2b-256 0d00815fe81a7df845522e72d8e2c7f3f8178f737735bf92473a9da235e0e3ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d70b25314d26f8740b7c350f0707ce4d322a108bc559c8b30091d207d4f4812
MD5 f0f341b6e848913adc6143a16b7bc1c0
BLAKE2b-256 81c8aafa2e06694c65bf779410a248ac44fd36ca3c4aabe6eced54cef47bd20c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp310-cp310-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp310-cp310-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d5d34d0c33155af30291c032874605e2bcd164f2d10451bda4dd9a9c4e80b301
MD5 c82cb26f3e21aa4eaa339c857b6147b8
BLAKE2b-256 9e97a6e67c2e47a44518f10523d9f60fd4a738681b9f4c4b5c8c3108ab07b18a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp310-cp310-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a81a652d2ff1a1d7b74eb2b5e3aca1ae32f3df010a6ff3a5b961430f7b0410c5
MD5 cb71608a859c17275490c6a844a80037
BLAKE2b-256 6189913a6a6c032ce9d5c8379f10991ab08847c3ed5e08dcecc6e7073e533244

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecb71e23d9fa7cdd3a5fab4fbc56819317276bc457381d8f6a21a7493a49465c
MD5 3e87fec6af46d153543b5673fab341eb
BLAKE2b-256 262427afdb847db06257f5d57ceefe4d8de071eab5cbc7d5b5681bbfa6726866

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43d3d004d3cbec7913dbb48d78349ba11d0c25437257f1aee0fa4a6ddfc33e80
MD5 c7b3546bce0af22aa360ce60be058053
BLAKE2b-256 507d99ab1fd780813e6955b95e20fb251681b9515edfabb94306391d23de6a79

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e79b9a3f3694aca913ec0fcc60c77961ff669cee85eaa91e5400c1d2e24d7e8a
MD5 0d8001e70541e181bac5a546e2fe4cd7
BLAKE2b-256 5915e295d055c22411cf4333f29a646a4e0a75f1ef779ab3f032c5f86c309e3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp39-cp39-win_amd64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp39-cp39-win32.whl.

File metadata

  • Download URL: ruckig-0.19.4-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ruckig-0.19.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 881ccba8f98dee06a4199f680cb8a9a964c7c9b83421c34b5d3b656fabe4918e
MD5 cccf08af11c35cd396d084672e7b4c5f
BLAKE2b-256 12994db7c7db91ba7a7fe1d5b5a4d020febd433df5a83af52b7f75578253cfd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp39-cp39-win32.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5da10e46cfc6d2e769e4d025e4992dfc1b1dececa4a49783f062ff732653962b
MD5 6046ba2f60621533a5e7f392cd74a5c4
BLAKE2b-256 b97274c40aef3a16d067b507cb77182258c127d775f0148bc2aff4ce2927566b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 722ae3304030f10373276535ac46b1b8de1aa76966c78b46da2c6d46a9106bc1
MD5 de8975046e7785c4ff7381fd22239fca
BLAKE2b-256 de94091a76e703d7f374dcf8c6ab0a233297e35b0678dcef4f2cef8e07bd6f41

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruckig-0.19.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruckig-0.19.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0315f002d4543c22e611a466e8f4690acef298aca501ce9eda54fd82418f33f
MD5 4962ae3eec2a06d7f7ee368b3170ab17
BLAKE2b-256 1b6b2bc464ac6a5edd43589e8d141e59b5b84d0acfee4230d5d1455fe6a23bf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruckig-0.19.4-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: cd.yml on pantor/ruckig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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