espspapy 1.0.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 (42) hide show
  1. espspapy-1.0.0/.github/dependabot.yml +11 -0
  2. espspapy-1.0.0/.github/workflows/python-lint.yml +27 -0
  3. espspapy-1.0.0/.github/workflows/python-publish.yml +33 -0
  4. espspapy-1.0.0/.github/workflows/release.yml +29 -0
  5. espspapy-1.0.0/.gitignore +132 -0
  6. espspapy-1.0.0/.pre-commit-config.yaml +46 -0
  7. espspapy-1.0.0/LICENSE +674 -0
  8. espspapy-1.0.0/PKG-INFO +290 -0
  9. espspapy-1.0.0/README.md +264 -0
  10. espspapy-1.0.0/debug.py +141 -0
  11. espspapy-1.0.0/espspapy/__init__.py +37 -0
  12. espspapy-1.0.0/espspapy/__main__.py +7 -0
  13. espspapy-1.0.0/espspapy/cli.py +164 -0
  14. espspapy-1.0.0/espspapy/const.py +60 -0
  15. espspapy-1.0.0/espspapy/discovery.py +81 -0
  16. espspapy-1.0.0/espspapy/esptouch.py +215 -0
  17. espspapy-1.0.0/espspapy/exceptions.py +29 -0
  18. espspapy-1.0.0/espspapy/helpers.py +45 -0
  19. espspapy-1.0.0/espspapy/models.py +152 -0
  20. espspapy-1.0.0/espspapy/py.typed +0 -0
  21. espspapy-1.0.0/espspapy/spa.py +304 -0
  22. espspapy-1.0.0/espspapy/timers.py +97 -0
  23. espspapy-1.0.0/espspapy.egg-info/PKG-INFO +290 -0
  24. espspapy-1.0.0/espspapy.egg-info/SOURCES.txt +40 -0
  25. espspapy-1.0.0/espspapy.egg-info/dependency_links.txt +1 -0
  26. espspapy-1.0.0/espspapy.egg-info/entry_points.txt +2 -0
  27. espspapy-1.0.0/espspapy.egg-info/requires.txt +7 -0
  28. espspapy-1.0.0/espspapy.egg-info/scm_file_list.json +36 -0
  29. espspapy-1.0.0/espspapy.egg-info/scm_version.json +8 -0
  30. espspapy-1.0.0/espspapy.egg-info/top_level.txt +1 -0
  31. espspapy-1.0.0/example.py +88 -0
  32. espspapy-1.0.0/pyproject.toml +62 -0
  33. espspapy-1.0.0/setup.cfg +4 -0
  34. espspapy-1.0.0/tests/__init__.py +14 -0
  35. espspapy-1.0.0/tests/conftest.py +103 -0
  36. espspapy-1.0.0/tests/fixtures/esptouch_vectors.json +33 -0
  37. espspapy-1.0.0/tests/test_discovery.py +57 -0
  38. espspapy-1.0.0/tests/test_esptouch.py +130 -0
  39. espspapy-1.0.0/tests/test_models.py +103 -0
  40. espspapy-1.0.0/tests/test_spa.py +109 -0
  41. espspapy-1.0.0/tests/test_timers.py +85 -0
  42. espspapy-1.0.0/uv.lock +348 -0
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "github-actions" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
@@ -0,0 +1,27 @@
1
+ name: Check Lint
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ name: Check the code
9
+ strategy:
10
+ max-parallel: 4
11
+ matrix:
12
+ python-version: ["3.14"]
13
+
14
+ steps:
15
+ - name: 📥 Checkout the repository
16
+ uses: actions/checkout@v7
17
+
18
+ - name: Install uv
19
+ uses: astral-sh/setup-uv@v7
20
+ with:
21
+ python-version: ${{ matrix.python-version }}
22
+
23
+ - name: 📦 Install dependencies
24
+ run: uv sync --extra dev
25
+
26
+ - name: Run prek
27
+ run: uv run prek run --all-files
@@ -0,0 +1,33 @@
1
+ name: Upload Python Package
2
+
3
+ on:
4
+ release:
5
+ types: ["published"]
6
+ workflow_call:
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ deploy:
11
+ runs-on: ubuntu-latest
12
+ name: Deploy to PyPi
13
+ permissions:
14
+ contents: read
15
+ id-token: write
16
+ steps:
17
+ - name: 📥 Checkout the repository
18
+ uses: actions/checkout@v7
19
+ with:
20
+ fetch-depth: 0
21
+
22
+ - name: Install uv
23
+ uses: astral-sh/setup-uv@v7
24
+ with:
25
+ python-version: "3.14"
26
+
27
+ - name: Build package
28
+ run: uv build
29
+
30
+ - name: 🚀 Publish to PyPi
31
+ uses: pypa/gh-action-pypi-publish@v1.14.3
32
+ with:
33
+ attestations: false
@@ -0,0 +1,29 @@
1
+ name: Create release
2
+ on:
3
+ push:
4
+ tags:
5
+ - "*.*.*" # Push events to matching i.e. 1.0.0, 4.0.1
6
+ jobs:
7
+ release:
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ contents: write
11
+ steps:
12
+ # To use this repository's private action, you must check out the repository
13
+ - name: 📥 Checkout the repository
14
+ uses: actions/checkout@v7
15
+
16
+ - name: Generate changelog
17
+ id: changelog
18
+ uses: metcalfc/changelog-generator@v5.0.1
19
+ with:
20
+ myToken: ${{ secrets.GITHUB_TOKEN }}
21
+
22
+ - name: Create Release
23
+ uses: softprops/action-gh-release@v3
24
+ with:
25
+ name: ${{ github.ref_name }}
26
+ body: ${{ steps.changelog.outputs.changelog }}
27
+ draft: false
28
+ prerelease: ${{ contains(github.ref_name, '-') }}
29
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,132 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # mypy
124
+ .mypy_cache/
125
+ .dmypy.json
126
+ dmypy.json
127
+
128
+ # Pyre type checker
129
+ .pyre/
130
+
131
+ #perso
132
+ secrets.yaml
@@ -0,0 +1,46 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/astral-sh/ruff-pre-commit
4
+ rev: v0.16.2
5
+ hooks:
6
+ - id: ruff
7
+ args:
8
+ - --fix
9
+ - id: ruff-format
10
+ - repo: https://github.com/codespell-project/codespell
11
+ rev: v2.4.3
12
+ hooks:
13
+ - id: codespell
14
+ args:
15
+ - --skip="./.*,*.csv,*.json,*.ambr"
16
+ - --quiet-level=2
17
+ exclude_types: [csv, json]
18
+ - repo: https://github.com/pre-commit/pre-commit-hooks
19
+ rev: v6.0.0
20
+ hooks:
21
+ - id: check-executables-have-shebangs
22
+ stages: [manual]
23
+ - id: check-json
24
+ exclude: (.vscode|.devcontainer)
25
+ - repo: https://github.com/adrienverge/yamllint.git
26
+ rev: v1.38.0
27
+ hooks:
28
+ - id: yamllint
29
+ exclude: (.github|.vscode|.devcontainer)
30
+ - repo: https://github.com/pre-commit/mirrors-prettier
31
+ rev: v4.0.0-alpha.8
32
+ hooks:
33
+ - id: prettier
34
+ - repo: https://github.com/cdce8p/python-typing-update
35
+ rev: v0.8.1
36
+ hooks:
37
+ # Run `python-typing-update` hook manually from time to time
38
+ # to update python typing syntax.
39
+ # Will require manual work, before submitting changes!
40
+ # pre-commit run --hook-stage manual python-typing-update --all-files
41
+ - id: python-typing-update
42
+ stages: [manual]
43
+ args:
44
+ - --py311-plus
45
+ - --force
46
+ - --keep-updates