htmy 0.3.2__tar.gz → 0.3.3__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.

Potentially problematic release.


This version of htmy might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: htmy
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Async, pure-Python rendering engine.
5
5
  License: MIT
6
6
  Author: Peter Volf
@@ -28,6 +28,7 @@ from .typing import ContextProvider as ContextProvider
28
28
  from .typing import ContextValue as ContextValue
29
29
  from .typing import FunctionComponent as FunctionComponent
30
30
  from .typing import HTMYComponentType as HTMYComponentType
31
+ from .typing import MutableContext as MutableContext
31
32
  from .typing import Properties as Properties
32
33
  from .typing import PropertyValue as PropertyValue
33
34
  from .typing import SyncComponent as SyncComponent
@@ -5,11 +5,9 @@ import asyncio
5
5
  import enum
6
6
  from collections.abc import Callable, Container
7
7
  from pathlib import Path
8
- from typing import Any, ClassVar, Generic, TypedDict, cast, overload
8
+ from typing import TYPE_CHECKING, Any, ClassVar, Generic, TypedDict, cast, overload
9
9
  from xml.sax.saxutils import escape as xml_escape
10
10
 
11
- from typing_extensions import Self
12
-
13
11
  from .io import open_file
14
12
  from .typing import (
15
13
  AsyncFunctionComponent,
@@ -26,6 +24,11 @@ from .typing import (
26
24
  )
27
25
  from .utils import join_components
28
26
 
27
+ if TYPE_CHECKING:
28
+ from typing_extensions import Self
29
+ else:
30
+ Self = Any
31
+
29
32
  # -- Utility components
30
33
 
31
34
 
@@ -240,7 +243,7 @@ class ContextAware:
240
243
  if isinstance(result, cls):
241
244
  return result
242
245
 
243
- raise TypeError("Incorrectly context data type.")
246
+ raise TypeError(f"Invalid context data type for {cls.__name__}.")
244
247
 
245
248
 
246
249
  # -- Function components
@@ -1,10 +1,13 @@
1
1
  from collections.abc import Callable
2
- from typing import Any, TypeAlias, TypedDict
3
-
4
- from typing_extensions import NotRequired
2
+ from typing import TYPE_CHECKING, Any, TypeAlias, TypedDict
5
3
 
6
4
  from htmy.typing import Component
7
5
 
6
+ if TYPE_CHECKING:
7
+ from typing_extensions import NotRequired
8
+ else:
9
+ from typing import Optional as NotRequired
10
+
8
11
  MarkdownMetadataDict: TypeAlias = dict[str, Any]
9
12
 
10
13
 
@@ -1,4 +1,4 @@
1
- from collections.abc import Callable, Coroutine, Mapping
1
+ from collections.abc import Callable, Coroutine, Mapping, MutableMapping
2
2
  from typing import Any, Protocol, TypeAlias, TypeGuard, TypeVar, runtime_checkable
3
3
 
4
4
  T = TypeVar("T")
@@ -23,6 +23,14 @@ ContextValue: TypeAlias = Any
23
23
  Context: TypeAlias = Mapping[ContextKey, ContextValue]
24
24
  """Context mapping."""
25
25
 
26
+ MutableContext: TypeAlias = MutableMapping[ContextKey, ContextValue]
27
+ """
28
+ Mutable context mapping.
29
+
30
+ It can be helpful when the created context should be marked as mutable for static type analysis
31
+ (usually the created context is a plain `dict`).
32
+ """
33
+
26
34
  # -- Components
27
35
 
28
36
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "htmy"
3
- version = "0.3.2"
3
+ version = "0.3.3"
4
4
  description = "Async, pure-Python rendering engine."
5
5
  authors = ["Peter Volf <do.volfp@gmail.com>"]
6
6
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes