easyspeak-linux 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. easyspeak_linux-0.1.0/.github/workflows/pipeline.yml +49 -0
  2. easyspeak_linux-0.1.0/.github/workflows/publish.yml +25 -0
  3. easyspeak_linux-0.1.0/.github/workflows/safety.yml +22 -0
  4. easyspeak_linux-0.1.0/.gitignore +52 -0
  5. easyspeak_linux-0.1.0/CONTRIBUTING.md +63 -0
  6. easyspeak_linux-0.1.0/LICENSE +674 -0
  7. easyspeak_linux-0.1.0/PKG-INFO +527 -0
  8. easyspeak_linux-0.1.0/README.md +492 -0
  9. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/PKG-INFO +527 -0
  10. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/SOURCES.txt +28 -0
  11. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/dependency_links.txt +1 -0
  12. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/entry_points.txt +2 -0
  13. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/requires.txt +11 -0
  14. easyspeak_linux-0.1.0/easyspeak_linux.egg-info/top_level.txt +1 -0
  15. easyspeak_linux-0.1.0/pyproject.toml +89 -0
  16. easyspeak_linux-0.1.0/setup.cfg +4 -0
  17. easyspeak_linux-0.1.0/src/core/__init__.py +1 -0
  18. easyspeak_linux-0.1.0/src/core/__main__.py +12 -0
  19. easyspeak_linux-0.1.0/src/core/main.py +312 -0
  20. easyspeak_linux-0.1.0/src/plugins/00_eyetrack.py +511 -0
  21. easyspeak_linux-0.1.0/src/plugins/00_mousegrid.py +516 -0
  22. easyspeak_linux-0.1.0/src/plugins/__init__.py +1 -0
  23. easyspeak_linux-0.1.0/src/plugins/apps.py +93 -0
  24. easyspeak_linux-0.1.0/src/plugins/browser.py +573 -0
  25. easyspeak_linux-0.1.0/src/plugins/dictation.py +243 -0
  26. easyspeak_linux-0.1.0/src/plugins/files.py +64 -0
  27. easyspeak_linux-0.1.0/src/plugins/media.py +92 -0
  28. easyspeak_linux-0.1.0/src/plugins/system.py +122 -0
  29. easyspeak_linux-0.1.0/src/plugins/zz_base.py +50 -0
  30. easyspeak_linux-0.1.0/uv.lock +1806 -0
@@ -0,0 +1,49 @@
1
+ name: Pipeline
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+ - dev
8
+ push:
9
+ branches:
10
+ - main
11
+ - dev
12
+
13
+ jobs:
14
+ check:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ task:
19
+ - format --diff
20
+ - lint --
21
+ - types
22
+ - package
23
+ - functional
24
+ fail-fast: false
25
+ steps:
26
+ - uses: actions/checkout@v6
27
+ - uses: astral-sh/setup-uv@v7
28
+ with:
29
+ python-version: '3.12'
30
+ - uses: extractions/setup-just@v3
31
+ - run: just ${{ matrix.task }}
32
+
33
+ test:
34
+ runs-on: ubuntu-latest
35
+ strategy:
36
+ matrix:
37
+ python-version:
38
+ - '3.10'
39
+ - '3.11'
40
+ - '3.12'
41
+ fail-fast: false
42
+ steps:
43
+ - uses: actions/checkout@v6
44
+ - uses: astral-sh/setup-uv@v7
45
+ with:
46
+ python-version: ${{ matrix.python-version }}
47
+ - uses: extractions/setup-just@v3
48
+ - run: just pytest
49
+ - run: just coverage
@@ -0,0 +1,25 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ environment: pypi
12
+ permissions:
13
+ id-token: write
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+ - uses: astral-sh/setup-uv@v7
17
+ with:
18
+ python-version: '3.12'
19
+ - uses: extractions/setup-just@v3
20
+ - name: Build the Python package
21
+ run: just package
22
+ - name: Verify that package version matches Git tag
23
+ run: just ensure_version_matches ${{ github.ref_name }}
24
+ - name: Publish package to PyPI
25
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,22 @@
1
+ name: Safety
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ jobs:
8
+ safety:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ task:
13
+ - audit
14
+ - requirements
15
+ fail-fast: false
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+ - uses: astral-sh/setup-uv@v7
19
+ with:
20
+ python-version: '3.12'
21
+ - uses: extractions/setup-just@v3
22
+ - run: just ${{ matrix.task }}
@@ -0,0 +1,52 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ # Testing
24
+ .coverage
25
+ coverage.json
26
+ coverage.xml
27
+ htmlcov/
28
+ junit-report.xml
29
+
30
+ # Virtual environments
31
+ .env
32
+ .venv
33
+ env/
34
+ venv/
35
+ ENV/
36
+ .tox/
37
+ requirements.txt
38
+
39
+ # IDE
40
+ .idea/
41
+ .vscode/
42
+ *.swp
43
+ *.swo
44
+ *~
45
+
46
+ # OS
47
+ .DS_Store
48
+ Thumbs.db
49
+
50
+ # Project specific
51
+ *.wav
52
+ *.log
@@ -0,0 +1,63 @@
1
+ # Contributing
2
+
3
+ Contributions welcome. Please open an issue first to discuss changes.
4
+
5
+ Areas that need work:
6
+ - More application integrations
7
+
8
+ ## Planned Enhancements
9
+
10
+ - Window controls (maximize, minimize)
11
+ - Dictation focus detection fix
12
+ - Further GNOME integration for desktop control
13
+ - Verbal help per section (say "help browser" for spoken commands)
14
+ - Auto-discover installed apps for launcher
15
+ - Clipboard commands (copy, paste)
16
+
17
+ ## Development
18
+
19
+ This project sports a [Justfile](https://just.systems/man/en/) to simplify
20
+ all local development activities, and for running the same tasks in the CI
21
+ pipeline.
22
+
23
+ ```console
24
+ just
25
+ ```
26
+
27
+ ```console
28
+ just all
29
+ ```
30
+
31
+ ```console
32
+ UV_PYTHON=3.12 just pytest -q -x
33
+ ```
34
+
35
+ ```console
36
+ just clean
37
+ ```
38
+
39
+ The setup uses [uv](https://docs.astral.sh/uv/concepts/) under the hood,
40
+ which transparently manages virtual environments and package installation.
41
+ uv also allows you to install several Python versions on your computer in
42
+ parallel. We use this to test against all supported Python versions.
43
+
44
+ ### Prerequisites
45
+
46
+ You need to install `uv` and `just`, e.g.
47
+
48
+ ```console
49
+ python3 -m pip install uv
50
+ ```
51
+
52
+ ```console
53
+ uv tool install rust-just
54
+ ```
55
+
56
+ ## Packaging & Version Numbers
57
+
58
+ The packaging configuration is in `pyproject.toml`, supported by
59
+ `MANIFEST.in`. Version numbers are generated automatically by
60
+ [setuptools-scm](https://setuptools-scm.readthedocs.io/) based on the
61
+ latest Git tag and the distance from that tag in number of commits.
62
+
63
+ To publish a new release, push a new Git tag (e.g. 2.1.0) to GitHub.