pywire-language-server 0.6.2__tar.gz → 0.7.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 (26) hide show
  1. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/CHANGELOG.md +7 -0
  2. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/PKG-INFO +2 -3
  3. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/pyproject.toml +2 -3
  4. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/__init__.py +2 -0
  5. pywire_language_server-0.7.0/src/pywire_language_server/_compat.py +35 -0
  6. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/.gitignore +0 -0
  7. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/LICENSE +0 -0
  8. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/README.md +0 -0
  9. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/noxfile.py +0 -0
  10. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/pywire_language_server +0 -0
  11. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/scripts/check +0 -0
  12. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/scripts/coverage +0 -0
  13. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/scripts/lint +0 -0
  14. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/scripts/test +0 -0
  15. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/__main__.py +0 -0
  16. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/server.py +0 -0
  17. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/sourcemap.py +0 -0
  18. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/transpiler.py +0 -0
  19. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/src/pywire_language_server/ty.py +0 -0
  20. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_diagnostic_regressions.py +0 -0
  21. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_directives.py +0 -0
  22. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_lsp_features.py +0 -0
  23. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_props_diagnostic_regressions.py +0 -0
  24. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_server_integration.py +0 -0
  25. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_transpiler.py +0 -0
  26. {pywire_language_server-0.6.2 → pywire_language_server-0.7.0}/tests/test_ty_integration.py +0 -0
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.0](https://github.com/pywire/pywire/compare/pywire-language-server-v0.6.2...pywire-language-server-v0.7.0) (2026-05-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * cross-package version floors with runtime checks ([#181](https://github.com/pywire/pywire/issues/181)) ([9ec02a3](https://github.com/pywire/pywire/commit/9ec02a330d500ceb83a24547e6012acd1d828137))
9
+
3
10
  ## [0.6.2](https://github.com/pywire/pywire/compare/pywire-language-server-v0.6.1...pywire-language-server-v0.6.2) (2026-04-22)
4
11
 
5
12
 
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pywire-language-server
3
- Version: 0.6.2
3
+ Version: 0.7.0
4
4
  Summary: Language Server Protocol implementation for PyWire
5
5
  Author-email: Reece Holmdahl <reece@pywire.dev>
6
6
  License-File: LICENSE
7
7
  Requires-Python: >=3.11
8
8
  Requires-Dist: pygls>=1.3.0
9
- Requires-Dist: pywire
10
- Requires-Dist: pywire-parser>=0.5.0
9
+ Requires-Dist: pywire-parser>=0.6.0
11
10
  Requires-Dist: ty>=0.0.15
12
11
  Provides-Extra: dev
13
12
  Requires-Dist: coverage>=7.3.0; extra == 'dev'
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pywire-language-server"
7
- version = "0.6.2"
7
+ version = "0.7.0"
8
8
  authors = [
9
9
  { name="Reece Holmdahl", email="reece@pywire.dev" },
10
10
  ]
@@ -13,8 +13,7 @@ requires-python = ">=3.11"
13
13
  dependencies = [
14
14
  "pygls>=1.3.0",
15
15
  "ty>=0.0.15",
16
- "pywire-parser>=0.5.0",
17
- "pywire",
16
+ "pywire-parser>=0.6.0",
18
17
  ]
19
18
 
20
19
  [project.scripts]
@@ -1,5 +1,7 @@
1
1
  from importlib.metadata import version, PackageNotFoundError
2
2
 
3
+ from pywire_language_server import _compat as _compat # noqa: F401 (runs version floor checks)
4
+
3
5
  try:
4
6
  __version__ = version("pywire-language-server")
5
7
  except PackageNotFoundError:
@@ -0,0 +1,35 @@
1
+ """Runtime version-floor checks for upstream packages.
2
+
3
+ See packages/pywire/src/pywire/_compat.py for the rationale and
4
+ CLAUDE.md "Version Floors" for the bump protocol.
5
+ """
6
+
7
+ from importlib.metadata import PackageNotFoundError, version
8
+
9
+ _FLOORS = {
10
+ "pywire-parser": "0.6.0",
11
+ }
12
+
13
+
14
+ def _parse(v: str) -> tuple[int, ...]:
15
+ out: list[int] = []
16
+ for chunk in v.split("."):
17
+ digits = ""
18
+ for ch in chunk:
19
+ if not ch.isdigit():
20
+ break
21
+ digits += ch
22
+ out.append(int(digits) if digits else 0)
23
+ return tuple(out)
24
+
25
+
26
+ for _pkg, _min in _FLOORS.items():
27
+ try:
28
+ _installed = version(_pkg)
29
+ except PackageNotFoundError:
30
+ continue
31
+ if _parse(_installed) < _parse(_min):
32
+ raise ImportError(
33
+ f"pywire-language-server requires {_pkg}>={_min} but found {_installed}. "
34
+ f"Run: pip install -U '{_pkg}>={_min}'"
35
+ )