Skip to main content

DanceRudiments

DanceRudiments is a small C++17 library of deterministic rhythmic position functions. One integer pip is 1/64 of a beat. Every rudiment owns a 64-, 128-, or 256-pip loop and wraps any positive or negative input into that loop before sampling.

Outputs are dimensionless offsets, normally in [-1, 1]. The caller chooses pixels, CSS units, metres, or another scale. There is deliberately no time interpolation in the public API: renderers advance with integer pips and get one exact sample per pip.

DanceFlow ecosystem

DanceRudiments is the reusable motion-vocabulary layer in Kieran Simkin's DanceFlow BPM and motion-response ecosystem:

  • StemLab is the music-understanding layer. It analyses audio to produce BPM, beat, structure, stem, lyric, harmony, and related timing evidence.
  • DanceRudiments turns integer musical positions at 64 pips per beat into deterministic 1D, 2D, or 3D position offsets.
  • DanceMoves is the WordPress EPK motion runtime. It schedules and applies BPM-, cue-, and lyric-timed effects on public pages.

The three components can also be used independently. They exchange explicit timing and analysis data rather than depending directly on one another. DanceRudiments' 64-pips-per-beat sampling convention is intentionally higher resolution and is not the same unit as DanceMoves' 16-ticks-per-beat runtime clock.

Which package should I use?

You are building Install or download What you get
Python application pip install dancerudiments from PyPI Native Python extension and the catalogue/sample API
TypeScript or JavaScript application npm install @kieransimkin/dance-rudiments from npm TypeScript declarations, JavaScript wrapper, and WebAssembly module
C++ application using a listed release platform Download the matching DanceRudiments-cpp-<version>-<platform>-static.zip from GitHub Releases Headers, static library, CMake package files, licence, platform manifest, and instructions
C++ application using another toolchain or architecture Build from source or use conan create with conanfile.py A library compiled for your own settings

GitHub automatically adds “Source code” ZIP and tar.gz links to every release; those are repository snapshots, not precompiled packages. Python wheels belong on PyPI and the TypeScript/WASM package belongs on npm, so GitHub's manually attached assets are intentionally C++-only.

Included rudiments

The general motions are bounce, sway, circle, figure_eight, step_touch, box_step, helix, and clay_background.

The first drum-derived set is single_stroke_roll, multiple_bounce_roll, double_stroke_roll, single_paradiddle, flam, drag, and five_stroke_roll. The first six mirror the fundamentals in Vic Firth's Tier One learning sequence and collectively cover the roll, diddle, flam, and drag families in the Percussive Arts Society's 40 International Drum Rudiments. A right-hand stroke moves right, a left-hand stroke moves left, and both rise slightly. Every stroke is a raised-cosine (sin²) gesture: zero displacement at the start, smooth attack, a rounded peak, and smooth decay back to zero before the next motion. Accents use greater amplitude rather than an instantaneous position jump.

Source references: Percussive Arts Society International Drum Rudiments and Vic Firth 40 Essential Rudiments, accessed 28 September 2026.

clay_background preserves the translation waypoints from the Clay/Stars ks-particle-dance background treatment as a normalized 256-pip lookup table. The source effect's opacity, rotation, and scale are not position offsets, so they are intentionally excluded.

Build and test the C++ core

cmake -S . -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure

Python binding

Install pybind11 in your chosen environment, then configure with -DDANCERUDIMENTS_BUILD_PYTHON=ON. The module exposes sample(name, pip_count), the named functions, and catalogue().

TypeScript/WASM binding

Configure under Emscripten with emcmake cmake -DDANCERUDIMENTS_BUILD_WASM=ON, build dancerudiments_wasm, import its generated ES module, then call bindNative(await createDanceRudiments()) from bindings/typescript/index.ts.

The dependency-free harness uses a browser-native mirror of the same discrete definitions so it can run without a toolchain. Its tests validate modulo wrapping and seam behaviour. Production TypeScript consumers should use the WASM binding so C++ remains the single runtime authority.

Harness

