Changelog

v1.2.1 (2025-09-29)

  • Remove upper bounds of dependencies. This resolves an issue with an old typer version pulling in a new Click version, causing arguments to not be validated properly.

v1.2.0 (2025-05-30)

  • Declare support for Python 3.13 and 3.14 (no code changes required)

  • Drop support for Python 3.8

  • Upgrade all locked dependencies

v1.1.0 (2024-08-17)

  • New random mode features:

    • Add --init-delay, waiting a random delay before the first operation.

    • --pause and --spam-pause now understand h / m / s suffixes like --max-duration already did.

    • --max-duration now also understands a min-max range to pick a random max duration.

  • Add missing export of pishock.httpapi.PiShockAPI as pishock.PiShockAPI

v1.0.3 (2024-01-12)

  • Calling .info() on a SerialShocker now includes its shocker ID in the returned name.

  • Just like HTTPShocker, SerialShocker now implements __str__, returning a string like Serial shocker 1234 (/dev/ttyUSB0)

  • Random mode improvements:

    • Thanks to the changes above, using pishock --serial random now also results in nicer output.

    • pishock random now waits patiently until the shock/vibration is finished before sleeping for its pause period.

    • Fixed off-by-one, causing e.g. there still being an 1% chance of entering spam mode when it was, in fact, disabled.

    • When setting a --spam-possibility together with --no-shock, an error message is now shown, instead of causing an AssertionError later on.

v1.0.2 (2024-01-12)

  • Packaging / documentation improvements only, no code changes.

v1.0.1 (2024-01-12)

  • Packaging / documentation improvements only, no code changes.

v1.0.0 (2024-01-12)

  • Initial release