levistone 0.6.1__cp312-cp312-win_amd64.whl → 0.6.2.dev58__cp312-cp312-win_amd64.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 levistone might be problematic. Click here for more details.
- endstone/_internal/bootstrap/base.py +5 -0
- endstone/_internal/bootstrap/linux.py +1 -0
- endstone/_internal/endstone_python.pyd +0 -0
- endstone/_internal/endstone_python.pyi +58 -1
- endstone/_internal/plugin_loader.py +5 -3
- endstone/_internal/version.py +2 -2
- endstone/command.py +8 -2
- endstone/event.py +4 -0
- endstone/plugin.py +1 -2
- endstone_runtime.dll +0 -0
- endstone_runtime.pdb +0 -0
- {levistone-0.6.1.dist-info → levistone-0.6.2.dev58.dist-info}/METADATA +10 -2
- {levistone-0.6.1.dist-info → levistone-0.6.2.dev58.dist-info}/RECORD +17 -17
- {levistone-0.6.1.dist-info → levistone-0.6.2.dev58.dist-info}/WHEEL +1 -1
- manifest.json +1 -1
- {levistone-0.6.1.dist-info → levistone-0.6.2.dev58.dist-info}/entry_points.txt +0 -0
- {levistone-0.6.1.dist-info → levistone-0.6.2.dev58.dist-info}/top_level.txt +0 -0
|
@@ -3,6 +3,7 @@ import hashlib
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
5
|
import platform
|
|
6
|
+
import shutil
|
|
6
7
|
import subprocess
|
|
7
8
|
import sys
|
|
8
9
|
import tempfile
|
|
@@ -12,6 +13,7 @@ from typing import Union
|
|
|
12
13
|
|
|
13
14
|
import click
|
|
14
15
|
import requests
|
|
16
|
+
import sentry_crashpad
|
|
15
17
|
from packaging.version import Version
|
|
16
18
|
from rich.progress import BarColumn, DownloadColumn, Progress, TextColumn, TimeRemainingColumn
|
|
17
19
|
|
|
@@ -135,6 +137,9 @@ class Bootstrap:
|
|
|
135
137
|
|
|
136
138
|
def _prepare(self) -> None:
|
|
137
139
|
self.plugin_path.mkdir(parents=True, exist_ok=True)
|
|
140
|
+
shutil.copytree(
|
|
141
|
+
Path(sentry_crashpad._get_executable("crashpad_handler")).parent, self.server_path, dirs_exist_ok=True
|
|
142
|
+
)
|
|
138
143
|
|
|
139
144
|
def _install(self) -> None:
|
|
140
145
|
"""
|
|
@@ -27,6 +27,7 @@ class LinuxBootstrap(Bootstrap):
|
|
|
27
27
|
super()._prepare()
|
|
28
28
|
st = os.stat(self.executable_path)
|
|
29
29
|
os.chmod(self.executable_path, st.st_mode | stat.S_IEXEC)
|
|
30
|
+
os.chmod(self.server_path / "crashpad_handler", st.st_mode | stat.S_IEXEC)
|
|
30
31
|
|
|
31
32
|
def _create_process(self, *args, **kwargs) -> None:
|
|
32
33
|
env = os.environ.copy()
|
|
Binary file
|
|
@@ -4,7 +4,7 @@ import numpy
|
|
|
4
4
|
import os
|
|
5
5
|
import typing
|
|
6
6
|
import uuid
|
|
7
|
-
__all__ = ['ActionForm', 'Actor', 'ActorDamageEvent', 'ActorDeathEvent', 'ActorEvent', 'ActorExplodeEvent', 'ActorKnockbackEvent', 'ActorRemoveEvent', 'ActorSpawnEvent', 'ActorTeleportEvent', 'BanEntry', 'BarColor', 'BarFlag', 'BarStyle', 'Block', 'BlockBreakEvent', 'BlockData', 'BlockEvent', 'BlockFace', 'BlockPlaceEvent', 'BlockState', 'BossBar', 'BroadcastMessageEvent', 'Cancellable', 'Chunk', 'ColorFormat', 'Command', 'CommandExecutor', 'CommandSender', 'CommandSenderWrapper', 'ConsoleCommandSender', 'Criteria', 'DamageSource', 'Dimension', 'DisplaySlot', 'Dropdown', 'Event', 'EventPriority', 'GameMode', 'Inventory', 'IpBanEntry', 'IpBanList', 'ItemStack', 'Label', 'Language', 'Level', 'Location', 'Logger', 'MessageForm', 'Mob', 'MobEvent', 'ModalForm', 'Objective', 'ObjectiveSortOrder', 'OfflinePlayer', 'Packet', 'PacketType', 'Permissible', 'Permission', 'PermissionAttachment', 'PermissionAttachmentInfo', 'PermissionDefault', 'Player', 'PlayerBanEntry', 'PlayerBanList', 'PlayerChatEvent', 'PlayerCommandEvent', 'PlayerDeathEvent', 'PlayerEmoteEvent', 'PlayerEvent', 'PlayerGameModeChangeEvent', 'PlayerInteractActorEvent', 'PlayerInteractEvent', 'PlayerInventory', 'PlayerJoinEvent', 'PlayerKickEvent', 'PlayerLoginEvent', 'PlayerQuitEvent', 'PlayerRespawnEvent', 'PlayerTeleportEvent', 'Plugin', 'PluginCommand', 'PluginDescription', 'PluginDisableEvent', 'PluginEnableEvent', 'PluginLoadOrder', 'PluginLoader', 'PluginManager', 'Position', 'ProxiedCommandSender', 'RenderType', 'Scheduler', 'Score', 'Scoreboard', 'ScriptMessageEvent', 'Server', 'ServerCommandEvent', 'ServerEvent', 'ServerListPingEvent', 'ServerLoadEvent', 'Skin', 'Slider', 'SocketAddress', 'SpawnParticleEffectPacket', 'StepSlider', 'Task', 'TextInput', 'ThunderChangeEvent', 'Toggle', 'Translatable', 'Vector', 'WeatherChangeEvent', 'WeatherEvent']
|
|
7
|
+
__all__ = ['ActionForm', 'Actor', 'ActorDamageEvent', 'ActorDeathEvent', 'ActorEvent', 'ActorExplodeEvent', 'ActorKnockbackEvent', 'ActorRemoveEvent', 'ActorSpawnEvent', 'ActorTeleportEvent', 'BanEntry', 'BarColor', 'BarFlag', 'BarStyle', 'Block', 'BlockBreakEvent', 'BlockData', 'BlockEvent', 'BlockFace', 'BlockPlaceEvent', 'BlockState', 'BossBar', 'BroadcastMessageEvent', 'Cancellable', 'Chunk', 'ColorFormat', 'Command', 'CommandExecutor', 'CommandSender', 'CommandSenderWrapper', 'ConsoleCommandSender', 'Criteria', 'DamageSource', 'DataPacketReceiveEvent', 'DataPacketSendEvent', 'Dimension', 'DisplaySlot', 'Dropdown', 'Event', 'EventPriority', 'GameMode', 'Inventory', 'IpBanEntry', 'IpBanList', 'ItemStack', 'Label', 'Language', 'Level', 'Location', 'Logger', 'MessageForm', 'Mob', 'MobEvent', 'ModalForm', 'Objective', 'ObjectiveSortOrder', 'OfflinePlayer', 'Packet', 'PacketType', 'Permissible', 'Permission', 'PermissionAttachment', 'PermissionAttachmentInfo', 'PermissionDefault', 'Player', 'PlayerBanEntry', 'PlayerBanList', 'PlayerChatEvent', 'PlayerCommandEvent', 'PlayerDeathEvent', 'PlayerEmoteEvent', 'PlayerEvent', 'PlayerGameModeChangeEvent', 'PlayerInteractActorEvent', 'PlayerInteractEvent', 'PlayerInventory', 'PlayerJoinEvent', 'PlayerKickEvent', 'PlayerLoginEvent', 'PlayerQuitEvent', 'PlayerRespawnEvent', 'PlayerTeleportEvent', 'Plugin', 'PluginCommand', 'PluginDescription', 'PluginDisableEvent', 'PluginEnableEvent', 'PluginLoadOrder', 'PluginLoader', 'PluginManager', 'Position', 'ProxiedCommandSender', 'RenderType', 'Scheduler', 'Score', 'Scoreboard', 'ScriptMessageEvent', 'Server', 'ServerCommandEvent', 'ServerEvent', 'ServerListPingEvent', 'ServerLoadEvent', 'Skin', 'Slider', 'SocketAddress', 'SpawnParticleEffectPacket', 'StepSlider', 'Task', 'TextInput', 'ThunderChangeEvent', 'Toggle', 'Translatable', 'Vector', 'WeatherChangeEvent', 'WeatherEvent']
|
|
8
8
|
class ActionForm:
|
|
9
9
|
"""
|
|
10
10
|
Represents a form with buttons that let the player take action.
|
|
@@ -102,6 +102,10 @@ class Actor(CommandSender):
|
|
|
102
102
|
"""
|
|
103
103
|
Adds a tag to this actor.
|
|
104
104
|
"""
|
|
105
|
+
def remove(self) -> None:
|
|
106
|
+
"""
|
|
107
|
+
Remove this actor from the level.
|
|
108
|
+
"""
|
|
105
109
|
def remove_scoreboard_tag(self, tag: str) -> bool:
|
|
106
110
|
"""
|
|
107
111
|
Removes a given tag from this actor.
|
|
@@ -175,6 +179,11 @@ class Actor(CommandSender):
|
|
|
175
179
|
Returns true if the actor is supported by a block, i.e. on ground.
|
|
176
180
|
"""
|
|
177
181
|
@property
|
|
182
|
+
def is_valid(self) -> bool:
|
|
183
|
+
"""
|
|
184
|
+
Returns false if the entity has died, been despawned for some other reason, or has not been added to the level.
|
|
185
|
+
"""
|
|
186
|
+
@property
|
|
178
187
|
def level(self) -> Level:
|
|
179
188
|
"""
|
|
180
189
|
Gets the current Level this actor resides in.
|
|
@@ -1120,6 +1129,40 @@ class DamageSource:
|
|
|
1120
1129
|
"""
|
|
1121
1130
|
Get the damage type.
|
|
1122
1131
|
"""
|
|
1132
|
+
class DataPacketReceiveEvent(ServerEvent, Cancellable):
|
|
1133
|
+
"""
|
|
1134
|
+
Called when the server receives a packet from a connected client.
|
|
1135
|
+
"""
|
|
1136
|
+
@staticmethod
|
|
1137
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
1138
|
+
...
|
|
1139
|
+
@property
|
|
1140
|
+
def data(self) -> bytes:
|
|
1141
|
+
"""
|
|
1142
|
+
Gets the raw packet data
|
|
1143
|
+
"""
|
|
1144
|
+
@property
|
|
1145
|
+
def player(self) -> Player:
|
|
1146
|
+
"""
|
|
1147
|
+
Gets the player involved in this event
|
|
1148
|
+
"""
|
|
1149
|
+
class DataPacketSendEvent(ServerEvent, Cancellable):
|
|
1150
|
+
"""
|
|
1151
|
+
Called when the server sends a packet to a connected client.
|
|
1152
|
+
"""
|
|
1153
|
+
@staticmethod
|
|
1154
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
1155
|
+
...
|
|
1156
|
+
@property
|
|
1157
|
+
def data(self) -> bytes:
|
|
1158
|
+
"""
|
|
1159
|
+
Gets the raw packet data
|
|
1160
|
+
"""
|
|
1161
|
+
@property
|
|
1162
|
+
def player(self) -> Player:
|
|
1163
|
+
"""
|
|
1164
|
+
Gets the player involved in this event
|
|
1165
|
+
"""
|
|
1123
1166
|
class Dimension:
|
|
1124
1167
|
"""
|
|
1125
1168
|
Represents a dimension within a Level.
|
|
@@ -1179,6 +1222,20 @@ class Dimension:
|
|
|
1179
1222
|
"""
|
|
1180
1223
|
Gets the Block at the given coordinates
|
|
1181
1224
|
"""
|
|
1225
|
+
@typing.overload
|
|
1226
|
+
def get_highest_block_at(self, location: Location) -> Block:
|
|
1227
|
+
"""
|
|
1228
|
+
Gets the highest non-empty (impassable) block at the given Location.
|
|
1229
|
+
"""
|
|
1230
|
+
@typing.overload
|
|
1231
|
+
def get_highest_block_at(self, x: int, z: int) -> Block:
|
|
1232
|
+
"""
|
|
1233
|
+
Gets the highest non-empty (impassable) block at the given coordinates.
|
|
1234
|
+
"""
|
|
1235
|
+
def get_highest_block_y_at(self, x: int, z: int) -> int:
|
|
1236
|
+
"""
|
|
1237
|
+
Gets the highest non-empty (impassable) coordinate at the given coordinates.
|
|
1238
|
+
"""
|
|
1182
1239
|
@property
|
|
1183
1240
|
def level(self) -> Level:
|
|
1184
1241
|
"""
|
|
@@ -8,6 +8,7 @@ import shutil
|
|
|
8
8
|
import site
|
|
9
9
|
import subprocess
|
|
10
10
|
import sys
|
|
11
|
+
import traceback
|
|
11
12
|
import warnings
|
|
12
13
|
|
|
13
14
|
import pkginfo
|
|
@@ -164,7 +165,7 @@ class PythonPluginLoader(PluginLoader):
|
|
|
164
165
|
f"please change the distribution name from '{ep.dist.name}' to '{dist_name}'."
|
|
165
166
|
)
|
|
166
167
|
self.server.logger.error(
|
|
167
|
-
f"* If not,
|
|
168
|
+
f"* If not, please change the entry point name from '{ep.name}' to '{ep.dist.name[9:]}'."
|
|
168
169
|
)
|
|
169
170
|
return None
|
|
170
171
|
|
|
@@ -172,8 +173,9 @@ class PythonPluginLoader(PluginLoader):
|
|
|
172
173
|
try:
|
|
173
174
|
plugin_metadata = metadata(ep.dist.name).json
|
|
174
175
|
cls = ep.load()
|
|
175
|
-
except
|
|
176
|
-
self.server.logger.error(f"Error occurred when trying to load plugin from entry point '{ep.name}':
|
|
176
|
+
except BaseException as e:
|
|
177
|
+
self.server.logger.error(f"Error occurred when trying to load plugin from entry point '{ep.name}':")
|
|
178
|
+
self.server.logger.error("".join(traceback.format_exception(e)))
|
|
177
179
|
return None
|
|
178
180
|
|
|
179
181
|
# prepare plugin description
|
endstone/_internal/version.py
CHANGED
endstone/command.py
CHANGED
|
@@ -7,5 +7,11 @@ from endstone._internal.endstone_python import (
|
|
|
7
7
|
ProxiedCommandSender,
|
|
8
8
|
)
|
|
9
9
|
|
|
10
|
-
__all__ = [
|
|
11
|
-
|
|
10
|
+
__all__ = [
|
|
11
|
+
"Command",
|
|
12
|
+
"CommandExecutor",
|
|
13
|
+
"CommandSender",
|
|
14
|
+
"CommandSenderWrapper",
|
|
15
|
+
"ConsoleCommandSender",
|
|
16
|
+
"ProxiedCommandSender",
|
|
17
|
+
]
|
endstone/event.py
CHANGED
|
@@ -12,6 +12,8 @@ from endstone._internal.endstone_python import (
|
|
|
12
12
|
BlockPlaceEvent,
|
|
13
13
|
BroadcastMessageEvent,
|
|
14
14
|
Cancellable,
|
|
15
|
+
DataPacketReceiveEvent,
|
|
16
|
+
DataPacketSendEvent,
|
|
15
17
|
Event,
|
|
16
18
|
EventPriority,
|
|
17
19
|
MobEvent,
|
|
@@ -55,6 +57,8 @@ __all__ = [
|
|
|
55
57
|
"BlockBreakEvent",
|
|
56
58
|
"BlockPlaceEvent",
|
|
57
59
|
"Cancellable",
|
|
60
|
+
"DataPacketReceiveEvent",
|
|
61
|
+
"DataPacketSendEvent",
|
|
58
62
|
"Event",
|
|
59
63
|
"EventPriority",
|
|
60
64
|
"MobEvent",
|
endstone/plugin.py
CHANGED
|
@@ -88,8 +88,7 @@ class Plugin(endstone_python.Plugin):
|
|
|
88
88
|
or not issubclass(params[0].annotation, Event)
|
|
89
89
|
):
|
|
90
90
|
self.logger.error(
|
|
91
|
-
f"Plugin {self.name} attempted to register an invalid "
|
|
92
|
-
f"event handler signature: {attr_name}: {sig}"
|
|
91
|
+
f"Plugin {self.name} attempted to register an invalid event handler signature: {attr_name}: {sig}"
|
|
93
92
|
)
|
|
94
93
|
continue
|
|
95
94
|
|
endstone_runtime.dll
CHANGED
|
Binary file
|
endstone_runtime.pdb
CHANGED
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: levistone
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.2.dev58
|
|
4
4
|
Summary: Endstone offers a plugin API for Bedrock Dedicated Servers, supporting both Python and C++.
|
|
5
5
|
Author-email: Vincent Wu <magicdroidx@gmail.com>
|
|
6
6
|
Project-URL: Changelog, https://endstone.readthedocs.io/en/latest/changelog
|
|
@@ -36,4 +36,12 @@ Requires-Dist: typing-extensions
|
|
|
36
36
|
Provides-Extra: test
|
|
37
37
|
Requires-Dist: pytest; extra == "test"
|
|
38
38
|
|
|
39
|
-
#
|
|
39
|
+
# LeviStone
|
|
40
|
+
|
|
41
|
+
A runtime for running Endstone plugins on LeviLamina
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pip install levistone --target plugins/EndstoneRuntime
|
|
47
|
+
```
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
endstone_runtime.dll,sha256=
|
|
2
|
-
endstone_runtime.pdb,sha256=
|
|
3
|
-
manifest.json,sha256=
|
|
1
|
+
endstone_runtime.dll,sha256=MPk9aLfqfAZYtx_NasqAcTZXPyeENf3LoVwPgpmgIkQ,1435648
|
|
2
|
+
endstone_runtime.pdb,sha256=oNAeGFJTHhldEZuSguHU4Yc8wqwRx4f0Vyme0cqCzK8,16830464
|
|
3
|
+
manifest.json,sha256=UVXEdBepK0m96KrBz4kbTRCkvubGajtfB00Zu_I9OPw,121
|
|
4
4
|
endstone/__init__.py,sha256=7dmwkc0ADuHU7pcno32L2f-rJY4nItfJbgY73s0HHdU,389
|
|
5
5
|
endstone/__main__.py,sha256=BScr7X_wRgbkmrnGTOEuhJqgbve5leelFfh1v5OdPdc,87
|
|
6
6
|
endstone/actor.py,sha256=zwMagc_ogTMexG_1Ahmgf3jkDMeRhvunOxCpL67GQYw,89
|
|
7
7
|
endstone/ban.py,sha256=6t_lhCGpwe7w_jOM-l1ooI6kF1P0pHgGaasMX2FeTeU,177
|
|
8
8
|
endstone/block.py,sha256=3r-ZQna3RDQgn_ayVObY_xWeDZMJvUaMyuFuWtwdbnM,151
|
|
9
9
|
endstone/boss.py,sha256=N6B3CDIlYRcYVDZPdjRXq9hBPnYYRuE0d7e5-MpuB8c,145
|
|
10
|
-
endstone/command.py,sha256=
|
|
10
|
+
endstone/command.py,sha256=p7O4jK9CE2SLg5QUYT2meXe9WPStpIrs6PMBt-0plLI,357
|
|
11
11
|
endstone/damage.py,sha256=riTGQq-LYaSRE49KAsm1DxT-QetJNahbrpnLItDo1X0,91
|
|
12
|
-
endstone/event.py,sha256=
|
|
12
|
+
endstone/event.py,sha256=GhEBt86woXZ4vHfYVIf3uuPvCDSOBmGkahCr5pFmIKk,2487
|
|
13
13
|
endstone/form.py,sha256=XrpxrD3z57akr0Xg4eeAaNxIlQfyHg1Llma_x7tWfDQ,314
|
|
14
14
|
endstone/inventory.py,sha256=Alt4MIa7Vha0hstiJ7Hxrre2OuIvCXJxdIXbfauBX_Q,145
|
|
15
15
|
endstone/lang.py,sha256=hrsaaDy3pC0MT-xrgMOwnzobU9KXH5byy5RbMpqF_BU,113
|
|
16
16
|
endstone/level.py,sha256=cqJQa4MKhobv_T8EMXGVNLRGaNr83xgg1bxNzUwnL7w,190
|
|
17
17
|
endstone/network.py,sha256=Wf5vHYIY9HbuXuvfBB_airnWsy72Bq7tSe41fzAV_RU,161
|
|
18
18
|
endstone/permissions.py,sha256=QccUzGLsFZ5ge1U0zUr1eGHZjvwh9aFkHarvEx0X4gk,286
|
|
19
|
-
endstone/plugin.py,sha256=
|
|
19
|
+
endstone/plugin.py,sha256=kAwGbCRzcAHzmaxh_8GYs6i5xxFfB8iMECTYFWf0Llg,4081
|
|
20
20
|
endstone/scheduler.py,sha256=2PkwAeLgrX6KxaiUPcnONbRNQYlFdvhUUShpFE35t-8,99
|
|
21
21
|
endstone/scoreboard.py,sha256=qO1X0sD7D_SH6Lb4sKODe7emfdAyQ7iEAPVFznxOuyI,219
|
|
22
22
|
endstone/util.py,sha256=vvIIfPj3K085eg-aaLfcNnSvapQpTZSHH756VDBwEi8,111
|
|
23
23
|
endstone/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
endstone/_internal/endstone_python.pyd,sha256=
|
|
25
|
-
endstone/_internal/endstone_python.pyi,sha256=
|
|
24
|
+
endstone/_internal/endstone_python.pyd,sha256=3Ow-vuBn7VVB8h5CJlEF_4ACBKUV7YK21hcEa4xhM_Y,1593856
|
|
25
|
+
endstone/_internal/endstone_python.pyi,sha256=h-jlWtSkBMtOGtGyITvUK-nRKVqSlggIJ0A3CxFhISs,129832
|
|
26
26
|
endstone/_internal/metrics.py,sha256=TNi9AxE1sPdFvlkw3teP6qPohAuH43FKBkprTPaGElU,3834
|
|
27
|
-
endstone/_internal/plugin_loader.py,sha256=
|
|
28
|
-
endstone/_internal/version.py,sha256=
|
|
27
|
+
endstone/_internal/plugin_loader.py,sha256=Hn4EyA8gKLqngHlipKkmHAT-Z4AeYHUCCVEcGHLx7II,8759
|
|
28
|
+
endstone/_internal/version.py,sha256=78wdqQ4LyR4-5TvPXv9FZS7Jz-uZqSw1I80Cv3OAbiw,347
|
|
29
29
|
endstone/_internal/bootstrap/__init__.py,sha256=AaIf_APW06aMPdVC8hnWRWcXriDzUHKiCbQrjkk9Avw,1953
|
|
30
|
-
endstone/_internal/bootstrap/base.py,sha256=
|
|
31
|
-
endstone/_internal/bootstrap/linux.py,sha256=
|
|
30
|
+
endstone/_internal/bootstrap/base.py,sha256=onPidPfTIknmWyN-ZL8ltLhcZI68-0OvyW1CyiEWMzM,9707
|
|
31
|
+
endstone/_internal/bootstrap/linux.py,sha256=axWZsDP9FeVoelVGsYWtYoZprm3SNzznPegD4M0YdAs,2309
|
|
32
32
|
endstone/_internal/bootstrap/windows.py,sha256=vkJTXguFWjA6od3UO-tNUXptbm6k-aYzcmNc6Y89Ha4,8455
|
|
33
|
-
levistone-0.6.
|
|
34
|
-
levistone-0.6.
|
|
35
|
-
levistone-0.6.
|
|
36
|
-
levistone-0.6.
|
|
37
|
-
levistone-0.6.
|
|
33
|
+
levistone-0.6.2.dev58.dist-info/METADATA,sha256=jh1THDTMceK2YBEcXMwW8WM9bJfrK8mq6ux4hOsRIgE,1706
|
|
34
|
+
levistone-0.6.2.dev58.dist-info/WHEEL,sha256=agt19kgClKEHqWYrJT6kjVPb8HMqSZQocXgSpojyAEw,100
|
|
35
|
+
levistone-0.6.2.dev58.dist-info/entry_points.txt,sha256=YcCpMmhXBaSX4Vm9Lt5KEBwkaL5wEzNCLdpZAZJ3gsg,62
|
|
36
|
+
levistone-0.6.2.dev58.dist-info/top_level.txt,sha256=BERCWpr0nMLPIcEyGbeVJNJ1xRNrx08gMj8Xi2vLqbo,10
|
|
37
|
+
levistone-0.6.2.dev58.dist-info/RECORD,,
|
manifest.json
CHANGED
|
File without changes
|
|
File without changes
|