Serve the repository root over HTTP and open harness/index.html. The harness provides play/pause, exact pip stepping, BPM, amplitude, trails, a numeric readout, and reduced-motion-aware manual operation.

python -m http.server 4173

Then open http://localhost:4173/harness/.

Continuous integration and releases

.github/workflows/ci.yml builds and tests the C++ core on Linux, Windows, and macOS; builds and imports the Python package; compiles/tests the TypeScript and browser runtime; and creates a Conan package on every push to main and every pull request.

Publishing is deliberately tied to a GitHub release with a vMAJOR.MINOR.PATCH tag. Before creating the release, update the matching version in CMakeLists.txt, pyproject.toml, and package.json. .github/workflows/release.yml rejects mismatches before it publishes anything, then:

  • builds platform Python wheels and a source distribution and publishes them to PyPI using OIDC Trusted Publishing;
  • builds the TypeScript wrapper and C++ WebAssembly module and publishes @kieransimkin/dance-rudiments to npm using npm Trusted Publishing and provenance;
  • builds installable C++ archives for Linux, Windows, and macOS and attaches them, along with Python distributions, to the GitHub release; and
  • builds a Conan package and uploads it only when a separate Conan remote has been configured. ConanCenter packages are submitted through conan-center-index; they are not directly uploaded by this repository.

One-time registry configuration is required before the first release:

  1. On PyPI, create a pending Trusted Publisher for owner kieransimkin, repository DanceRudiments, workflow release.yml, environment pypi, and project name dancerudiments.
  2. On npm, configure the package's GitHub Actions Trusted Publisher for kieransimkin/DanceRudiments, workflow release.yml, environment npm, with direct publishing allowed. Because npm Trusted Publishers are configured from an existing package's settings, the first scoped-package registration may require a granular NPM_TOKEN secret in the npm environment. Remove that bootstrap token after Trusted Publishing is configured.
  3. Create GitHub environments named pypi, npm, and conan; add required reviewers if desired.
  4. For an optional private or organisational Conan repository, set environment variable CONAN_REMOTE_URL and secrets CONAN_LOGIN_USERNAME and CONAN_PASSWORD in the conan environment. If they are absent, the recipe is built and verified but not uploaded.

The publishing jobs use short-lived OIDC identity for PyPI and npm and do not require long-lived PyPI or npm tokens. See the official PyPI Trusted Publisher and npm Trusted Publishing documentation.

Motion safety

Apply an output to a bounded subject. DanceRudiments changes position only; it must not be used to add a repetitive full-frame tint, brightness, flash, or colour-grade effect. Under prefers-reduced-motion, do not autoplay the harness or production motion.

Potential problems

GitHub release assets are ambiguous or incomplete

  • Symptom (28 September 2026): the first C++ ZIPs were named only by platform, opened into a stage/ directory, contained no licence or instructions, and installed exported targets without the DanceRudimentsConfig.cmake file needed by the documented find_package workflow. The release page also did not explain where Python and npm packages lived.
  • Cause: the release job archived its temporary install directory verbatim and treated all language build artifacts as potential GitHub attachments instead of giving each package ecosystem one canonical destination.
  • Corrective action: publish Python on PyPI and TypeScript/WASM on npm; reserve manually attached GitHub assets for C++. Name each archive DanceRudiments-cpp-<version>-<platform>-static.zip, use a versioned root directory, include the MIT licence, C++ usage guide, platform manifest, complete CMake config/version files, and publish SHA256SUMS.txt.
  • Verification: ordinary CI builds a separate consumer against the installed CMake package on Linux, Windows, and macOS. Release QA must inspect archive names and contents, verify the checksum file, and confirm the README's package table links to PyPI, npm, and GitHub Releases.

Installed-package smoke test assumes the wrong motion coordinate

  • Symptom (28 September 2026): the first installed-package consumer compiled and linked on Linux, Windows, and macOS, but its runtime assertion failed on every platform.
  • Cause: the test incorrectly expected circle(64) to return (1, 0). The 64-pip motion wraps that input to pip 0, whose documented phase starts at approximately (0, -1).
  • Corrective action: test the public modulo contract by comparing circle(64) with circle(0) using a small floating-point tolerance, rather than duplicating an assumed trajectory coordinate.
  • Verification: require the separate installed-package consumer to pass on all three CI platforms.

