Giter Club home page Giter Club logo

aw-watcher-input's Introduction

aw-watcher-input

Track your keypresses and mouse movements with ActivityWatch.

NOTE: Work in progress, contributions welcome!

NOTE: This does not track which keys you press, only that you pressed any key some number of times in a given time span. This is not a keylogger, and never will be (due to the massive security and privacy implications).

Build

Make sure you have Python 3.7+ and poetry installed, then install with poetry install.

Usage

Run poetry run aw-watcher-input --help for usage instructions.

We might eventually create binary builds (like the ones bundled with ActivityWatch for aw-watcher-afk and aw-watcher-window) to make it easier to get this watcher up and running, but it's still a bit too early for that.

Custom visualization

This watcher ships with an experimental custom visualization which needs special configuration.

NOTE: This is a work-in-progress. Custom visualizations is an experimental feature with little to no decent documentation, so far.

First, you need to build it, which you can do by:

cd visualization/
npm install -g pug-cli browserify  # might need sudo
npm install
make build

You can then configure aw-server or aw-server-rust to host the custom visualization.

To do so for aw-server, add the following to your config file (with the correct path!):

[server.custom_static]
aw-watcher-input = "/home/user/path/to/aw-watcher-input/visualization/dist"

For aw-server-rust, instead add the following to your config file (with the correct path!):

[custom_static]
aw-watcher-input = "/home/user/path/to/aw-watcher-input/visualization/dist"

You then need to restart aw-server/aw-server-rust for the changes to take effect.

Once the server is restarted, you can open the Activity view in the web UI, click "Edit view", then "Add visualization", then click the cogwheel and select "Custom visualization". This will open a popup asking for which visualization, here enter "aw-watcher-input".

It should now work. Click save and you're done!

Notes

This was massively inspired by ulogme by @karpathy, here's a screenshot of how it looks:

screenshot of ulogme

The idea is that we can do the same thing with ActivityWatch, and this watcher is an attempt to incorporate this specific part.

Here's a link to the blog post where he presents it: https://karpathy.github.io/2014/08/03/quantifying-productivity/

aw-watcher-input's People

Contributors

erikbjare avatar lgtm-com[bot] avatar ochen1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

aw-watcher-input's Issues

Where is the "dist" folder?

In your documentation and the Makefile for the visualization, you are referring to a dist folder. But there is no?

No input

Even if I've given the right permissions, I get only INFO:aw_watcher_input.main:No new input.

Activity not showing in Raw Data tab

I'm using latest ActivityWatch ver0.11.0 and tried to run aw-watcher-input.
I have used poetry run aw-watcher-input
While the data is available in the console, it is not showing in the RawData tab of web-ui.

Perhaps I'm missing some step ๐Ÿ˜•

image

Data from this watcher doesn't show up as a bucket in the web UI

I started activitywatch with aw-qt --testing, then right clicked on the UI widget to enable this watcher. The aw-qt output changed, saying this watcher started successfully, and started logging data in my console. However, in the UI, I don't see this watcher on the "buckets" page, and otherwise can't see how I could get at the data from this watcher. Does this need to be enabled somewhere?

jsonschema-specifications File Not Found

Hello, I'm getting a File Not Found error on windows 10 when I try to install aw-watcher-input. I once found an exe file somewhere on my system that when I ran caused an aw-watcher-input channel to appear on activity watch. Do you know where that aw-input exe file is located? I could possibly create a task in windows task scheduler to run whenever I log in if it will only partially install. Am I doing something wrong?

C:\GitHub\aw-watcher-input>poetry install
Installing dependencies from lock file

Package operations: 34 installs, 1 update, 0 removals

  โ€ข Installing jsonschema-specifications (2023.11.1): Installing...
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\__init__.py over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\_core.py over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\metaschema.json over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\vocabularies\applicator over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\vocabularies\content over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\vocabularies\core over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\vocabularies\meta-data over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft201909\vocabularies\validation over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft202012\metaschema.json over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft202012\vocabularies\applicator over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft202012\vocabularies\content over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.10\Lib\site-packages\jsonschema_specifications\schemas\draft202012\vocabularies\core over existing file
Installing C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-ndXY7CHB-py3.1  โ€ข Installing jsonschema-specifications (2023.11.1): Failed

  FileNotFoundError

  [Errno 2] No such file or directory: 'C:\\Users\\UserName\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\Local\\pypoetry\\Cache\\virtualenvs\\aw-watcher-input-ndXY7CHB-py3.10\\Lib\\site-packages\\jsonschema_specifications\\schemas\\draft202012\\vocabularies\\format-annotation'

  at C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\pathlib.py:1119 in open
      1115โ”‚         the built-in open() function does.
      1116โ”‚         """
      1117โ”‚         if "b" not in mode:
      1118โ”‚             encoding = io.text_encoding(encoding)
    โ†’ 1119โ”‚         return self._accessor.open(self, mode, buffering, encoding, errors,
      1120โ”‚                                    newline)
      1121โ”‚
      1122โ”‚     def read_bytes(self):
      1123โ”‚         """

