sonolus.py 0.10.7__py3-none-any.whl → 0.12.5__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.

Potentially problematic release.


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

sonolus/script/vec.py CHANGED
@@ -4,7 +4,7 @@ from math import pi
4
4
 
5
5
  from sonolus.script.array import Array
6
6
  from sonolus.script.array_like import ArrayLike
7
- from sonolus.script.debug import assert_true
7
+ from sonolus.script.debug import assert_false
8
8
  from sonolus.script.internal.impl import perf_meta_fn
9
9
  from sonolus.script.internal.math_impls import _atan2, _cos, _sin
10
10
  from sonolus.script.num import Num
@@ -135,7 +135,7 @@ class Vec2(Record):
135
135
  Returns:
136
136
  A new vector rotated by the given angle.
137
137
  """
138
- return Vec2._quick_construct(
138
+ return Vec2._unchecked(
139
139
  x=self.x * cos(angle) - self.y * sin(angle),
140
140
  y=self.x * sin(angle) + self.y * cos(angle),
141
141
  )
@@ -157,12 +157,25 @@ class Vec2(Record):
157
157
  def normalize(self) -> Vec2:
158
158
  """Normalize the vector (set the magnitude to 1) and return a new vector.
159
159
 
160
+ If the vector is a zero vector, an assertion error is raised if runtime checks are enabled.
161
+
160
162
  Returns:
161
163
  A new vector with magnitude 1.
162
164
  """
163
- magnitude = (self.x**2 + self.y**2) ** 0.5
164
- assert_true(magnitude != 0, "Cannot normalize a zero vector")
165
- return Vec2._quick_construct(x=self.x / magnitude, y=self.y / magnitude)
165
+ assert_false((self.x == 0) * (self.y == 0), "Cannot normalize a zero vector")
166
+ return self.normalize_or_zero()
167
+
168
+ @perf_meta_fn
169
+ def normalize_or_zero(self) -> Vec2:
170
+ """Normalize the vector (set the magnitude to 1) and return a new vector.
171
+
172
+ If the vector is a zero vector, return a zero vector.
173
+
174
+ Returns:
175
+ A new vector with magnitude 1, or a zero vector if the original vector is zero.
176
+ """
177
+ magnitude = (self.x**2 + self.y**2) ** 0.5 + (self.x == 0) * (self.y == 0) # prevent division by zero
178
+ return Vec2._unchecked(x=self.x / magnitude, y=self.y / magnitude)
166
179
 
167
180
  @perf_meta_fn
168
181
  def orthogonal(self) -> Vec2:
@@ -173,7 +186,7 @@ class Vec2(Record):
173
186
  Returns:
174
187
  A new vector orthogonal to this vector.
175
188
  """
176
- return Vec2._quick_construct(x=-self.y, y=self.x)
189
+ return Vec2._unchecked(x=-self.y, y=self.x)
177
190
 
178
191
  @property
179
192
  def tuple(self) -> tuple[float, float]:
@@ -194,7 +207,7 @@ class Vec2(Record):
194
207
  Returns:
195
208
  A new vector resulting from the addition.
196
209
  """
197
- return Vec2._quick_construct(x=self.x + other.x, y=self.y + other.y)
210
+ return Vec2._unchecked(x=self.x + other.x, y=self.y + other.y)
198
211
 
199
212
  @perf_meta_fn
200
213
  def __sub__(self, other: Vec2) -> Vec2:
@@ -206,7 +219,7 @@ class Vec2(Record):
206
219
  Returns:
207
220
  A new vector resulting from the subtraction.
208
221
  """
209
- return Vec2._quick_construct(x=self.x - other.x, y=self.y - other.y)
222
+ return Vec2._unchecked(x=self.x - other.x, y=self.y - other.y)
210
223
 
211
224
  @perf_meta_fn
212
225
  def __mul__(self, other: Vec2 | float) -> Vec2:
