Ver código fonte

ci(project): restructure into proper project

util scripts have always required setting PYTHONPATH to run.
Avoid that by making this into a proper project with two
modules.
Jason Rumney 1 mês atrás
pai
commit
a251675e37

+ 1 - 1
.github/workflows/yamltests.yml

@@ -39,4 +39,4 @@ jobs:
       - name: Device configs check with pytest
         run: |
           uv run pytest tests/test_device_config.py
-          uv run python util/untranslated_entities.py
+          uv run untranslated_entities

+ 21 - 3
pyproject.toml

@@ -1,7 +1,11 @@
+[build-system]
+requires = ["uv_build >=0.11.6,<0.12"]
+build-backend = "uv_build"
+
 [project]
-name = "Tuya-Local"
+name = "tuya-local"
 description = "A Home Assistant integration for local control of Tuya devices."
-version = "2026.4.3"
+version = "0.0.0"
 requires-python = ">3.14.2"
 dependencies = [
   "tinytuya~=1.18.0",
@@ -11,6 +15,16 @@ readme = "README.md"
 license = "MIT"
 license-file = "LICENSE.md"
 
+[project.scripts]
+duplicates = "util.duplicates:main"
+best_match = "util.best_match:main"
+all_matches = "util.config_match:main"
+match_against = "util.match_against:main"
+translation_candidates = "util.translation_candidates:main"
+untranslated_entities = "util.untranslated_entities:main"
+catalog = "util.catalog:main"
+entities = "util.entities:main"
+
 [dependency-groups]
 dev = [
   "fuzzywuzzy",
@@ -43,4 +57,8 @@ select = [
 ]
 ignore = [
   "E501",  # Duplicate of format rule, hits on tests
-]
+]
+
+[tool.uv.build-backend]
+module-name = ["custom_components.tuya_local", "util"]
+module-root = ""

+ 0 - 0
custom_components/__init__.py → util/__init__.py


+ 1 - 1
util/best_match.py

@@ -3,7 +3,7 @@
 import json
 import sys
 
-from common_funcs import FakeDevice
+from .common_funcs import FakeDevice
 
 from custom_components.tuya_local.helpers.device_config import possible_matches
 

+ 1 - 1
util/config_match.py

@@ -3,7 +3,7 @@
 import json
 import sys
 
-from common_funcs import FakeDevice
+from .common_funcs import FakeDevice
 
 from custom_components.tuya_local.helpers.device_config import possible_matches
 

+ 1 - 1
util/duplicates.py

@@ -2,7 +2,7 @@
 
 import sys
 
-from common_funcs import load_config, make_sample_dps
+from .common_funcs import load_config, make_sample_dps
 
 from custom_components.tuya_local.helpers.device_config import possible_matches
 

+ 1 - 1
util/match_against.py

@@ -3,7 +3,7 @@
 import json
 import sys
 
-from common_funcs import FakeDevice, load_config, make_sample_dps
+from .common_funcs import FakeDevice, load_config, make_sample_dps
 
 from custom_components.tuya_local.helpers.device_config import _typematch
 

+ 1 - 1
util/untranslated_select.py

@@ -3,7 +3,7 @@
 import json
 import sys
 
-from common_funcs import FakeDevice
+from .common_funcs import FakeDevice
 
 from custom_components.tuya_local.helpers.device_config import (
     TuyaDeviceConfig,