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.
- espspapy-1.0.0/.github/dependabot.yml +11 -0
- espspapy-1.0.0/.github/workflows/python-lint.yml +27 -0
- espspapy-1.0.0/.github/workflows/python-publish.yml +33 -0
- espspapy-1.0.0/.github/workflows/release.yml +29 -0
- espspapy-1.0.0/.gitignore +132 -0
- espspapy-1.0.0/.pre-commit-config.yaml +46 -0
- espspapy-1.0.0/LICENSE +674 -0
- espspapy-1.0.0/PKG-INFO +290 -0
- espspapy-1.0.0/README.md +264 -0
- espspapy-1.0.0/debug.py +141 -0
- espspapy-1.0.0/espspapy/__init__.py +37 -0
- espspapy-1.0.0/espspapy/__main__.py +7 -0
- espspapy-1.0.0/espspapy/cli.py +164 -0
- espspapy-1.0.0/espspapy/const.py +60 -0
- espspapy-1.0.0/espspapy/discovery.py +81 -0
- espspapy-1.0.0/espspapy/esptouch.py +215 -0
- espspapy-1.0.0/espspapy/exceptions.py +29 -0
- espspapy-1.0.0/espspapy/helpers.py +45 -0
- espspapy-1.0.0/espspapy/models.py +152 -0
- espspapy-1.0.0/espspapy/py.typed +0 -0
- espspapy-1.0.0/espspapy/spa.py +304 -0
- espspapy-1.0.0/espspapy/timers.py +97 -0
- espspapy-1.0.0/espspapy.egg-info/PKG-INFO +290 -0
- espspapy-1.0.0/espspapy.egg-info/SOURCES.txt +40 -0
- espspapy-1.0.0/espspapy.egg-info/dependency_links.txt +1 -0
- espspapy-1.0.0/espspapy.egg-info/entry_points.txt +2 -0
- espspapy-1.0.0/espspapy.egg-info/requires.txt +7 -0
- espspapy-1.0.0/espspapy.egg-info/scm_file_list.json +36 -0
- espspapy-1.0.0/espspapy.egg-info/scm_version.json +8 -0
- espspapy-1.0.0/espspapy.egg-info/top_level.txt +1 -0
- espspapy-1.0.0/example.py +88 -0
- espspapy-1.0.0/pyproject.toml +62 -0
- espspapy-1.0.0/setup.cfg +4 -0
- espspapy-1.0.0/tests/__init__.py +14 -0
- espspapy-1.0.0/tests/conftest.py +103 -0
- espspapy-1.0.0/tests/fixtures/esptouch_vectors.json +33 -0
- espspapy-1.0.0/tests/test_discovery.py +57 -0
- espspapy-1.0.0/tests/test_esptouch.py +130 -0
- espspapy-1.0.0/tests/test_models.py +103 -0
- espspapy-1.0.0/tests/test_spa.py +109 -0
- espspapy-1.0.0/tests/test_timers.py +85 -0
- 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
|