GitHub release attachment job has no Git checkout

  • Symptom (28 September 2026): all v0.1.2 package builds and both registry publications succeeded, but attach-github-release failed with failed to run git: fatal: not a git repository (or any of the parent directories): .git.
  • Cause: that job intentionally downloaded build artifacts without checking out the repository, while gh release upload was invoked without --repo and therefore tried to infer its repository from local Git metadata.
  • Corrective action: pass --repo "${{ github.repository }}" explicitly. A checkout is unnecessary because the upload only needs downloaded artifacts, the release tag, and the workflow token.
  • Verification: upload the completed run's artifacts to v0.1.2, confirm them on the release page, and retain the explicit repository argument for future releases.
  • Research: GitHub CLI gh release upload manual, accessed 28 September 2026.

MSVC core and Python import libraries have the same filename

  • Symptom (28 September 2026): after excluding 32-bit wheels, the v0.1.1 Windows wheel still failed at cp39-win_amd64 with LINK : fatal error LNK1114: cannot overwrite the original file '.../Release/dancerudiments.lib'; error code 5.
  • Cause: on Windows' case-insensitive filesystem, the static core's default DanceRudiments.lib filename collided with the Python extension's dancerudiments.lib import library. Both targets were valid, but MSVC placed their archive outputs in the same configuration directory.
  • Corrective action: retain the public CMake target name DanceRudiments::DanceRudiments, but give its Windows archive the distinct physical filename DanceRudimentsCore.lib. Add a Windows Python-package job to ordinary CI so MSVC builds and imports the wheel before any release.
  • Verification: CI must build and import the Python wheel on windows-latest; the release workflow must then complete every win_amd64 wheel and import test.
  • Research: CMake's OUTPUT_NAME and add_library documentation, accessed 28 September 2026, confirms that output filenames may be changed independently of logical target names and that Windows shared/module targets have associated import libraries.

cibuildwheel attempts unsupported 32-bit Windows wheels

  • Symptom (28 September 2026): the v0.1.0 release workflow failed in python-wheels (windows-latest) while building cp39-win32; cibuildwheel reported that its isolated python -m build command exited with code 1. The Linux and macOS wheel jobs were unaffected, and the npm package published successfully.
  • Cause: the broad cp39-* through cp314-* build selectors also include 32-bit Windows identifiers, while DanceRudiments currently targets 64-bit package architectures.
  • Corrective action: add *-win32 to [tool.cibuildwheel].skip, retaining the existing musllinux exclusion. Do not advertise or emit a 32-bit wheel until that architecture is deliberately supported and tested.
  • Verification: the patch-release workflow must complete the Windows win_amd64 matrix and its import tests before PyPI publication.
  • Research: cibuildwheel build/skip options, accessed 28 September 2026; the official examples explicitly use *-win32 to skip 32-bit Windows builds.

npm cache access is denied on Windows

  • Symptom (28 September 2026): npm pack --dry-run failed with EPERM: operation not permitted, open 'C:\Users\Kieran\AppData\Local\npm-cache\_cacache\tmp\…' after the TypeScript tests had passed.
  • Cause: the shared user cache could not create its temporary file. npm's Windows issue tracker records this class of EPERM failure, including cases involving cache files and real-time scanning; the exact process holding this particular file was not identified.
  • Corrective action: keep the shared cache intact and run package validation with a repository-local cache: npm pack --dry-run --cache .npm-cache. The cache directory is ignored by Git.
  • Verification: the dry-run package completed with the local cache. This workaround changes only npm's disposable cache location and does not change the package contents.
  • Research: npm CLI Windows EPERM report and npm CLI cache-isolation guidance, accessed 28 September 2026.

