mcsmapi 0.1.3__py3-none-any.whl → 0.1.5b1__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.
mcsmapi/__init__.py CHANGED
@@ -1,13 +1,13 @@
1
1
  import urllib.parse
2
- from .models.overview import OverviewModel
3
- from .pool import ApiPool
4
- from .apis.file import File
5
- from .apis.user import User
6
- from .apis.image import Image
7
- from .apis.daemon import Daemon
8
- from .apis.instance import Instance
9
- from .apis.overview import Overview
10
- from .request import Request
2
+ from mcsmapi.models.overview import OverviewModel
3
+ from mcsmapi.pool import ApiPool
4
+ from mcsmapi.apis.file import File
5
+ from mcsmapi.apis.user import User
6
+ from mcsmapi.apis.image import Image
7
+ from mcsmapi.apis.daemon import Daemon
8
+ from mcsmapi.apis.instance import Instance
9
+ from mcsmapi.apis.overview import Overview
10
+ from mcsmapi.request import Request
11
11
 
12
12
 
13
13
  class MCSMAPI:
File without changes
mcsmapi/apis/daemon.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from typing import Any
2
- from ..pool import ApiPool
3
- from ..request import send
4
- from ..models.daemon import DaemonConfig
2
+ from mcsmapi.pool import ApiPool
3
+ from mcsmapi.request import send
4
+ from mcsmapi.models.daemon import DaemonConfig
5
5
 
6
6
 
7
7
  class Daemon:
mcsmapi/apis/file.py CHANGED
@@ -1,6 +1,6 @@
1
- from ..pool import ApiPool
2
- from ..request import Request, send, upload
3
- from ..models.file import CommonConfig, FileList
1
+ from mcsmapi.pool import ApiPool
2
+ from mcsmapi.request import Request, send, upload
3
+ from mcsmapi.models.file import CommonConfig, FileList
4
4
  import urllib.parse
5
5
  import os
6
6
 
@@ -22,7 +22,7 @@ class File:
22
22
  - uuid (str): 文件实例的唯一标识符。
23
23
  - target (str, 可选): 用于文件过滤的目标路径。默认为空字符串,表示不按路径过滤。
24
24
  - page (int, 可选): 指定分页的页码。默认为0。
25
- - page_size (int, 可选): 指定每页的项目数量。默认为100。
25
+ - page_size (int, 可选): 指定每页的文件数量。默认为100。
26
26
 
27
27
  **返回:**
28
28
  - FileList: 包含文件列表信息和分页详情的FileList模型。
mcsmapi/apis/image.py CHANGED
@@ -1,6 +1,6 @@
1
- from ..pool import ApiPool
2
- from ..request import send
3
- from ..models.image import DockerImageItem, DockerContainerItem, DockerNetworkItem
1
+ from mcsmapi.pool import ApiPool
2
+ from mcsmapi.request import send
3
+ from mcsmapi.models.image import DockerImageItem, DockerContainerItem, DockerNetworkItem
4
4
 
5
5
 
6
6
  class Image:
