Initial commit

This commit is contained in:
jpk 2023-05-09 18:40:58 +02:00
commit 8fe137fe05
7 changed files with 512 additions and 0 deletions

162
.gitignore vendored Normal file
View File

@ -0,0 +1,162 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

76
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,76 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
# python
- id: check-ast
- id: check-builtin-literals
- id: check-docstring-first
- id: debug-statements
- id: fix-encoding-pragma
args: [--remove]
# text
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
args: [--fix=lf]
- id: trailing-whitespace
# json
- id: check-json
# toml
- id: check-toml
# yaml
- id: check-yaml
# python
- repo: https://github.com/pre-commit/mirrors-isort
rev: v5.10.1
hooks:
- id: isort
args: [--profile, black]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.1.1
hooks:
- id: mypy
additional_dependencies: [types-all]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: python-check-blanket-noqa
- id: python-check-blanket-type-ignore
- id: python-no-eval
- id: python-use-type-annotations
- repo: https://github.com/asottile/dead
rev: v1.5.0
hooks:
- id: dead
args: [--exclude, ups/schemas/.*]
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: [--py310-plus]
- repo: https://github.com/psf/black/
rev: 23.3.0
hooks:
- id: black
language_version: python3.10
- repo: https://github.com/PyCQA/bandit
rev: 1.7.5
hooks:
- id: bandit
args: [--severity-level, medium]
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
additional_dependencies: [flake8-typing-imports==1.12.0]
args: [--max-line-length, '120']

0
README.md Normal file
View File

0
blatted/__init__.py Normal file
View File

257
poetry.lock generated Normal file
View File