CMake stalls while detecting the C++ compiler ABI on this host

  • Symptom (28 September 2026): CMake 3.30 with Ninja and the project-available MinGW GCC 16.2 compiler stopped after Detecting CXX compiler ABI info for more than 90 seconds. Compiler identification itself succeeded, and no diagnostic failure was emitted.
  • Cause: unknown. Similar CMake reports show that this stage is a nested try_compile, but the available reports do not establish the cause on this Windows/Z-drive setup.
  • Working validation route: compile the exact core and test sources directly with g++ -std=c++17 -I include src/dance_rudiments.cpp tests/cpp/test_main.cpp -o build/dancerudiments_tests.exe, then run the executable. Do not weaken or hard-code CMake's portable compiler detection merely to hide the local stall.
  • Verification: the direct GCC build completed and all C++ assertions passed. This verifies the library sources with the available compiler; it does not claim that CMake configuration succeeded on this host.
  • Research: CMake discussion of a compiler-ABI detection hang, accessed 28 September 2026.

Node test isolation is denied

  • Symptom (28 September 2026): node --test "tests/typescript/*.test.js" failed before assertions with Error: spawn EPERM.
  • Cause: the restricted Windows host denied Node's child-process worker spawn.
  • Corrective action: run node --test --test-isolation=none "tests/typescript/*.test.js".
  • Verification: both runtime suites passed in the single process. Keep tests free of shared mutable global state when adding more files.

An isolated Python build selects unavailable NMake on Windows

  • Symptom (28 September 2026): the first scikit-build-core attempt failed during configuration with Running 'nmake' '-?' failed with: no such file or directory and CMAKE_CXX_COMPILER not set.
  • Cause supported by current evidence: CMake selected the NMake Makefiles generator although this host provides Ninja and MinGW GCC, not NMake/MSVC. The first uv run invocation also attempted an unnecessary editable install of the current project before running the requested build command.
  • Corrective action: set CMAKE_GENERATOR=Ninja for this local toolchain and use uv run --no-project --with build python -m build, leaving CI runners free to select their native supported compiler environment.
  • Verification: the isolated build then produced dancerudiments-0.1.0.tar.gz and a CPython 3.13 Windows wheel, with the C++ extension compiled and installed successfully.
  • Research: CMake documents CMAKE_GENERATOR as the supported generator-selection mechanism, while scikit-build-core documents Ninja selection and its ninja.make-fallback behaviour. Sources: CMake generator environment variable and scikit-build-core configuration, accessed 28 September 2026.

A MinGW-built Python wheel cannot locate its C++ runtime DLLs

  • Symptom (28 September 2026): the first locally built Windows wheel installed successfully but import dancerudiments failed with ImportError: DLL load failed while importing dancerudiments: The specified module could not be found.
  • Cause supported by current evidence: the MinGW-built extension dynamically referenced GCC runtime libraries that were available in the compiler directory but not in the isolated Python environment. This local toolchain differs from cibuildwheel's normal Windows MSVC environment.
  • Corrective action: inspect the built .pyd with the matching toolchain's objdump -p. It identified libwinpthread-1.dll as the remaining non-system dependency after the standard C++ runtimes were made static. Only for MinGW, link with -static-libgcc -static-libstdc++ and install the compiler's matching libwinpthread-1.dll beside the extension; do not apply that bundling to MSVC or other platforms.
  • Verification: rebuild the wheel and import it in a fresh isolated environment; require the catalogue and modulo-sampling smoke assertions to pass. The release workflow independently runs cibuildwheel's installed-wheel test on every platform.
  • Research: GCC documents -static-libstdc++ as linking the C++ runtime statically without making the whole module static, and the pybind11 issue tracker records the same generic Windows import symptom when a compiler runtime DLL is missing. Sources: GCC link options and pybind11 missing-runtime discussion, accessed 28 September 2026.