Cannot install jsonschema-specifications.


Solving rendering delay in timeline

I compiled activity watch with watcher-input myself and everything works just fine, but after a whole day the timeline rendering takes ages. That's because of the rendering of all keypresses and mouseevents.
The activity tab loads instant and the aggregated data is shown instantly. On the timeline tab the "Events shown" are very fast too, only the bars indicating the activity take long for the watcher input bucket.

Which of these strategies would be the best?

  • Exclude the watcher-input from the timeline visualisation
  • Load the watcher-input data in larger chunks instead of every event for the timeline
  • aggregate data and commit only every 5 seconds
  • ...

visualization doesnt work

as title, visualization doesnt work
it shows Error: Network Error

image

but activitywatch is running and seems no error

2022-03-08 16:14:55 [INFO ]:  * Running on http://localhost:5600/ (Press CTRL+C to quit)  (werkzeug:113)
2022-03-08 16:16:21 [INFO ]: Received heartbeat after pulse window, inserting as new event. (bucket: aw-watcher-input_DESKTOP-SCARZ)  (aw_server.api:264)

image

am I using the wrong method? If so, how can I see the visualised data?

Issues installing dependencies

Although it's included in the dependencies file, PyUserInput and pyHook were not installed. The former installed just fine with pip, but I wasn't able to install the latter using pip or with the whl file I downloaded from the link on line 223 of poetry.lock. Attempting install with pip yielded this error:

ERROR: Could not find a version that satisfies the requirement pyHook
ERROR: No matching distribution found for pyHook

and trying to install with the whl file resulted in this:

ERROR: pyHook-1.5.1-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.

Bucket not created

I have installed through

curl -sSL https://install.python-poetry.org | python3 -
cd  /tmp
poetry install

when running the watcher it was returning output in terminal put no effect in web UI raw data
as mention in other closed problem #4 I change *queued * to false in aw-watch[input/src/main.py to false
now when run it I have error that there is no bucket with this name should I create it manually and how

โฏ pwd
/tmp/aw-watcher-input
โฏ aw-watcher-input
zsh: command not found: aw-watcher-input
โฏ poetry run aw-watcher-input --help
Usage: aw-watcher-input [OPTIONS]

Options:
  --testing
  --help     Show this message and exit.
โฏ poetry run aw-watcher-input
INFO:aw_watcher_input.main:Starting watcher...
INFO:aw_watcher_input.main:No new input
WARNING:aw_client.client:404 Client Error: NOT FOUND for url: http://127.0.0.1:5600/api/0/buckets/aw-watcher-input_mo-lab/heartbeat?pulsetime=1.1
WARNING:aw_client.client:Error message received: {'message': "There's no bucket named aw-watcher-input_mo-lab. You have requested this URI [/api/0/buckets/aw-watcher-input_mo-lab/heartbeat] but did you mean /api/0/buckets/<string:bucket_id>/heartbeat ?"}
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmp/aw-watcher-input/src/aw_watcher_input/main.py", line 55, in main
    client.heartbeat(bucket_name, e, pulsetime=pulsetime, queued=False)
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/aw_client/client.py", line 243, in heartbeat
    return Event(**self._post(endpoint, event.to_json_dict()).json())
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/aw_client/client.py", line 44, in g
    raise e
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/aw_client/client.py", line 41, in g
    r.raise_for_status()
  File "/home/mo/.cache/pypoetry/virtualenvs/aw-watcher-input-u_zxqqLD-py3.9/lib/python3.9/site-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: NOT FOUND for url: http://127.0.0.1:5600/api/0/buckets/aw-watcher-input_mo-lab/heartbeat?pulsetime=1.1

 ๏Œ’ ๎‚ฐ ๏„• /tmp/aw-watcher-input ๎‚ฐ ๏„“ ๏„ฆ master !1 ๎‚ฐ  

Exec Format error for aw-watcher-input.spec file

Hai,

I am using Ubuntu 20.04 version. I added the aw-watcher-input as per the documentation. And I was trying to enable it in the activity watcher as shown below.
image

But I am getting the below error message. How to fix this ?

2022-08-02 23:45:51 [ERROR]: Unhandled exception (root:43)
Traceback (most recent call last):
File "aw_qt/trayicon.py", line 177, in
File "aw_qt/manager.py", line 193, in toggle
File "aw_qt/manager.py", line 154, in start
File "subprocess.py", line 858, in init
File "subprocess.py", line 1704, in _execute_child
OSError: [Errno 8] Exec format error: '/home/james/HDD/activitywatch/aw-watcher-input/aw-watcher-input.spec'