mcsmapi/apis/instance.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from typing import Any
2
- from ..pool import ApiPool
3
- from ..request import send
4
- from ..models.instance import (
2
+ from mcsmapi.pool import ApiPool
3
+ from mcsmapi.request import send
4
+ from mcsmapi.models.instance import (
5
5
  InstanceSearchList,
6
6
  InstanceDetail,
7
7
  InstanceCreateResult,
mcsmapi/apis/overview.py CHANGED
@@ -1,6 +1,6 @@
1
- from ..pool import ApiPool
2
- from ..request import send
3
- from ..models.overview import OverviewModel
1
+ from mcsmapi.pool import ApiPool
2
+ from mcsmapi.request import send
3
+ from mcsmapi.models.overview import OverviewModel
4
4
 
5
5
 
6
6
  class Overview:
mcsmapi/apis/user.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from typing import Any
2
- from ..pool import ApiPool
3
- from ..request import send
4
- from ..models.user import SearchUserModel, UserConfig
2
+ from mcsmapi.pool import ApiPool
3
+ from mcsmapi.request import send
4
+ from mcsmapi.models.user import SearchUserModel, UserConfig
5
5
 
6
6
 
7
7
  class User:
File without changes
mcsmapi/models/daemon.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from typing import Any, List
2
2
  from pydantic import BaseModel
3
- from ..models.instance import InstanceCreateResult
3
+ from mcsmapi.models.instance import InstanceCreateResult
4
4
 
5
5
 
6
6
  class CpuMemChart(BaseModel):
@@ -55,7 +55,7 @@ class DaemonModel(BaseModel):
55
55
  返回:
56
56
  - bool: 删除成功后返回True
57
57
  """
58
- from ..apis.daemon import Daemon
58
+ from mcsmapi.apis.daemon import Daemon
59
59
 
60
60
  return Daemon().delete(self.uuid)
61
61
 
@@ -66,7 +66,7 @@ class DaemonModel(BaseModel):
66
66
  返回:
67
67
  - bool: 链接成功后返回True
68
68
  """
69
- from ..apis.daemon import Daemon
69
+ from mcsmapi.apis.daemon import Daemon
70
70
 
71
71
  return Daemon().link(self.uuid)
72
72
 
@@ -80,7 +80,7 @@ class DaemonModel(BaseModel):
80
80
  返回:
81
81
  - bool: 更新成功后返回True
82
82
  """
83
- from ..apis.daemon import Daemon
83
+ from mcsmapi.apis.daemon import Daemon
84
84
 
85
85
  updated_config = self.dict()
86
86
  updated_config.update(config)
@@ -105,7 +105,7 @@ class DaemonModel(BaseModel):
105
105
  返回:
106
106
  - InstanceCreateResult: 一个包含新创建实例信息的结果对象,内容由InstanceCreateResult模型定义。
107
107
  """
108
- from ..apis.instance import Instance
108
+ from mcsmapi.apis.instance import Instance
109
109
  from .instance import InstanceConfig
110
110
 
111
111
  return Instance().create(self.uuid, InstanceConfig(**config).dict())
@@ -121,7 +121,7 @@ class DaemonModel(BaseModel):
121
121
  返回:
122
122
  - list[str]: 删除操作后返回的UUID列表。
123
123
  """
124
- from ..apis.instance import Instance
124
+ from mcsmapi.apis.instance import Instance
125
125
 
126
126
  return Instance().delete(self.uuid, uuids, deleteFile)
127
127
 
mcsmapi/models/file.py CHANGED
@@ -23,7 +23,7 @@ class FileItem(BaseModel):
23
23
  **返回:**
24
24
  - bool: 重命名成功后返回True。
25
25
  """
26
- from ..apis.file import File
26
+ from mcsmapi.apis.file import File
27
27
 
28
28
  return File().rename(
29
29
  self.daemonId, self.uuid, os.path.join(self.target, self.name), newName
@@ -36,14 +36,14 @@ class FileItem(BaseModel):
36
36
  **返回:**
37
37
  - bool: 重命名成功后返回True。
38
38
  """
39
- from ..apis.file import File
39
+ from mcsmapi.apis.file import File
40
40
 
41
41
  return File().delete(
42
42
  self.daemonId, self.uuid, [os.path.join(self.target, self.name)]
43
43
  )
44
44
 
45
45
  def copy(self, target: str) -> bool:
46
- from ..apis.file import File
46
+ from mcsmapi.apis.file import File
47
47
 
48
48
  return File().copyOne(
49
49
  self.daemonId, self.uuid, os.path.join(self.target, self.name), target
@@ -59,7 +59,7 @@ class FileItem(BaseModel):
59
59
  **返回:**
60
60
  - bool: 移动成功后返回True。
61
61
  """
62
- from ..apis.file import File
62
+ from mcsmapi.apis.file import File
63
63
 
64
64
  return File().moveOne(
65
65
  self.daemonId, self.uuid, os.path.join(self.target, self.name), target
@@ -77,7 +77,7 @@ class FileItem(BaseModel):
77
77
  **返回:**
78
78
  - bool: 解压成功后返回True。
79
79
  """
80
- from ..apis.file import File
80
+ from mcsmapi.apis.file import File
81
81
 
82
82
  return File().unzip(
83
83
  self.daemonId, self.uuid, os.path.join(self.target, self.name), target, code
mcsmapi/models/image.py CHANGED
@@ -1,4 +1,4 @@
1
- from typing import List, Optional
1
+ from typing import List, Optional, Union
2
2
  from pydantic import BaseModel
3
3
 
4
4
 
@@ -9,8 +9,8 @@ class DockerConfig(BaseModel):
9
9
  ports: List[str] = ["25565:25565/tcp"]
10
10
  extraVolumes: List[str] = []
11
11
  maxSpace: Optional[int] = None
12
- network: Optional[str] = None
13
- io: Optional[str] = None
12
+ network: Optional[Union[str, int]] = None
13
+ io: Optional[Union[str, int]] = None
14
14
  networkMode: str = "bridge"
15
15
  networkAliases: List[str] = []
16
16
  cpusetCpus: str = ""
@@ -1,6 +1,7 @@
1
- from typing import List, Dict
1
+ from typing import List, Dict, Optional
2
2
  from pydantic import BaseModel
3
- from .image import DockerConfig
3
+ from mcsmapi.models.file import FileList
4
+ from mcsmapi.models.image import DockerConfig
4
5
 
5
6
 
6
7
  class TerminalOption(BaseModel):
@@ -31,7 +32,7 @@ class InstanceConfig(BaseModel):
31
32
  lastDatetime: int = 0
32
33
  type: str = "universal"
33
34
  tag: List[str] = []
34
- endTime: int = 0
35
+ endTime: Optional[int] = None
35
36
  fileCode: str = "gbk"
36
37
  processType: str = "docker"
37
38
  updateCommand: str = "shutdown -s"
@@ -83,7 +84,7 @@ class InstanceDetail(BaseModel):
83
84
  **返回:**
84
85
  - str|bool: str|bool: 返回结果中的 "instanceUuid" 字段值,如果未找到该字段,则默认返回True。
85
86
  """
86
- from ..apis.instance import Instance
87
+ from mcsmapi.apis.instance import Instance
87
88
 
88
89
  return Instance().start(self.daemonId, self.instanceUuid)
89
90
 
@@ -94,7 +95,7 @@ class InstanceDetail(BaseModel):
94
95
  **返回:**
95
96
  - str|bool: 返回结果中的 "instanceUuid" 字段值,如果未找到该字段,则默认返回True。
96
97
  """
97
- from ..apis.instance import Instance
98
+ from mcsmapi.apis.instance import Instance
98
99
 
99
100
  return Instance().stop(self.daemonId, self.instanceUuid)
100
101
 
@@ -105,7 +106,7 @@ class InstanceDetail(BaseModel):
105
106
  **返回:**
106
107
  - str|bool: 返回结果中的 "instanceUuid" 字段值,如果未找到该字段,则默认返回True。
107
108
  """
108
- from ..apis.instance import Instance
109
+ from mcsmapi.apis.instance import Instance
109
110
 
110
111
  return Instance().restart(self.daemonId, self.instanceUuid)
111
112
 
@@ -116,7 +117,7 @@ class InstanceDetail(BaseModel):
116
117
  **返回:**
117
118
  - str|bool: 返回结果中的 "instanceUuid" 字段值,如果未找到该字段,则默认返回True。
118
119
  """
119
- from ..apis.instance import Instance
120
+ from mcsmapi.apis.instance import Instance
120
121
 
121
122
  return Instance().kill(self.daemonId, self.instanceUuid)
122
123
 
@@ -127,7 +128,7 @@ class InstanceDetail(BaseModel):
127
128
  **返回:**
128
129
  - str: 被删除的实例的uuid。
129
130
  """
130
- from ..apis.instance import Instance
131
+ from mcsmapi.apis.instance import Instance
131
132
 
132
133
  return Instance().delete(self.daemonId, [self.instanceUuid], deleteFile)[0]
133
134
 
@@ -138,7 +139,7 @@ class InstanceDetail(BaseModel):
138
139
  **返回:**
139
140
  - bool: 返回操作结果,成功时返回True。
140
141
  """
141
- from ..apis.instance import Instance
142
+ from mcsmapi.apis.instance import Instance
142
143
 
143
144
  return Instance().update(self.daemonId, self.instanceUuid)
144
145
 
@@ -152,7 +153,7 @@ class InstanceDetail(BaseModel):
152
153
  **返回:**
153
154
  - str|bool: 更新成功后返回更新的实例UUID,如果未找到该字段,则默认返回True。
154
155
  """
155
- from ..apis.instance import Instance
156
+ from mcsmapi.apis.instance import Instance
156
157
 
157
158
  updated_config = self.config.dict()
158
159
  updated_config.update(config)
@@ -175,12 +176,28 @@ class InstanceDetail(BaseModel):
175
176
  **返回:**
176
177
  - bool: 返回操作结果,成功时返回True
177
178
  """
178
- from ..apis.instance import Instance
179
+ from mcsmapi.apis.instance import Instance
179
180
 
180
181
  return Instance().reinstall(
181
182
  self.daemonId, self.instanceUuid, targetUrl, title, description
182
183
  )
183
184
 
185
+ def files(self, target:str = "", page:int=0, page_size:int=100) -> FileList:
186
+ """
187
+ 获取实例的文件列表。
188
+
189
+ **参数:**
190
+ - target (str, 可选): 用于文件过滤的目标路径。默认为空字符串,表示不按路径过滤
191
+ - page (int, 可选): 指定分页的页码。默认为0。
192
+ - page_size (int, 可选): 指定每页的文件数量。默认为100。
193
+
194
+ **返回:**
195
+ - FileList: 文件列表。
196
+ """
197
+ from mcsmapi.apis.file import File
198
+
199
+ return File().show(self.daemonId, self.instanceUuid, target, page, page_size)
200
+
184
201
 
185
202
  class InstanceCreateResult(BaseModel):
186
203
  instanceUuid: str = ""
@@ -1,6 +1,6 @@
1
1
  from typing import Dict, List, Optional
2
2
  from pydantic import BaseModel
3
- from .daemon import DaemonModel
3
+ from mcsmapi.models.daemon import DaemonModel
4
4
 
5
5
 
6
6
  class SystemUser(BaseModel):
mcsmapi/models/user.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from typing import Any, List
2
2
  from pydantic import BaseModel
3
- from ..models.instance import InstanceDetail, UserInstancesList
3
+ from mcsmapi.models.instance import InstanceDetail, UserInstancesList
4
4
 
5
5
 
6
6
  class UserModel(BaseModel):
@@ -25,7 +25,7 @@ class UserModel(BaseModel):
25
25
  **返回:**
26
26
  - bool: 删除成功后返回True。
27
27
  """
28
- from ..apis.user import User
28
+ from mcsmapi.apis.user import User
29
29
 
30
30
  return User().delete([self.uuid])
31
31
 
@@ -39,7 +39,7 @@ class UserModel(BaseModel):
39
39
  返回:
40
40
  - bool: 更新成功后返回True。
41
41
  """
42
- from ..apis.user import User
42
+ from mcsmapi.apis.user import User
43
43
 
44
44
  updated_config = self.dict()
45
45
  updated_config.update(config)
@@ -1,15 +1,16 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: mcsmapi
3
- Version: 0.1.3
3
+ Version: 0.1.5b1
4
4
  Summary: Shortcut the pypi package of MCSM./快捷操作MCSM的pypi包
5
5
  Author-email: molanp <molanpp@outlook.com>
6
+ License-Expression: MIT
6
7
  Project-URL: Source, https://github.com/molanp/mcsmapi
7
8
  Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Requires-Dist: requests
12
12
  Requires-Dist: pydantic
13
+ Dynamic: license-file
13
14
 
14
15
  # MCSM API
15
16
 
@@ -22,6 +23,10 @@ English|[Chinese Simplified](README_zh-cn.md)
22
23
  > [!important]
23
24
  > We need your help, the documentation for this project has not been written yet, if you are willing, please submit pr to help us write the documentation.
24
25
 
26
+ ## Documentation
27
+
28
+ The documentation is not yet complete, if you need it, please visit [https://deepwiki.com/molanp/mcsmapi](https://deepwiki.com/molanp/mcsmapi)
29
+
25
30
  ## Introduction
26
31
 
27
32
  `mcsmapi` is a PyPI package based on [MCSManager](https://github.com/MCSManager/MCSManager), designed to simplify interactions with the MCSM API.
@@ -38,8 +43,8 @@ pip install mcsmapi
38
43
 
39
44
  ## Supported Features
40
45
 
41
- - [x] Dashboard data ([Overview](doc/en/Overview.md))
42
- - [x] User management ([User](doc/en/User.md))
46
+ - [x] Dashboard data (`Overview`)
47
+ - [x] User management (`User`)
43
48
  - [x] Instance management (`Instance`)
44
49
  - [x] Daemon management (`Daemon`)
45
50
  - [x] File management (`File`)
@@ -57,7 +62,7 @@ pip install mcsmapi
57
62
  from mcsmapi import MCSMAPI
58
63
 
59
64
  # Initialize
60
- mcsm = MCSMAPI("https://example.com")
65
+ mcsm = MCSMAPI("https://example.com") # https or http required
61
66
 
62
67
  # Log in with username and password (API permissions depend on the account permissions)
63
68
  mcsm.login("username", "password")
@@ -0,0 +1,23 @@
1
+ mcsmapi/__init__.py,sha256=Xm0gsQMecMZwD1of9UGOkTan25l_jqrWkG-7mg0YgF4,1514
2
+ mcsmapi/exceptions.py,sha256=mHsAHyoX9SiFDGBMEhesA_ao9hhZZ38EGTp97K7VDp8,184
3
+ mcsmapi/pool.py,sha256=CoOYbyECp4FoXkzwFN7WgtS3vgZtvWO8e93i18vhOEI,308
4
+ mcsmapi/request.py,sha256=5mCzKgrh4OPFKvBo22kIDpX_D1zqCza1nglYUeGWveg,2618
5
+ mcsmapi/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ mcsmapi/apis/daemon.py,sha256=j-MJc484J85Eopm7xUBW37-hJxE2Widl86XsHnCVj80,1978
7
+ mcsmapi/apis/file.py,sha256=LfWcVhU42xkdKfw2penZZwmgr2jPs7oKizdWuInc9a8,10610
8
+ mcsmapi/apis/image.py,sha256=UwVH2LPfPBEADZuoSyyiMrlEc9LL858Z3oidRPaKrvs,2908
9
+ mcsmapi/apis/instance.py,sha256=zibACXlhsMAWW5QjvGCFO5iN0wNEVlnecdnFvLeQTUg,10986
10
+ mcsmapi/apis/overview.py,sha256=4bS3RGSykdQ1JyBTM-I9na6v0SCijEG1CN-WxqabfUo,625
11
+ mcsmapi/apis/user.py,sha256=CBLNWxxNfvnmzoMa1YV3Q33POitYDGyN-hRORoe2JEc,2968
12
+ mcsmapi/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ mcsmapi/models/daemon.py,sha256=Jt4xN86U2SWTsshWPh2xVzwnEeEQ5QJ_RlIjwxyP8xk,3557
14
+ mcsmapi/models/file.py,sha256=WpFSq6FiaracGZfhwMmWnYsCtY70c7TkpUdpW4hPmjY,2790
15
+ mcsmapi/models/image.py,sha256=jbi4cZCYtfaG-ca7aeI5DOmXXxWTZYCYDqdkzjtuHhc,2804
16
+ mcsmapi/models/instance.py,sha256=TeGNvZA_hBn0qbuV5xoBrnNpfwPcTjIS6b6xthvfBFc,6340
17
+ mcsmapi/models/overview.py,sha256=TUvAqr_6h7O2ZC-CWngh8xz4zz6a4av66wgNRUN3NLg,1321
18
+ mcsmapi/models/user.py,sha256=dw6INDrPcjT6b3PzBAgHQaVE8G6IZMKm94y6VhlSMIo,1958
19
+ mcsmapi-0.1.5b1.dist-info/licenses/LICENSE,sha256=bMKDPsvaybvY-4TTlSZtCXPPtxb7KPpDVqXgDA8Ogo0,1068
20
+ mcsmapi-0.1.5b1.dist-info/METADATA,sha256=hy0ptYUXph8SGp9CFR8gn9qxbcK23WWHgXfH5eWMmoY,2604
21
+ mcsmapi-0.1.5b1.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
22
+ mcsmapi-0.1.5b1.dist-info/top_level.txt,sha256=8MUYHd1Or4cbSCd93IaqLA72w0weEuKieopVwIfVlWo,8
23
+ mcsmapi-0.1.5b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 molanp
3
+ Copyright (c) 2024-2025 molanp
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,21 +0,0 @@
1
- mcsmapi/__init__.py,sha256=MUAbGnG0qSVKcG9YTCkZru42x1UxcfzfJF9WJzDjU8Q,1451
2
- mcsmapi/exceptions.py,sha256=mHsAHyoX9SiFDGBMEhesA_ao9hhZZ38EGTp97K7VDp8,184
3
- mcsmapi/pool.py,sha256=CoOYbyECp4FoXkzwFN7WgtS3vgZtvWO8e93i18vhOEI,308
4
- mcsmapi/request.py,sha256=5mCzKgrh4OPFKvBo22kIDpX_D1zqCza1nglYUeGWveg,2618
5
- mcsmapi/apis/daemon.py,sha256=a0351ca2I68S2lFRg5wtV52FuLsaT-_dnqhuBXpE-tQ,1960
6
- mcsmapi/apis/file.py,sha256=UKD295UK9755Y_fEANZCxPyS9uwpkJ6KcqnNlM2YHMY,10592
7
- mcsmapi/apis/image.py,sha256=kGuO2U3D3OM8p1jo31U3ACKv-DD-60pkhn1LNiEhhM4,2890
8
- mcsmapi/apis/instance.py,sha256=GTSMSfwaYElrSO3DO4IBbU8OJvd1A34DzgsL_xgU6I0,10968
9
- mcsmapi/apis/overview.py,sha256=tBiZZEXVQukzMqw3EvAVbjkG6h2KO115ylpNRONSJ9s,607
10
- mcsmapi/apis/user.py,sha256=Xza7jAmy8ORkeO2NS-nzKPkG5Immp4FUtskEN0Hd9Z4,2950
11
- mcsmapi/models/daemon.py,sha256=u7leIa_91eVeia00rhD8HiYiaRKFCOiWFtqSI4WEC2g,3521
12
- mcsmapi/models/file.py,sha256=qI_3e5C7cHUc0botBP7YWU90J-Uu2-JILzBTQ-PicRA,2760
13
- mcsmapi/models/image.py,sha256=akx0b7aUnpl-9F2AHUbkinUP15hLHAnSdLlZZxM3bcI,2773
14
- mcsmapi/models/instance.py,sha256=eDQng8BAVep_ufDYbLHc-sM5JIPn0-AeNqgkOh8wFEM,5595
15
- mcsmapi/models/overview.py,sha256=kImr_Dy1Mkyf2jJ7bq5E5IAYGyEYzHZ7inrRNxV0u6k,1307
16
- mcsmapi/models/user.py,sha256=CDJjiG9cY8gW4rYD8SDnxvMGnn1cdeUU801NucPfnrA,1940
17
- mcsmapi-0.1.3.dist-info/LICENSE,sha256=kn0yZGn5uLIJtr2aAXy8pz_wJqal15ZGnynTU1fCnLQ,1063
18
- mcsmapi-0.1.3.dist-info/METADATA,sha256=CgoVwe46VfW-2efVTqnpYXcKwic8DhaPOqGkO-o3rVI,2456
19
- mcsmapi-0.1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
20
- mcsmapi-0.1.3.dist-info/top_level.txt,sha256=8MUYHd1Or4cbSCd93IaqLA72w0weEuKieopVwIfVlWo,8
21
- mcsmapi-0.1.3.dist-info/RECORD,,