Catalog PyPI
PACKAGE EXPLORERView in registry

ackack

PyPI
Versions collected1
Direct dependencies5From release 0.1.0
Last observed20 Oct, 18:14 UTC

README

Version 0.1.0 documentation
.. figure:: ./docs/ackack.jpg
   :width: 200px

   (Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License, Author Wonder Waffle https://www.deviantart.com/wonder-waffle/art/ACK-ACK-Mars-Attacks-359710975 )



|pypi| |release| |downloads| |python_versions| |pypi_versions| |actions|

.. |pypi| image:: https://img.shields.io/pypi/l/ackack
.. |release| image:: https://img.shields.io/librariesio/release/pypi/ackack
.. |downloads| image:: https://img.shields.io/pypi/dm/ackack
.. |python_versions| image:: https://img.shields.io/pypi/pyversions/ackack
.. |pypi_versions| image:: https://img.shields.io/pypi/v/ackack
.. |actions| image:: https://github.com/XayOn/ackack/workflows/CI%20commit/badge.svg
    :target: https://github.com/XayOn/ackack/actions


**Have fun with your vaccuum robot!**

AckAck is a simple control API to manually controll weback vacuum robots.
Paired with its web interface, and a RTPS (in my case, I'm using an old yi ants
camera with `yi-hack <https://github.com/fritz-smh/yi-hack>`_)

This way you can remotely-scare your cats! 

.. image:: ./docs/screenshot.png


Keys
----

Use your arrow keys to move the robot left, right, go front or turn backwards.
Enter will start cleaning and backspace will stop.


Environment variables
---------------------

You'll need to setup your weback username and password.
Usually, this will be your phone + the password you use on the control app.
Besides that, only RTSP_URL is required.


===============  =====================================
KEY               Description
===============  =====================================
RTSP_URL         Yi camera's RTSP stream URL 
WEBACK_USERNAME  Your weback's username (phone number)
WEBACK_PASSWORD  Your weback's password
BASE_URL         Base URL, for reverse proxies
===============  =====================================


Installation
------------

Docker
++++++

With docker, just setup the specified env vars and launch the image.
You can use the following docker-compose.yml example.
Setting base_url is useful in reverse proxy scenarios (like traefik).

.. code:: yaml

    version: "3.3"
    services:
      ackack:
        image: XayOn/ackack
        restart: unless-stopped
        ports:
          - 8080:8080
        environment:
          RTSP_URL: http://192.168.1...
          WEBACK_USERNAME: +33-123123123
          WEBACK_PASSWORD: yourpassword 
          BASE_URL: /ackack


Manual setup
++++++++++++

Install the project, set your environment variables, launch ffmpeg to create a
m3u8 file in static/playlist.m3u8 from your rtsp.

Requires ffmpeg. Check your distro's instructions on how to install ffmpeg
You can checkout docker-entrypoint.sh and use its ffmpeg command

.. code:: bash

   pip install ackack
   WEBACK_USERNAME="+34-XXXX" WEBACK_PASSWORD="XXXX" poetry run uvicorn ackack:app


How does it work?
-----------------

Ackack is simply an API for movement commands on python's `weback unofficial
library <https://github.com/opravdin/weback-unofficial>`_, with an interface in
plain html + js (with just videojs, minimal), paired with an ffmpeg command
that converts the rtsp output of the yi camera to a format playable by your
browser.

Downloads & popularity

1downloads
1-day window · source-reported counts17 Oct 2026
4321.50
2026-07-20: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-07-20–2026-07-202026-07-23: 3 · observed 2026-10-20T21:41:58.1423802Z · period 2026-07-23–2026-07-232026-07-27: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-07-27–2026-07-272026-07-29: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-07-29–2026-07-292026-08-01: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-02–2026-08-022026-08-03: 4 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-03–2026-08-032026-08-04: 3 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-04–2026-08-042026-08-06: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-06–2026-08-062026-08-07: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-07–2026-08-072026-08-09: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-09–2026-08-092026-08-13: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-13–2026-08-132026-08-14: 6 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-14–2026-08-142026-08-17: 4 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-17–2026-08-172026-08-18: 43 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-18–2026-08-182026-08-20: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-20–2026-08-202026-08-22: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-22–2026-08-222026-08-23: 4 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-23–2026-08-232026-08-24: 8 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-24–2026-08-242026-08-31: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-08-31–2026-08-312026-09-01: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-01–2026-09-012026-09-03: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-03–2026-09-032026-09-06: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-06–2026-09-062026-09-07: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-07–2026-09-072026-09-09: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-10–2026-09-102026-09-12: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-12–2026-09-122026-09-17: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-17–2026-09-172026-09-21: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-21–2026-09-212026-09-24: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-24–2026-09-242026-09-26: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-26–2026-09-262026-09-27: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-27–2026-09-272026-09-28: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-28–2026-09-282026-09-30: 3 · observed 2026-10-20T21:41:58.1423802Z · period 2026-09-30–2026-09-302026-10-01: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-01–2026-10-012026-10-02: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-02–2026-10-022026-10-03: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-03–2026-10-032026-10-06: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-06–2026-10-062026-10-08: 4 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-08–2026-10-082026-10-09: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-09–2026-10-092026-10-13: 2 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-13–2026-10-132026-10-17: 1 · observed 2026-10-20T21:41:58.1423802Z · period 2026-10-17–2026-10-17
20 Jul17 Oct

pypistats · 42 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-17 – 2026-10-1712026-10-20T21:41:58.1423802Z
2026-10-13 – 2026-10-1322026-10-20T21:41:58.1423802Z
2026-10-09 – 2026-10-0912026-10-20T21:41:58.1423802Z
2026-10-08 – 2026-10-0842026-10-20T21:41:58.1423802Z
2026-10-06 – 2026-10-0622026-10-20T21:41:58.1423802Z
2026-10-03 – 2026-10-0312026-10-20T21:41:58.1423802Z
2026-10-02 – 2026-10-0212026-10-20T21:41:58.1423802Z
2026-10-01 – 2026-10-0112026-10-20T21:41:58.1423802Z
2026-09-30 – 2026-09-3032026-10-20T21:41:58.1423802Z
2026-09-28 – 2026-09-2812026-10-20T21:41:58.1423802Z
2026-09-27 – 2026-09-2722026-10-20T21:41:58.1423802Z
2026-09-26 – 2026-09-2612026-10-20T21:41:58.1423802Z
2026-09-24 – 2026-09-2412026-10-20T21:41:58.1423802Z
2026-09-21 – 2026-09-2112026-10-20T21:41:58.1423802Z
2026-09-17 – 2026-09-1712026-10-20T21:41:58.1423802Z
2026-09-12 – 2026-09-1212026-10-20T21:41:58.1423802Z
2026-09-10 – 2026-09-1012026-10-20T21:41:58.1423802Z
2026-09-09 – 2026-09-0922026-10-20T21:41:58.1423802Z
2026-09-07 – 2026-09-0712026-10-20T21:41:58.1423802Z
2026-09-06 – 2026-09-0622026-10-20T21:41:58.1423802Z
2026-09-03 – 2026-09-0312026-10-20T21:41:58.1423802Z
2026-09-01 – 2026-09-0112026-10-20T21:41:58.1423802Z
2026-08-31 – 2026-08-3122026-10-20T21:41:58.1423802Z
2026-08-24 – 2026-08-2482026-10-20T21:41:58.1423802Z
2026-08-23 – 2026-08-2342026-10-20T21:41:58.1423802Z
2026-08-22 – 2026-08-2212026-10-20T21:41:58.1423802Z
2026-08-20 – 2026-08-2012026-10-20T21:41:58.1423802Z
2026-08-18 – 2026-08-18432026-10-20T21:41:58.1423802Z
2026-08-17 – 2026-08-1742026-10-20T21:41:58.1423802Z
2026-08-14 – 2026-08-1462026-10-20T21:41:58.1423802Z
2026-08-13 – 2026-08-1322026-10-20T21:41:58.1423802Z
2026-08-09 – 2026-08-0912026-10-20T21:41:58.1423802Z
2026-08-07 – 2026-08-0712026-10-20T21:41:58.1423802Z
2026-08-06 – 2026-08-0612026-10-20T21:41:58.1423802Z
2026-08-04 – 2026-08-0432026-10-20T21:41:58.1423802Z
2026-08-03 – 2026-08-0342026-10-20T21:41:58.1423802Z
2026-08-02 – 2026-08-0212026-10-20T21:41:58.1423802Z
2026-08-01 – 2026-08-0112026-10-20T21:41:58.1423802Z
2026-07-29 – 2026-07-2912026-10-20T21:41:58.1423802Z
2026-07-27 – 2026-07-2712026-10-20T21:41:58.1423802Z
2026-07-23 – 2026-07-2332026-10-20T21:41:58.1423802Z
2026-07-20 – 2026-07-2012026-10-20T21:41:58.1423802Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.016 Jan 20225

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:14 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:24d8a977dc362268fea35082eb925480aac70399f034c623989ceda247781423