Conan detects an unavailable future Visual Studio generator

  • Symptom (28 September 2026): local conan profile detect selected msvc version 195 and generated Visual Studio 18 2026, while CMake 3.30 on this host only exposes Visual Studio generators through 2022. The recipe consequently failed before compiling.
  • Cause: the host's compiler discovery evidence is inconsistent: no usable cl.exe is on the command path, but Conan detected a newer MSVC installation than the installed CMake understands. This is a local toolchain/profile mismatch, not a recipe failure established across supported runners.
  • Corrective action: do not commit the guessed local profile or hard-code a generator in the portable recipe. CI detects and builds the recipe on ubuntu-latest with its supported native profile; Windows consumers should use a profile naming an installed compiler and generator combination.
  • Verification: require the GitHub Actions Conan job to complete conan create from the committed recipe. Until that run passes, local recipe syntax/export is verified but the Conan binary build remains pending.
  • Research: Conan's profile detector warns that detected profiles are guesses and not guaranteed stable; CMake documents that the selected generator must match an available build environment. See CMake's user interaction guide, accessed 28 September 2026.

Metadata

Release files for dancerudiments 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dancerudiments 0.1.3
File Size Uploaded
dancerudiments-0.1.3.tar.gz 31.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dancerudiments 0.1.3
File
dancerudiments-0.1.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
dancerudiments-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dancerudiments-0.1.3-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
dancerudiments-0.1.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
dancerudiments-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
dancerudiments-0.1.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
dancerudiments-0.1.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
dancerudiments-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dancerudiments-0.1.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
dancerudiments-0.1.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
dancerudiments-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
dancerudiments-0.1.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
dancerudiments-0.1.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
dancerudiments-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dancerudiments-0.1.3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
dancerudiments-0.1.3-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
dancerudiments-0.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dancerudiments-0.1.3-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 3.4 MB

Release files / dancerudiments-0.1.3.tar.gz

Download URL dancerudiments-0.1.3.tar.gz
Size 31.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4653fea46a458df126a2a30a46e9a38f06a5f4c260850e8fc6c1ac62bdd5c051
BLAKE2b-256 checksum
How to use checksums
999d373d6ae53b1cf0e87affddfd92fb2a213497b062b9110bb7afa3ac1c8fba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp314-cp314-win_amd64.whl

Download URL dancerudiments-0.1.3-cp314-cp314-win_amd64.whl
Size 349.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1782c53f26c8207cda4a40059191e8c1511d0c5168e9106feca684c692e0a2fb
BLAKE2b-256 checksum
How to use checksums
b15fd7be07ddbc9b96e900f48bb2469abb72b19e26b0c2c6ad78d5e0c4abfee9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 120.5 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f66de5262d7165f6353e66828f538e80f4827fe4846e19b56a55bc40f015908f
BLAKE2b-256 checksum
How to use checksums
a4511c9d5ebfd1ea2988d0544b154f059c5ac75b968d3b5fec913693181a282b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp314-cp314-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Size 100.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c75e368927e5e7cccc319da27f2b4fa81363eabc84f2da2058b77e668037de9e
BLAKE2b-256 checksum
How to use checksums
55c84081492d4b913468aa7203904b4c522eac89f7d6201da98ba2654edbb693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp313-cp313-win_amd64.whl

Download URL dancerudiments-0.1.3-cp313-cp313-win_amd64.whl
Size 338.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
256ed3ac0e45da318a069c0f06c2b72cbfd90b23d9720bd7ebf9d64cf1f68f9e
BLAKE2b-256 checksum
How to use checksums
482eb880d4b3e5a3ab4dafed8628df5015f12e8cfdafc664a38e4009ab4c8cd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 120.4 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
127fd0b912e74035b2d787368a583f543bcd1d91e958011ae81e152f55434a35
BLAKE2b-256 checksum
How to use checksums
29ebf2a079e0f2b6288923a857d9e0dc47efb0b7e997b6f1bff1a872fc76283a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Size 100.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
52d90eefadd4685edcd9933b43d0bc035fd8e1f0ce7c0adedcf60aefeb20ce04
BLAKE2b-256 checksum
How to use checksums
cca60f4b079db5c5d775991aef16098da561566c561a91d87165437385b94087
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp312-cp312-win_amd64.whl