@@ -220,9 +233,9 @@ class Vec2(Record):
220
233
  """
221
234
  match other:
222
235
  case Vec2(x, y):
223
- return Vec2._quick_construct(x=self.x * x, y=self.y * y)
236
+ return Vec2._unchecked(x=self.x * x, y=self.y * y)
224
237
  case Num(factor):
225
- return Vec2._quick_construct(x=self.x * factor, y=self.y * factor)
238
+ return Vec2._unchecked(x=self.x * factor, y=self.y * factor)
226
239
  case _:
227
240
  return NotImplemented
228
241
 
@@ -230,7 +243,7 @@ class Vec2(Record):
230
243
  def __rmul__(self, other):
231
244
  match other:
232
245
  case Num(factor):
233
- return Vec2._quick_construct(x=self.x * factor, y=self.y * factor)
246
+ return Vec2._unchecked(x=self.x * factor, y=self.y * factor)
234
247
  case _:
235
248
  return NotImplemented
236
249
 
@@ -246,9 +259,9 @@ class Vec2(Record):
246
259
  """
247
260
  match other:
248
261
  case Vec2(x, y):
249
- return Vec2._quick_construct(x=self.x / x, y=self.y / y)
262
+ return Vec2._unchecked(x=self.x / x, y=self.y / y)
250
263
  case Num(factor):
251
- return Vec2._quick_construct(x=self.x / factor, y=self.y / factor)
264
+ return Vec2._unchecked(x=self.x / factor, y=self.y / factor)
252
265
  case _:
253
266
  return NotImplemented
254
267
 
@@ -259,7 +272,7 @@ class Vec2(Record):
259
272
  Returns:
260
273
  A new vector with inverted direction.
