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.
- easyspeak_linux-0.1.0/.github/workflows/pipeline.yml +49 -0
- easyspeak_linux-0.1.0/.github/workflows/publish.yml +25 -0
- easyspeak_linux-0.1.0/.github/workflows/safety.yml +22 -0
- easyspeak_linux-0.1.0/.gitignore +52 -0
- easyspeak_linux-0.1.0/CONTRIBUTING.md +63 -0
- easyspeak_linux-0.1.0/LICENSE +674 -0
- easyspeak_linux-0.1.0/PKG-INFO +527 -0
- easyspeak_linux-0.1.0/README.md +492 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/PKG-INFO +527 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/SOURCES.txt +28 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/dependency_links.txt +1 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/entry_points.txt +2 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/requires.txt +11 -0
- easyspeak_linux-0.1.0/easyspeak_linux.egg-info/top_level.txt +1 -0
- easyspeak_linux-0.1.0/pyproject.toml +89 -0
- easyspeak_linux-0.1.0/setup.cfg +4 -0
- easyspeak_linux-0.1.0/src/core/__init__.py +1 -0
- easyspeak_linux-0.1.0/src/core/__main__.py +12 -0
- easyspeak_linux-0.1.0/src/core/main.py +312 -0
- easyspeak_linux-0.1.0/src/plugins/00_eyetrack.py +511 -0
- easyspeak_linux-0.1.0/src/plugins/00_mousegrid.py +516 -0
- easyspeak_linux-0.1.0/src/plugins/__init__.py +1 -0
- easyspeak_linux-0.1.0/src/plugins/apps.py +93 -0
- easyspeak_linux-0.1.0/src/plugins/browser.py +573 -0
- easyspeak_linux-0.1.0/src/plugins/dictation.py +243 -0
- easyspeak_linux-0.1.0/src/plugins/files.py +64 -0
- easyspeak_linux-0.1.0/src/plugins/media.py +92 -0
- easyspeak_linux-0.1.0/src/plugins/system.py +122 -0
- easyspeak_linux-0.1.0/src/plugins/zz_base.py +50 -0
- 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.
|