@ -0,0 +1,257 @@
# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand.
[[package]]
name = "bleak"
version = "0.20.2"
description = "Bluetooth Low Energy platform Agnostic Klient"
category = "main"
optional = false
python-versions = ">=3.7,<4.0"
files = [
{file = "bleak-0.20.2-py3-none-any.whl", hash = "sha256:ce3106b7258212d92bb77be06f9301774f51f5bbc9f7cd50976ad794e9514dba"},
{file = "bleak-0.20.2.tar.gz", hash = "sha256:6c92a47abe34e6dea8ffc5cea9457cbff6e1be966854839dbc25cddb36b79ee4"},
]
[package.dependencies]
bleak-winrt = {version = ">=1.2.0,<2.0.0", markers = "platform_system == \"Windows\""}
dbus-fast = {version = ">=1.83.0,<2.0.0", markers = "platform_system == \"Linux\""}
pyobjc-core = {version = ">=9.0.1,<10.0.0", markers = "platform_system == \"Darwin\""}
pyobjc-framework-CoreBluetooth = {version = ">=9.0.1,<10.0.0", markers = "platform_system == \"Darwin\""}
pyobjc-framework-libdispatch = {version = ">=9.0.1,<10.0.0", markers = "platform_system == \"Darwin\""}
[[package]]
name = "bleak-winrt"
version = "1.2.0"
description = "Python WinRT bindings for Bleak"
category = "main"
optional = false
python-versions = "*"
files = [
{file = "bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6"},
{file = "bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c"},
{file = "bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a"},
{file = "bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80"},
{file = "bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee"},
{file = "bleak_winrt-1.2.0-cp37-cp37m-win32.whl", hash = "sha256:623ac511696e1f58d83cb9c431e32f613395f2199b3db7f125a3d872cab968a4"},
{file = "bleak_winrt-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:13ab06dec55469cf51a2c187be7b630a7a2922e1ea9ac1998135974a7239b1e3"},
{file = "bleak_winrt-1.2.0-cp38-cp38-win32.whl", hash = "sha256:5a36ff8cd53068c01a795a75d2c13054ddc5f99ce6de62c1a97cd343fc4d0727"},
{file = "bleak_winrt-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:810c00726653a962256b7acd8edf81ab9e4a3c66e936a342ce4aec7dbd3a7263"},
{file = "bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a"},
{file = "bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7"},
]
[[package]]
name = "click"
version = "8.1.3"
description = "Composable command line interface toolkit"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
{file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
]
[package.dependencies]
colorama = {version = "*", markers = "platform_system == \"Windows\""}
[[package]]
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
]
[[package]]
name = "dbus-fast"
version = "1.86.0"
description = "A faster version of dbus-next"
category = "main"
optional = false
python-versions = ">=3.7,<4.0"
files = [
{file = "dbus_fast-1.86.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:8fe50780cf5ecdfb2e14aea393c6c3def5764ddf0e5d21aa5d980e7b454cd69b"},
{file = "dbus_fast-1.86.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:732479854bb8fe80228a19c4c3e7b151df9a05fb4193ca3842bfe516450630fd"},
{file = "dbus_fast-1.86.0-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:295e6bb07aaf65c1fe8163c61d2b0c7af4d83503c7b986b801b39cebd734c761"},
{file = "dbus_fast-1.86.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5b437411d4abd19190216d1113612069c2945a810f4a5db7c2af7ef3381d78ce"},
{file = "dbus_fast-1.86.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fbbc159219c4693f50d16e1a32908f3de786fa84afdb972d85247df4b77274c3"},
{file = "dbus_fast-1.86.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:c9831b023f1de0f4b38c821d5dd562fd28cac0b3e90acd9f2113ce5e1343527d"},
{file = "dbus_fast-1.86.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edc38c1eb774167cd1c528aab0276ea83b3e2cc1cc5e3e9de0c908b6613f43ea"},
{file = "dbus_fast-1.86.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cce32d64d03cae59835692c115c8907dab8420e7276974031eade93ddc442ef8"},
{file = "dbus_fast-1.86.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6581f12887ad11abe39f2b8072fe81006e591d09249017c9d1793c0541c99d20"},
{file = "dbus_fast-1.86.0-cp37-cp37m-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:e434290690604d48c1462d34f7a434cd66ac92dd156c8fce14ba34161fc93150"},
{file = "dbus_fast-1.86.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c0f2cfdccffe75267c5ff60101e33d7ca706e4539fae1a38ea58b83babc8d74"},
{file = "dbus_fast-1.86.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:15dcb5586e8ee441434cc7c8569498841565ca880ffa79b75bd94768c9205fd4"},
{file = "dbus_fast-1.86.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4ec9d18ef039d3e3cb2ec97328ea83722a2344e7724ea990e9634174b07b74c7"},
{file = "dbus_fast-1.86.0-cp38-cp38-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:ccb4c8eb62c5f7154a93f23e0d1cbd41146b0a48d7f3606bd4a659d87f90fc8a"},
{file = "dbus_fast-1.86.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:742213fad5253400376c322464e0db514dc30b26673c0eb0cc2e60224bd078f0"},
{file = "dbus_fast-1.86.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:91c16bccef4c8f88a68701b7e27c53602478a901c3880b77c58c52027856d2e5"},
{file = "dbus_fast-1.86.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9a26cea3b27f232298b1b97e9e2e535ae317974f2e43a24ca6f2fdf92b14e22c"},
{file = "dbus_fast-1.86.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0e0962cdd6d56cddf64cca53786cb055fc02090083beb3805275862062e44681"},
{file = "dbus_fast-1.86.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dc2779dddea12c28b7cdbe9f48630fd16a99d3d521607cbce4a510a2cdecb8b"},
{file = "dbus_fast-1.86.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0703551daecea46a4e2f49960f9bbbfe1e515cc06a1f1fda440340edb8e2749"},
{file = "dbus_fast-1.86.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f93eeecce43112325f5bea83a139af248348e24b3ae93aecd12ee291d9032ae6"},
{file = "dbus_fast-1.86.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:12d3514e6551c6181f213a53d2ef5b26cf5524d6b1dfc10a14243824785f3de6"},
{file = "dbus_fast-1.86.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb37e2829c1f4299b8e3cb23af920c3d0a1da645f10fcf795b5aafa2f1ac1d2f"},
{file = "dbus_fast-1.86.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:2267fd7b107a85a459127b04324b896adbc30a7e5b349489d794d48d307f5275"},
{file = "dbus_fast-1.86.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae66124b93db54d78f9d6a5a6c1d3d25081071e188a67c39285c85f1b0d5f02e"},
{file = "dbus_fast-1.86.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:2937e0c36198f49c800e7da7ce0d247ab30d89e44ee5b568f8dd366f3f1244ba"},
{file = "dbus_fast-1.86.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:458de3cda4caa1399c6ecb7c42bc875ebb8646e880f6aa9c40236eeae6ed328f"},
{file = "dbus_fast-1.86.0.tar.gz", hash = "sha256:ca376a360f1bc2c3d59e9edfb5e4de5be389cca37e8c92f4539176ddf755341e"},
]
[[package]]
name = "markdown-it-py"
version = "2.2.0"
description = "Python port of markdown-it. Markdown parsing, done right!"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"},
{file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"},
]
[package.dependencies]
mdurl = ">=0.1,<1.0"
[package.extras]
benchmarking = ["psutil", "pytest", "pytest-benchmark"]
code-style = ["pre-commit (>=3.0,<4.0)"]
compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"]
linkify = ["linkify-it-py (>=1,<3)"]
plugins = ["mdit-py-plugins"]
profiling = ["gprof2dot"]
rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
[[package]]
name = "mdurl"
version = "0.1.2"
description = "Markdown URL utilities"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
{file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
]
[[package]]
name = "pygments"
version = "2.15.1"
description = "Pygments is a syntax highlighting package written in Python."
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"},
{file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
]
[package.extras]
plugins = ["importlib-metadata"]
[[package]]
name = "pyobjc-core"
version = "9.1.1"
description = "Python<->ObjC Interoperability Module"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "pyobjc-core-9.1.1.tar.gz", hash = "sha256:4b6cb9053b5fcd3c0e76b8c8105a8110786b20f3403c5643a688c5ec51c55c6b"},
{file = "pyobjc_core-9.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4bd07049fd9fe5b40e4b7c468af9cf942508387faf383a5acb043d20627bad2c"},
{file = "pyobjc_core-9.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1a8307527621729ff2ab67860e7ed84f76ad0da881b248c2ef31e0da0088e4ba"},
{file = "pyobjc_core-9.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:083004d28b92ccb483a41195c600728854843b0486566aba2d6e63eef51f80e6"},
{file = "pyobjc_core-9.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d61e9517d451bc062a7fae8b3648f4deba4fa54a24926fa1cf581b90ef4ced5a"},
{file = "pyobjc_core-9.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1626909916603a3b04c07c721cf1af0e0b892cec85bb3db98d05ba024f1786fc"},
{file = "pyobjc_core-9.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2dde96462b52e952515d142e2afbb6913624a02c13582047e06211e6c3993728"},
]
[[package]]
name = "pyobjc-framework-cocoa"
version = "9.1.1"
description = "Wrappers for the Cocoa frameworks on macOS"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "pyobjc-framework-Cocoa-9.1.1.tar.gz", hash = "sha256:345c32b6d1f3db45f635e400f2d0d6c0f0f7349d45ec823f76fc1df43d13caeb"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9176a4276f3b4b4758e9b9ca10698be5341ceffaeaa4fa055133417179e6bc37"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5e1e96fb3461f46ff951413515f2029e21be268b0e033db6abee7b64ec8e93d3"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:083b195c496d30c6b9dd86126a6093c4b95e0138e9b052b13e54103fcc0b4872"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a1b3333b1aa045608848bd68bbab4c31171f36aeeaa2fabeb4527c6f6f1e33cd"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:54c017354671f0d955432986c42218e452ca69906a101c8e7acde8510432303a"},
{file = "pyobjc_framework_Cocoa-9.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:10c0075688ce95b92caf59e368585fffdcc98c919bc345067af070222f5d01d2"},
]
[package.dependencies]
pyobjc-core = ">=9.1.1"
[[package]]
name = "pyobjc-framework-corebluetooth"
version = "9.1.1"
description = "Wrappers for the framework CoreBluetooth on macOS"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "pyobjc-framework-CoreBluetooth-9.1.1.tar.gz", hash = "sha256:4e5a256450bd9626311af64b6cf6752d0d9e7bc80242a915dea075180b350ca6"},
{file = "pyobjc_framework_CoreBluetooth-9.1.1-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:b39e0bc5ad0b01fcf26853bd3bf2ab186ec6182073d00e0cadcf71cd48e047fb"},
{file = "pyobjc_framework_CoreBluetooth-9.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:60ef6d0a5a9abb0404f690dab4b670aa1265258500dc4fcc8129a37460e8f488"},
{file = "pyobjc_framework_CoreBluetooth-9.1.1-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:ae1593be5c2fbae3795a66b4006c5c47cb6c99da8d2e4a67e187248d733bacac"},
]
[package.dependencies]
pyobjc-core = ">=9.1.1"
pyobjc-framework-Cocoa = ">=9.1.1"
[[package]]
name = "pyobjc-framework-libdispatch"
version = "9.1.1"
description = "Wrappers for libdispatch on macOS"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "pyobjc-framework-libdispatch-9.1.1.tar.gz", hash = "sha256:1cb3b6a81b79696176108253a8a7201088e51e59b85c1c314c03b0a682ac577f"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eb2ca9092972dd0d403630d546331589b0244e2e685c5cf20c82b0d6134c958d"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a5a8a20d624a3ccc72750dfe39bdae2eab56a1cae883eb0bd36a58dbdba79301"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:844a05a6b6b28e24f569216adff368e88237185bfca83afa2405bf6f86b8ee74"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e6774ab26119a64a7cc9196cc151351aae456aebe92038e053804f72310a794a"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:40f503d8a0580f654a5bd36d332e34d48eee5ef93a9fa55434c2e6980a736396"},
{file = "pyobjc_framework_libdispatch-9.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fd52fbfaad1a89296170c196f21ffb8470effae0fedfffbc8d2ce0836ca466ac"},
]
[package.dependencies]
pyobjc-core = ">=9.1.1"
[[package]]
name = "rich"
version = "13.3.5"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
{file = "rich-13.3.5-py3-none-any.whl", hash = "sha256:69cdf53799e63f38b95b9bf9c875f8c90e78dd62b2f00c13a911c7a3b9fa4704"},
{file = "rich-13.3.5.tar.gz", hash = "sha256:2d11b9b8dd03868f09b4fffadc84a6a8cda574e40dc90821bd845720ebb8e89c"},
]
[package.dependencies]
markdown-it-py = ">=2.2.0,<3.0.0"
pygments = ">=2.13.0,<3.0.0"
[package.extras]
jupyter = ["ipywidgets (>=7.5.1,<9)"]
[metadata]
lock-version = "2.0"
python-versions = "^3.11"
content-hash = "39d2adbaeff86e66f15c0bba852a9317bc50d73a8230e1346f6230bf57ea006f"

17
pyproject.toml Normal file
View File

@ -0,0 +1,17 @@
[tool.poetry]
name = "blatted"
version = "0.1.0"
description = ""
authors = ["jpk <jpk@goatpr0n.de>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11"
bleak = "^0.20.2"
click = "^8.1.3"
rich = "^13.3.5"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

0
tests/__init__.py Normal file
View File