Regards,
James A

python 3.11

I Just move to Debian bookworm. It has python 3.11 which is not supported?

Current Python version (3.11.2) is not allowed by the project (^3.8,<3.11).

poetry problem

Hi
I have a problem installing, wonder if you could advice

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\veraw\Documents\GitHub\aw-watcher-input> python --version
Python 3.9.5

PS C:\Users\veraw> poetry --version
Poetry version 1.1.6

PS C:\Users\veraw> cd C:\Users\veraw\Documents\GitHub\aw-watcher-input
PS C:\Users\veraw\Documents\GitHub\aw-watcher-input> poetry install
Creating virtualenv aw-watcher-input-7c2LNXiY-py3.9 in C:\Users\veraw\AppData\Local\pypoetry\Cache\virtualenvs
Installing dependencies from lock file

Package operations: 27 installs, 0 updates, 0 removals

โ€ข Installing attrs (20.3.0)
โ€ข Installing pyrsistent (0.17.3)
โ€ข Installing six (1.15.0)
โ€ข Installing appdirs (1.4.4)
โ€ข Installing certifi (2020.12.5)
โ€ข Installing chardet (4.0.0)
โ€ข Installing iso8601 (0.1.14)
โ€ข Installing idna (2.10)
โ€ข Installing jsonschema (3.2.0)
โ€ข Installing peewee (3.14.4)
โ€ข Installing python-json-logger (0.1.11)
โ€ข Installing strict-rfc3339 (0.7)
โ€ข Installing takethetime (0.3.1)
โ€ข Installing timeslot (0.1.2)
โ€ข Installing urllib3 (1.26.4)
โ€ข Installing aw-core (0.5.0)
โ€ข Installing click (7.1.2)
โ€ข Installing pywin32 (300)
โ€ข Installing requests (2.25.1)
โ€ข Installing persist-queue (0.6.0)
โ€ข Installing aw-client (0.5.0 2b18d1a)
โ€ข Installing mypy-extensions (0.4.3)
โ€ข Installing typed-ast (1.4.3)
โ€ข Installing typing-extensions (3.7.4.3)
โ€ข Installing pypiwin32 (223)

FileNotFoundError

[WinError 2] The system cannot find the file specified

at ~\AppData\Local\Programs\Python\Python39\lib\subprocess.py:1420 in _execute_child
1416โ”‚ sys.audit("subprocess.Popen", executable, args, cwd, env)
1417โ”‚
1418โ”‚ # Start the process
1419โ”‚ try:
โ†’ 1420โ”‚ hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1421โ”‚ # no special security
1422โ”‚ None, None,
1423โ”‚ int(not close_fds),
1424โ”‚ creationflags,

PS C:\Users\veraw\Documents\GitHub\aw-watcher-input> poetry install
Installing dependencies from lock file

Package operations: 3 installs, 0 updates, 0 removals

โ€ข Installing aw-client (0.5.0 2b18d1a)

FileNotFoundError

[WinError 2] The system cannot find the file specified

at ~\AppData\Local\Programs\Python\Python39\lib\subprocess.py:1420 in _execute_child
1416โ”‚ sys.audit("subprocess.Popen", executable, args, cwd, env)
1417โ”‚
1418โ”‚ # Start the process
1419โ”‚ try:
โ†’ 1420โ”‚ hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1421โ”‚ # no special security
1422โ”‚ None, None,
1423โ”‚ int(not close_fds),
1424โ”‚ creationflags,

PS C:\Users\veraw\Documents\GitHub\aw-watcher-input>

"Wrong version of PyObjC C API" -> updated pyobjc -> AttributeError: CFMachPortCreateRunLoopSource

I just installed aw-watcher-input with poetry.
When I run aw-watcher-input --help I get RuntimeError: Wrong version of PyObjC C API (got 21, expected 20).

What would be required to update aw-watcher-input to work with version 21?

Here's the full stacktrace:

