foamlib 0.8.9__py3-none-any.whl → 0.8.11__py3-none-any.whl

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.
foamlib/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """A Python interface for interacting with OpenFOAM."""
2
2
 
3
- __version__ = "0.8.9"
3
+ __version__ = "0.8.11"
4
4
 
5
5
  from ._cases import (
6
6
  AsyncFoamCase,
@@ -115,6 +115,10 @@ def _tensor_list(
115
115
  rf"\((?:{ignore_pattern})?(?:{tensor.re.pattern}{ignore_pattern})*{tensor.re.pattern}(?:{ignore_pattern})?\)"
116
116
  ).add_parse_action(
117
117
  lambda tks: [_parse_ascii_field(tks[0], tensor_kind, ignore=ignore)]
118
+ ) | (
119
+ (Literal("(") + Literal(")"))
120
+ .suppress()
121
+ .add_parse_action(lambda: np.array([]).reshape(0, *tensor_kind.shape))
118
122
  )
119
123
 
120
124
  def count_parse_action(tks: ParseResults) -> None:
@@ -122,6 +126,14 @@ def _tensor_list(
122
126
  length = tks[0]
123
127
  assert isinstance(length, int)
124
128
 
129
+ if not length:
130
+ list_ <<= (
131
+ ((Literal("(") + Literal(")")) | (Literal("{") + Literal("}")))
132
+ .suppress()
133
+ .add_parse_action(lambda: np.array([]).reshape(0, *tensor_kind.shape))
134
+ )
135
+ return
136
+
125
137
  list_ <<= (
126
138
  Regex(
127
139
  rf"\((?:{ignore_pattern})?(?:{tensor.re.pattern}{ignore_pattern}){{{length - 1}}}{tensor.re.pattern}(?:{ignore_pattern})?\)"
@@ -129,7 +141,7 @@ def _tensor_list(
129
141
  lambda tks: [_parse_ascii_field(tks[0], tensor_kind, ignore=ignore)]
130
142
  )
131
143
  | Regex(
132
- rf"\((?s:.{{{length * tensor_kind.size * 8}}}|.{{{length * tensor_kind.size * 4}}})\)"
144
+ rf"\((?s:({'.' * 8 * tensor_kind.size}|{'.' * 4 * tensor_kind.size}){{{length}}})\)"
133
145
  ).add_parse_action(
134
146
  lambda tks: [
135
147
  _unpack_binary_field(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: foamlib
3
- Version: 0.8.9
3
+ Version: 0.8.11
4
4
  Summary: A Python interface for interacting with OpenFOAM
5
5
  Project-URL: Homepage, https://github.com/gerlero/foamlib
6
6
  Project-URL: Repository, https://github.com/gerlero/foamlib
@@ -30,35 +30,10 @@ Requires-Dist: numpy<3,>=1
30
30
  Requires-Dist: pyparsing<4,>=3.1.2
31
31
  Requires-Dist: rich<15,>=13
32
32
  Requires-Dist: typing-extensions<5,>=4; python_version < '3.11'
33
- Provides-Extra: dev
34
- Requires-Dist: mypy<2,>=1; extra == 'dev'
35
- Requires-Dist: pytest-asyncio<0.27,>=0.21; extra == 'dev'
36
- Requires-Dist: pytest-cov; extra == 'dev'
37
- Requires-Dist: pytest<9,>=7; extra == 'dev'
38
- Requires-Dist: ruff; extra == 'dev'
39
- Requires-Dist: scipy-stubs; (python_version >= '3.10') and extra == 'dev'
40
- Requires-Dist: scipy<2,>=1; extra == 'dev'
41
- Requires-Dist: sphinx-rtd-theme; extra == 'dev'
42
- Requires-Dist: sphinx<9,>=5; extra == 'dev'
43
33
  Provides-Extra: docs
44
34
  Requires-Dist: ruff; extra == 'docs'
45
35
  Requires-Dist: sphinx-rtd-theme; extra == 'docs'
46
36
  Requires-Dist: sphinx<9,>=5; extra == 'docs'
47
- Provides-Extra: lint
48
- Requires-Dist: ruff; extra == 'lint'
49
- Provides-Extra: test
50
- Requires-Dist: mypy<2,>=1; extra == 'test'
51
- Requires-Dist: pytest-asyncio<0.27,>=0.21; extra == 'test'
52
- Requires-Dist: pytest-cov; extra == 'test'
53
- Requires-Dist: pytest<9,>=7; extra == 'test'
54
- Requires-Dist: scipy<2,>=1; extra == 'test'
55
- Provides-Extra: typing
56
- Requires-Dist: mypy<2,>=1; extra == 'typing'
57
- Requires-Dist: pytest-asyncio<0.27,>=0.21; extra == 'typing'
58
- Requires-Dist: pytest-cov; extra == 'typing'
59
- Requires-Dist: pytest<9,>=7; extra == 'typing'
60
- Requires-Dist: scipy-stubs; (python_version >= '3.10') and extra == 'typing'
61
- Requires-Dist: scipy<2,>=1; extra == 'typing'
62
37
  Description-Content-Type: text/markdown
63
38
 
64
39
  [<img alt="foamlib" src="https://github.com/gerlero/foamlib/raw/main/logo.png" height="65">](https://github.com/gerlero/foamlib)
@@ -1,4 +1,4 @@
1
- foamlib/__init__.py,sha256=UPZX4CKrZGbzDVviSntbJjI7Bcv7ufYZWlGZbVVlHyQ,452
1
+ foamlib/__init__.py,sha256=xlrhVvXcBOo_DZcH-CRydXubCOSnMevKoopDBA6S5XQ,453
2
2
  foamlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  foamlib/_cases/__init__.py,sha256=_A1TTHuQfS9FH2_33lSEyLtOJZGFHZBco1tWJCVOHks,358
4
4
  foamlib/_cases/_async.py,sha256=e4lGTcQBbFGwfG6SmJks5aa5LWd_0dy01kgKZWAgTGQ,11655
@@ -11,10 +11,10 @@ foamlib/_cases/_util.py,sha256=QCizfbuJdOCeF9ogU2R-y-iWX5kfaOA4U2W68t6QlOM,2544
11
11
  foamlib/_files/__init__.py,sha256=q1vkjXnjnSZvo45jPAICpWeF2LZv5V6xfzAR6S8fS5A,96
12
12
  foamlib/_files/_files.py,sha256=gSJQjvB1f7N2yJtCTx9kpivKqSSNjDj37qNMpned5CM,19505
13
13
  foamlib/_files/_io.py,sha256=BGbbm6HKxL2ka0YMCmHqZQZ1R4PPQlkvWWb4FHMAS8k,2217
14
- foamlib/_files/_parsing.py,sha256=IB6c9mc0AM_z_Gh7K82Z1ANseGaNwmzUo8AYv3pxEBw,14111
14
+ foamlib/_files/_parsing.py,sha256=FwLcK09bU5utrMcFQ3MYfxYemJ_Y9e47SJeTMc9KMGY,14532
15
15
  foamlib/_files/_serialization.py,sha256=QJ-F6BKizVe0gpjnpIfPxNGTqWwalY4PQtCKdDY9D70,5502
16
16
  foamlib/_files/_types.py,sha256=PDhFW5hUzcoQsLx7M0Va1oaYV6km02jFgrvKJof0JKQ,3750
17
- foamlib-0.8.9.dist-info/METADATA,sha256=zkGORMaEmCITWARJJOI-HxsAZGeXknnzKOMqA6ixa-c,14014
18
- foamlib-0.8.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
19
- foamlib-0.8.9.dist-info/licenses/LICENSE.txt,sha256=5Dte9TUnLZzPRs4NQzl-Jc2-Ljd-t_v0ZR5Ng5r0UsY,35131
20
- foamlib-0.8.9.dist-info/RECORD,,
17
+ foamlib-0.8.11.dist-info/METADATA,sha256=SiW-IKCibMoiEVvX9l1UZfFviUu1z8VdHQTjarzueX0,12907
18
+ foamlib-0.8.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
19
+ foamlib-0.8.11.dist-info/licenses/LICENSE.txt,sha256=5Dte9TUnLZzPRs4NQzl-Jc2-Ljd-t_v0ZR5Ng5r0UsY,35131
20
+ foamlib-0.8.11.dist-info/RECORD,,