261
274
  """
262
- return Vec2._quick_construct(x=-self.x, y=-self.y)
275
+ return Vec2._unchecked(x=-self.x, y=-self.y)
263
276
 
264
277
 
265
278
  def pnpoly(vertices: ArrayLike[Vec2] | tuple[Vec2, ...], test: Vec2) -> bool:
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sonolus.py
3
- Version: 0.10.7
3
+ Version: 0.12.5
4
4
  Summary: Sonolus engine development in Python
5
5
  Project-URL: Documentation, https://sonolus.py.qwewqa.xyz/
6
6
  Project-URL: Repository, https://github.com/qwewqa/sonolus.py
7
7
  Project-URL: Issues, https://github.com/qwewqa/sonolus.py/issues
8
8
  Project-URL: Changelog, https://sonolus.py.qwewqa.xyz/changelog/
9
9
  License-File: LICENSE
10
- Requires-Python: >=3.12
10
+ Requires-Python: >=3.12.5
11
11
  Description-Content-Type: text/markdown
12
12
 
13
13
  # Sonolus.py
@@ -3,15 +3,15 @@ sonolus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  sonolus/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  sonolus/backend/blocks.py,sha256=3peyb9eYBy0s53xNVJ1KmK4IgoyVkkwG-lqDQ_VZTHc,18531
5
5
  sonolus/backend/excepthook.py,sha256=ezsTi8hPXSUhqZ7-H0rmkWcndBQcZFAShF543zzaEPM,1912
6
- sonolus/backend/finalize.py,sha256=ivl32G7rDSVZl2EEI1HvOHpLdhhOh-ZjavwBZgPe9uA,5286
7
- sonolus/backend/interpret.py,sha256=B0jqlLmEGoyO2mxpcvwRwV17Tq_gOE9wLNt26Q5QOfs,14306
6
+ sonolus/backend/finalize.py,sha256=MRp_ATPreSmBGn8N6iwesS50rFWH9FIiQI6_Ea8RVTM,5090
7
+ sonolus/backend/interpret.py,sha256=dnm0SJFfI4KIE6Ca2tKrLq10XwBC9EPSqN7OOYtA8Ws,14304
8
8
  sonolus/backend/ir.py,sha256=eyNXorOQY4zgKOvN4kO1MdJF3sU8H0Qw5RTPqbEjJHY,3854
9
9
  sonolus/backend/mode.py,sha256=NkcPZJm8dn83LX35uP24MtQOCnfRDFZ280dHeEEfauE,613
10
- sonolus/backend/node.py,sha256=eEzPP14jzWJp2xrZCAaPlNtokxdoqg0bSM7xQiwx1j8,1254
10
+ sonolus/backend/node.py,sha256=w5y2GwSc2E9rQvGJNaMzvPW_FYjjfHw4QDUmKs1dAnc,714
11
11
  sonolus/backend/ops.py,sha256=5weB_vIxbkwCSJuzYZyKUk7vVXsSIEDJYRlvE-2ke8A,10572
12
12
  sonolus/backend/place.py,sha256=7qwV732hZ4WP-9GNN8FQSEKssPJZELip1wLXTWfop7Y,4717
13
13
  sonolus/backend/utils.py,sha256=OwD1EPh8j-hsfkLzeKNzPQojT_3kklpJou0WTJNoCbc,2337
14
- sonolus/backend/visitor.py,sha256=PxxIvhP3AzGS3hZMulaF5CO2aswiBMyZc_Hwo040hTk,64421
14
+ sonolus/backend/visitor.py,sha256=0EO5EgACDHpbITvKMbdP4EmoIbBDmZtZjnup9jksf_E,64590
15
15
  sonolus/backend/optimize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  sonolus/backend/optimize/allocate.py,sha256=CuumoMphkpQlGRNeKLHT4FBGE0XVj5pwhfNdrqiLFSs,7535
17
17
  sonolus/backend/optimize/constant_evaluation.py,sha256=_u_VfLmd4Rlq9aKyRSeKb47352CXuf8uNgNhNTK1qe0,21510
@@ -20,33 +20,33 @@ sonolus/backend/optimize/dead_code.py,sha256=ZRJ95zJ49R-wZTzJtcSSbl5LYKHWI-byHM3
20
20
  sonolus/backend/optimize/dominance.py,sha256=3jAgXqXTbuYLpXvIm8UB06NkIOLtaoVp7pBVPcLb5vY,3259
21
21
  sonolus/backend/optimize/flow.py,sha256=xUoBpWIYi-NjqXahA6obAZaPvLj_HaDNNv7cO13e2ps,7192
22
22
  sonolus/backend/optimize/inlining.py,sha256=BEXjPbJMGTJbgA4ydC38TbEuYEFqb6oxDS0roZTmuds,10417
23
- sonolus/backend/optimize/liveness.py,sha256=KYQlXdKuwnRvY9JeAjwm1bzPbFwshcUxtYs7ycMRS-M,7279
23
+ sonolus/backend/optimize/liveness.py,sha256=cj0oUrqItVjj58ZQq86nRBO5k0fuTxbmWkvrSv3H-pY,7420
24
24
  sonolus/backend/optimize/optimize.py,sha256=2gW0n1AIlwgVjY6teQlt9YP-GsFUxU-mr1ZqAZamnUo,1672
25
25
  sonolus/backend/optimize/passes.py,sha256=YyFKy6qCwcR_Ua2_SXpcBODfvBbm_ygVYcqloOlfDZI,1911
26
26
  sonolus/backend/optimize/simplify.py,sha256=wvhixe0SfditrGMh0nX0Wt0JR00JqAmz4BKBzMoBAVI,14701
27
27
  sonolus/backend/optimize/ssa.py,sha256=raQO0furQQRPYb8iIBKfNrJlj-_5wqtI4EWNfLZ8QFo,10834
28
28
  sonolus/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- sonolus/build/cli.py,sha256=t6oK0SGU6fkxXVbGu6OuRIHDKD6u4SqXAShdPtatZ-8,10060
29
+ sonolus/build/cli.py,sha256=kjLyKkO0OAZbK-7yg6AWz6uwYo_i7GGGQg8Kr7wcmAA,10830
30
30
  sonolus/build/collection.py,sha256=6hniAzriPWBKUeGDkXabNXpbdHiHnqiK9shs6U1OExM,12748
31
- sonolus/build/compile.py,sha256=KOmncDKmGfgzC_FWB_LTxAl0s9w4wnaDe-luACMlCVs,8397
32
- sonolus/build/dev_server.py,sha256=xe6C2_dpODk51inL02F3xFMjDueCSay7-XzkR56lapY,10560
31
+ sonolus/build/compile.py,sha256=m4v4wYWnI6ebot4-fJi9a7eoF0WIo3uPOPy0_NpLgK0,8855
32
+ sonolus/build/dev_server.py,sha256=l0Ld8cJIMRS3Y_RWKVGUAqlBg2p2hevClenV9E9SBFg,10896
33
33
  sonolus/build/engine.py,sha256=jMymxbBXu-ekv71uU8TF2KbFaHs3yGjyJAztd1SoRDs,14808
34
34
  sonolus/build/level.py,sha256=KLqUAtxIuIqrzeFURJA97rdqjA5pcvYSmwNZQhElaMQ,702
35
- sonolus/build/node.py,sha256=gnX71RYDUOK_gYMpinQi-bLWO4csqcfiG5gFmhxzSec,1330
35
+ sonolus/build/node.py,sha256=Dhuz_-UlRd-EJC7-AP1NuyvrjHWNo7jGssniRh4dZhI,1239
36
36
  sonolus/build/project.py,sha256=Uuz82QtTNFdklrVJ_i7EPp8hSjyOxLU1xAeOloa6G00,8579
37
37
  sonolus/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- sonolus/script/archetype.py,sha256=ck_LR8z0ipVq3T9b735VwvQI2mxVUyjHylr4BFagXT8,49631
38
+ sonolus/script/archetype.py,sha256=m1FSzrJ6J1_Evw-afGTVEJ7PkzfLNnn0-s82XnBki0I,56042
39
39
  sonolus/script/array.py,sha256=EbrNwl_WuJ0JjjkX0s_VJNXWqvYdm_ljTbyrDEMLGUY,13348
40
40
  sonolus/script/array_like.py,sha256=E6S4TW2muXgcyVkhUASQVt7JSYUkpvdJPgHz6YiSHNo,14708
41
- sonolus/script/bucket.py,sha256=yIod3DgX7Hv7RLe-4Cn81FcydvbkbdMt26FzpRj7oUI,7794
42
- sonolus/script/containers.py,sha256=SnLXflwlX47EMQmTWnSzm9NYCi-as8lWnKzgCIK0PmM,26940
43
- sonolus/script/debug.py,sha256=yYg6EZt3NUOUeph1pu_5cA_2lxs8SZ91v76eOC1Sw-8,7747
41
+ sonolus/script/bucket.py,sha256=LNePLmCwgXfKLmH4Z7ZcTFKWR32eq4AnnagI7jacrsU,7782
42
+ sonolus/script/containers.py,sha256=KKySXTh_ON9hut1ScMS31ewRNnVd4t7OwpIZg2bPhno,28676
43
+ sonolus/script/debug.py,sha256=FRKNwigMh8tzZ_OC6chGNYYQGoYImNvky0FTDeLziAI,8289
44
44
  sonolus/script/easing.py,sha256=2FUJI_nfp990P_armCcRqHm2329O985glJAhSC6tnxs,11379
45
45
  sonolus/script/effect.py,sha256=SfJxSNF3RlPCRXnkt62ZlWhCXw3mmmRCsoMsvTErUP0,7960
46
- sonolus/script/engine.py,sha256=etI9dJsQ7V9YZICVNZg54WqpLijPxG8eTPHiV-_EiG8,10687
46
+ sonolus/script/engine.py,sha256=0pSzgSUX8CLXb6l-8kNlHWclj2_NSfn1ddq2vo3ZY2E,12234
47
47
  sonolus/script/globals.py,sha256=nlXSNS4NRXsgQU2AJImVIs752h1WqsMnShSKgU011c4,10270
48
48
  sonolus/script/instruction.py,sha256=Dd-14D5Amo8nhPBr6DNyg2lpYw_rqZkT8Kix3HkfE7k,6793
49
- sonolus/script/interval.py,sha256=vnwm3CiB0rurRolA53wRzb_jTPguvOKnie4glE1MwsE,11986
49
+ sonolus/script/interval.py,sha256=-1pnvRmkeBFL4qUvAKzza6h29Hce2oD2GNSUKhoP4QQ,11956
50
50
  sonolus/script/iterator.py,sha256=_ICY_yX7FG0Zbgs3NhVnaIBdVDpAeXjxJ_CQtq30l7Y,3774
51
51
  sonolus/script/level.py,sha256=X3-V99ihruYYCcPdch66dHi_ydCWXXn7epviLLjxW8w,8288
52
52
  sonolus/script/maybe.py,sha256=VYvTWgEfPzoXqI3i3zXhc4dz0pWBVoHmW8FtWH0GQvM,8194
@@ -56,39 +56,39 @@ sonolus/script/options.py,sha256=05y_4j2kr8fzct5FLqmSp5ZAjnq6-slmNgtsh4fVEpg,945
56
56
  sonolus/script/particle.py,sha256=3HbxehuW7Fdri3s8NenGxiwxVU7tVDH8SQ4VyCc0wMk,10498
57
57
  sonolus/script/pointer.py,sha256=FoOfyD93r0G5d_2BaKfeOT9SqkOP3hq6sqtOs_Rb0c8,1511
58
58
  sonolus/script/printing.py,sha256=mNYu9QWiacBBGZrnePZQMVwbbguoelUps9GiOK_aVRU,2096
59
- sonolus/script/project.py,sha256=YouKKm6Z9PpwbO9aSA2syZqFv_j1DShVGlENUT565Js,4831
59
+ sonolus/script/project.py,sha256=hAt2YLfpOPDSphnZDA0QmZbRCY4y5guuUYoj-HHQaFw,4858
60
60
  sonolus/script/quad.py,sha256=8lZ_5-eWeqePldNGBkNZTuOgS_IRb41URgGwSW4h2T0,14445
61
- sonolus/script/record.py,sha256=BrQ8k-O4WX9FT_EfoRmNnKC1BZM9gWydZ4R4swh3chc,13051
62
- sonolus/script/runtime.py,sha256=TjxcfIIPRH6oxlEjWfLHDj1oo7fPfwTBdwETfnhN7h4,33331
61
+ sonolus/script/record.py,sha256=1YiGvX58gC07jsF8GIHDIZCE5kxQ92D8cwEinjBvxDk,13780
62
+ sonolus/script/runtime.py,sha256=IFNHmExpavyXy5Y_X1pfvulsM-VzdcI9domvuj9sunM,33325
63
63
  sonolus/script/sprite.py,sha256=KhQNnq0wKm1tDMQTrlZIr0mL0jPCfojTORzsCK5qO1o,18448
64
- sonolus/script/stream.py,sha256=Yot99RLKqJN1XK3x5s_qeV-50qEtuG2U6zbEPWLyvW8,24879
64
+ sonolus/script/stream.py,sha256=RoL6ntK7DCiLKb8Tw8lvtLJDZqHS525fS0NgWwQGlGU,25104
65
65
  sonolus/script/text.py,sha256=wxujIgKYcCfl2AD2_Im8g3vh0lDEHYwTSRZg9wsBPEU,13402
66
66
  sonolus/script/timing.py,sha256=DklMvuxcFg3MzXsecUo6Yhdk7pScOJ7STwXvAiTvLKM,3067
67
- sonolus/script/transform.py,sha256=4aS7-NNzX0v9KMXZ4gIGOaU1Cd-ok7DO_OvIBca0mGU,21418
67
+ sonolus/script/transform.py,sha256=CnSQWTZxHve5CklH6VGM9CB9fJibdh0FNgJdDCsMABk,21419
68
68
  sonolus/script/ui.py,sha256=DYPGWIjHj1IFPxW1zaEuIUQx0b32FJPXtiwCvrtJ6oo,7528
69
- sonolus/script/values.py,sha256=6iJG6h4IDlbcK8FH4GENSHOQc7C_7fCGa34wM80qToA,1629
70
- sonolus/script/vec.py,sha256=LueAHrx5pKouHvLaO1nMbl5Plh3UgPn8J7UdJPHWFCM,8840
69
+ sonolus/script/values.py,sha256=dfsXfwdc_Apwka8MNDu6Gy497iduPpU3OpZYqV4tehQ,1513
70
+ sonolus/script/vec.py,sha256=f7keqogIQiRpuQ0dULOFCxFlmvkykoFZMFwYw9P39Kk,9319
71
71
  sonolus/script/internal/__init__.py,sha256=T6rzLoiOUaiSQtaHMZ88SNO-ijSjSSv33TKtUwu-Ms8,136
72
- sonolus/script/internal/builtin_impls.py,sha256=b4gt54JyFoM9mhtxrhfCR8w2u38h4sJ3bzdOB0usNEs,13445
72
+ sonolus/script/internal/builtin_impls.py,sha256=nAMHdKVSkDG_MlLk1lFgiFq66pv8RQaI_UpYOfss5ik,16674
73
73
  sonolus/script/internal/callbacks.py,sha256=vWzJG8uiJoEtsNnbeZPqOHogCwoLpz2D1MnHY2wVV8s,2801
74
74
  sonolus/script/internal/constant.py,sha256=3ycbGkDJVUwcrCZ96vLjAoAARgsvaqDM8rJ_YCrLrvo,4289
75
- sonolus/script/internal/context.py,sha256=56pPjiPy8ZaxY3t5iEufsOMEj6BSy31G-5SoYqS6tPo,19694
75
+ sonolus/script/internal/context.py,sha256=dhWQS7fFPMhb0FJyw3y--0HlBtwuYANdIYiv7u_96jk,22023
76
76
  sonolus/script/internal/descriptor.py,sha256=XRFey-EjiAm_--KsNl-8N0Mi_iyQwlPh68gDp0pKf3E,392
77
77
  sonolus/script/internal/dict_impl.py,sha256=alu_wKGSk1kZajNf64qbe7t71shEzD4N5xNIATH8Swo,1885
78
78
  sonolus/script/internal/error.py,sha256=ZNnsvQVQAnFKzcvsm6-sste2lo-tP5pPI8sD7XlAZWc,490
79
- sonolus/script/internal/generic.py,sha256=_3d5Rn_tn214-77fPE67vdbdqt1PQF8-2WB_XDu5YRg,7551
80
- sonolus/script/internal/impl.py,sha256=U9D8A207yBbA-R9Qa9xE9zK4f0uDvGbHuFhwaIO81Ew,3364
81
- sonolus/script/internal/introspection.py,sha256=guL9_NR2D3OJAnNpeFdyYkO_vVXk-3KQr2-y4YielM0,1133
79
+ sonolus/script/internal/generic.py,sha256=37bwcKR5xMFQnSy6fzoS8UKkwbE8Rx7tzBuC4p9T2GM,8931
80
+ sonolus/script/internal/impl.py,sha256=Yp4cyIRy_KWvW2VJbiLKejcQbDBoJZ7jzgEoC92lUCA,3715
81
+ sonolus/script/internal/introspection.py,sha256=OP1eCtchdw_nBjUhVBaO2tDj9-stjhwnAvHZpoHCxFk,1508
82
82
  sonolus/script/internal/math_impls.py,sha256=ox2pBJ6ELRO0LdLn_RZxgHHs_PCgQOHIhmDkwmLxJaU,2975
83
83
  sonolus/script/internal/native.py,sha256=zOuRtgI3XJ_ExyR_ZkvbDABVc_JIWaKl62lFEL_bMaw,2007
84
84
  sonolus/script/internal/random.py,sha256=6Ku5edRcDUh7rtqEEYCJz0BQavw69RALsVHS25z50pI,1695
85
85
  sonolus/script/internal/range.py,sha256=j94uV1NTZoCdZ8mOw3v51vD8L7h8l5vZpOAp6breD9I,3521
86
86
  sonolus/script/internal/simulation_context.py,sha256=LGxLTvxbqBIhoe1R-SfwGajNIDwIJMVsHle0kvzd500,4818
87
87
  sonolus/script/internal/transient.py,sha256=y2AWABqF1aoaP6H4_2u4MMpNioC4OsZQCtPyNI0txqo,1634
88
- sonolus/script/internal/tuple_impl.py,sha256=DPNdmmRmupU8Ah4_XKq6-PdT336l4nt15_uCJKQGkkk,3587
88
+ sonolus/script/internal/tuple_impl.py,sha256=WaI5HSF5h03ddXiSHEwzY9ttfsPUItaf86Y5VbZypek,3754
89
89
  sonolus/script/internal/value.py,sha256=OngrCdmY_h6mV2Zgwqhuo4eYFad0kTk6263UAxctZcY,6963
90
- sonolus_py-0.10.7.dist-info/METADATA,sha256=sXdmgTuEdNIRF2McqWR7H1c_l-uolUuow8Nt3-ZhYpY,554
91
- sonolus_py-0.10.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
- sonolus_py-0.10.7.dist-info/entry_points.txt,sha256=oTYspY_b7SA8TptEMTDxh4-Aj-ZVPnYC9f1lqH6s9G4,54
93
- sonolus_py-0.10.7.dist-info/licenses/LICENSE,sha256=JEKpqVhQYfEc7zg3Mj462sKbKYmO1K7WmvX1qvg9IJk,1067
94
- sonolus_py-0.10.7.dist-info/RECORD,,
90
+ sonolus_py-0.12.5.dist-info/METADATA,sha256=jvZNhekacnG-TeRXmA4mjV1fewfG0bsNyHGIhRoZLQw,556
91
+ sonolus_py-0.12.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
+ sonolus_py-0.12.5.dist-info/entry_points.txt,sha256=oTYspY_b7SA8TptEMTDxh4-Aj-ZVPnYC9f1lqH6s9G4,54
93
+ sonolus_py-0.12.5.dist-info/licenses/LICENSE,sha256=JEKpqVhQYfEc7zg3Mj462sKbKYmO1K7WmvX1qvg9IJk,1067
94
+ sonolus_py-0.12.5.dist-info/RECORD,,