Download URL dancerudiments-0.1.3-cp312-cp312-win_amd64.whl
Size 338.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fb1851dfaf296ec944f4fe515133ff0c8e25e4f8ca1a95a5a8ce28ad0a49c6cd
BLAKE2b-256 checksum
How to use checksums
d82e7d672882f0524bf55738bc00cbbcffdc4acb487d7a349f6cca6ba4673784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 120.4 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4e958a89b37a84ff4d09f6768b0e1aaff319a9d9018e209adf5d1e3946472ea0
BLAKE2b-256 checksum
How to use checksums
694871362733b69bf9b8233b2701cfe738bfd360db9ca1be70aeecfb32bea84c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Size 100.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
810797abd8f4e7bb71714f4213f9233205974e169dd2aaf258aecccabfa9fa69
BLAKE2b-256 checksum
How to use checksums
c201f41fa431e3e5c4531623a6a12630dc48ffcdec14ad6753e848d30016e87c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp311-cp311-win_amd64.whl

Download URL dancerudiments-0.1.3-cp311-cp311-win_amd64.whl
Size 336.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5980c7710fd9aef335bc133868217eee929c800527eea687564f4d99cd677b18
BLAKE2b-256 checksum
How to use checksums
ba4bd317eafd26055ca3f8f148cdc3c4ee25c99db1c2219a5b2a1f47fdbeee46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 119.4 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2386c034f00d045d4e9c2ae937e1962a9af3d4e38f2434870c87f1393a8b0f52
BLAKE2b-256 checksum
How to use checksums
50b3f896384747b165153bff2ae6d0e56952857202551c5119d2298597844f78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Size 100.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4d76adbde587d2b7c931e96e5b3ca7fe2e0af2830778778785f41d02fbc421ef
BLAKE2b-256 checksum
How to use checksums
6095aa42f8fb52709624f2f41b57db329b1d6c61e1f82f9aa2aa5f13afcacda7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp310-cp310-win_amd64.whl

Download URL dancerudiments-0.1.3-cp310-cp310-win_amd64.whl
Size 335.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b23a2fc963c9966f813f5e12104b5d254d752d03ad891b8f0471c3486033363c
BLAKE2b-256 checksum
How to use checksums
f00c4ad8e82c650106f66c0c062ec1f8150cbb3b2c9f7f64c10f635d1f594e1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 118.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
53864ae1fe76730c9b59db0929b712dbf6b076eca033836eeed4953b4d9ab9c4
BLAKE2b-256 checksum
How to use checksums
30bf3abf264367cb77addb1c09ebc769c6e26175fb8d0a23fbefd28e7d701864
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp310-cp310-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Size 99.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1fb244602c4a93a2108005673903ac9a86f71e537afc1c158ba55b6f1382cdc0
BLAKE2b-256 checksum
How to use checksums
f0fd746408ffb07620a6d500b49df0e9df5fd9e511cb14d4af220bf849646ab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp39-cp39-win_amd64.whl

Download URL dancerudiments-0.1.3-cp39-cp39-win_amd64.whl
Size 336.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4ba3d83e1cbcf26ee3f2f902ea09c47f480f81fc398695b930133ae34f401ba5
BLAKE2b-256 checksum
How to use checksums
442269480a7da25274de6751e4a00c7e89bd3a55671d170ac6ff553d46935e75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL dancerudiments-0.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 118.5 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f42ff1865777d87d0b966bcd11a6569715abdf8ebe6a126464310a6ea52150bb
BLAKE2b-256 checksum
How to use checksums
82b301d8e08da5dc01e1804bcb8771f567b90a56dd4b5956daf1617dbf25c4bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / dancerudiments-0.1.3-cp39-cp39-macosx_11_0_arm64.whl

Download URL dancerudiments-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Size 99.3 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
176ee3ad53eb211fe681be06dae80ee83ffe4787e8420d0ad357752296165997
BLAKE2b-256 checksum
How to use checksums
f235cdde9fa0800e798af235132178d233d64611e1acbf22502b73bc56b67a5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

19 release files

This release

0.1.3 This release

19 release files

0.1.2

19 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page