Traceback (most recent call last):
  File "/Users/dbieber/.virtualenvs/aw/bin/aw-watcher-input", line 2, in <module>
    from aw_watcher_input.main import main
  File "/Users/dbieber/code/github/ActivityWatch/aw-watcher-input/src/aw_watcher_input/__init__.py", line 1, in <module>
    from . import main
  File "/Users/dbieber/code/github/ActivityWatch/aw-watcher-input/src/aw_watcher_input/main.py", line 9, in <module>
    from aw_watcher_afk.listeners import KeyboardListener, MouseListener
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/aw_watcher_afk/__init__.py", line 1, in <module>
    from . import __main__
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/aw_watcher_afk/__main__.py", line 5, in <module>
    from aw_watcher_afk.afk import AFKWatcher
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/aw_watcher_afk/afk.py", line 17, in <module>
    from .macos import seconds_since_last_input
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/aw_watcher_afk/macos.py", line 2, in <module>
    from Quartz.CoreGraphics import (CGEventSourceSecondsSinceLastEventType,
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/Quartz/__init__.py", line 102, in <module>
    _load()
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/Quartz/__init__.py", line 28, in _load
    from Quartz import CoreGraphics as m
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/Quartz/CoreGraphics/__init__.py", line 143, in <module>
    _load(mod)
  File "/Users/dbieber/.virtualenvs/aw/lib/python3.7/site-packages/Quartz/CoreGraphics/__init__.py", line 51, in _load
    import Quartz.CoreGraphics._callbacks as m
RuntimeError: Wrong version of PyObjC C API (got 21, expected 20)

Where is the data stored?

I think I've installed the plugin correctly. My question is: where is the data stored? In what format?
I would like to make custom reports.

Because aw-client (0.3.1 git rev master) depends on click (^7.1.1) which doesn't match any versions, aw-client is forbidden

I have a macOS Catalina, poetry and python 3.9 installed.

Error installing:

demon aw-watcher-input (master) $ poetry install
Installing dependencies from lock file

  SolverProblemError

  Because aw-client (0.3.1 git rev master) depends on click (^7.1.1) which doesn't match any versions, aw-client is forbidden.
  So, because aw-watcher-input depends on aw-client (0.3.1 git branch master), version solving failed.

  at /usr/local/Cellar/poetry/1.1.4/libexec/lib/python3.9/site-packages/poetry/puzzle/solver.py:241 in _solve
      237โ”‚             packages = result.packages
      238โ”‚         except OverrideNeeded as e:
      239โ”‚             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
      240โ”‚         except SolveFailure as e:
    โ†’ 241โ”‚             raise SolverProblemError(e)
      242โ”‚ 
      243โ”‚         results = dict(
      244โ”‚             depth_first_search(
      245โ”‚                 PackageNode(self._package, packages), aggregate_package_nodes

ModuleNotFoundError: No module named 'setuptools'

Tried to install this module both through poetry install and sudo poetry install. Each time it starts to install, and after roughly 5 seconds comes up with ModuleNotFoundError: No module named 'setuptools'
Fixes I've tried:

  • pip install setuptools Result: Requirement already satisfied: setuptools in /usr/lib/python3.10/site-packages (59.7.0)
  • poetry run pip install setuptools Result: Requirement already satisfied: setuptools in /home/dion/.cache/pypoetry/virtualenvs/aw-watcher-input-ys4cFOT4-py3.10/lib/python3.10/site-packages (60.1.0)

Nothing seems to work, even though the module is installed.

How to install?

I know this is a dumb question, but I can't find the answer anywhere on google. How do I install this? I have poetry and python installed, I downloaded the file, extracted it to C:\Users\My_Name\ and I ran poetry install. It just returns this:
RuntimeError Poetry could not find a pyproject.toml file in C:\Users\blais or its parents at .poetry\lib\poetry\_vendor\py3.9\poetry\core\factory.py:369 in locate 365โ”‚ if poetry_file.exists(): 366โ”‚ return poetry_file 367โ”‚ 368โ”‚ else: โ†’ 369โ”‚ raise RuntimeError( 370โ”‚ "Poetry could not find a pyproject.toml file in {} or its parents".format( 371โ”‚ cwd 372โ”‚ ) 373โ”‚ )

What am I doing wrong? How am I supposed to install this?

Wayland

Any plans for supporting wayland?

ModuleNotFoundError: No module named 'pykeyboard'

So I was continueing from #5, and then when I executed poetry run aw-watcher-input and I get:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\python39\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "C:\Users\myuser\activity_monitor\aw-watcher-input\src\aw_watcher_input\__init__.py", line 1, in <module>
    from . import main
  File "C:\Users\myuser\activity_monitor\aw-watcher-input\src\aw_watcher_input\main.py", line 9, in <module>
    from aw_watcher_afk.listeners import KeyboardListener, MouseListener
  File "C:\Users\myuser\AppData\Local\pypoetry\Cache\virtualenvs\aw-watcher-input-SuTwwcev-py3.9\lib\site-packages\aw_watcher_afk\listeners.py", line 6, in <module>
    from pykeyboard import PyKeyboardEvent
ModuleNotFoundError: No module named 'pykeyboard'

I tried installing `pip install pykeyboard`` but I think that has to be done somehow inside the virtual environment as It did not seem to work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.