pmdsky-debug-py 10.0.10__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.
@@ -0,0 +1,40 @@
1
+ Metadata-Version: 2.1
2
+ Name: pmdsky-debug-py
3
+ Version: 10.0.10
4
+ Summary: pmdsky-debug symbols for Python.
5
+ Author-email: Marco 'Capypara' Köpcke <hello@capypara.de>
6
+ License: MIT
7
+ Project-URL: repository, https://github.com/SkyTemple/pmdsky-debug-py
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/x-rst
17
+
18
+ pmdsky-debug-py
19
+ ===============
20
+
21
+ Autogenerated and statically check-able pmdsky-debug_ symbol definitions
22
+ for Python.
23
+
24
+ To use the symbols in your projects, you can install the package from PyPi::
25
+
26
+ pip install pmdsky-debug-py
27
+
28
+ Symbols are grouped by regions. Each region implements the
29
+ ``pmdsky_debug_py.SymbolsProtocol``.
30
+
31
+ To get a symbol, you can query it like this::
32
+
33
+ pmdsky_debug_py.eu.functions.InitMemAllocTable.address
34
+
35
+ See the source code and the symbol definitions of pmdsky-debug_ for more information.
36
+
37
+ See the `README.rst`_ on the root of the repository for additional information.
38
+
39
+ .. _pmdsky-debug: https://github.com/UsernameFodder/pmdsky-debug
40
+ .. _README.rst: https://github.com/SkyTemple/pmdsky-debug-py
@@ -0,0 +1,23 @@
1
+ pmdsky-debug-py
2
+ ===============
3
+
4
+ Autogenerated and statically check-able pmdsky-debug_ symbol definitions
5
+ for Python.
6
+
7
+ To use the symbols in your projects, you can install the package from PyPi::
8
+
9
+ pip install pmdsky-debug-py
10
+
11
+ Symbols are grouped by regions. Each region implements the
12
+ ``pmdsky_debug_py.SymbolsProtocol``.
13
+
14
+ To get a symbol, you can query it like this::
15
+
16
+ pmdsky_debug_py.eu.functions.InitMemAllocTable.address
17
+
18
+ See the source code and the symbol definitions of pmdsky-debug_ for more information.
19
+
20
+ See the `README.rst`_ on the root of the repository for additional information.
21
+
22
+ .. _pmdsky-debug: https://github.com/UsernameFodder/pmdsky-debug
23
+ .. _README.rst: https://github.com/SkyTemple/pmdsky-debug-py
@@ -0,0 +1,49 @@
1
+ # Re-exports (you can still access everything 'manually' in the submodules if needed):
2
+ # mypy: ignore-errors
3
+ # <- (see https://github.com/python/mypy/issues/5018#issuecomment-1165828654)
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pmdsky_debug_py.eu import EuSections as _EuSections
8
+ from pmdsky_debug_py.na import NaSections as _NaSections
9
+ from pmdsky_debug_py.jp import JpSections as _JpSections
10
+ from pmdsky_debug_py.eu_itcm import EuItcmSections as _EuItcmSections
11
+ from pmdsky_debug_py.na_itcm import NaItcmSections as _NaItcmSections
12
+ from pmdsky_debug_py.jp_itcm import JpItcmSections as _JpItcmSections
13
+ from pmdsky_debug_py.protocol import AllSymbolsProtocol
14
+ from ._release import RELEASE
15
+
16
+ eu: AllSymbolsProtocol = _EuSections
17
+ na: AllSymbolsProtocol = _NaSections
18
+ jp: AllSymbolsProtocol = _JpSections
19
+ eu_itcm: AllSymbolsProtocol = _EuItcmSections
20
+ na_itcm: AllSymbolsProtocol = _NaItcmSections
21
+ jp_itcm: AllSymbolsProtocol = _JpItcmSections
22
+ # not needed but to clarify these are indeed re-exports:
23
+ AllSymbolsProtocol = AllSymbolsProtocol
24
+ RELEASE = RELEASE
25
+
26
+
27
+ # mypy tests:
28
+ if TYPE_CHECKING:
29
+ def ___():
30
+ # First a general check making sure mypy understands this concept.
31
+ from typing import Protocol
32
+
33
+ class AProtocol(Protocol):
34
+ a: str
35
+
36
+ class A:
37
+ a = "a"
38
+
39
+ a: AProtocol = A
40
+
41
+ # Now specific tests
42
+ from pmdsky_debug_py.eu import EuArm9Section, EuArm9Functions, EuArm9Data
43
+ from pmdsky_debug_py.protocol import SectionProtocol, Arm9FunctionsProtocol, Arm9DataProtocol
44
+ eu_arm9: SectionProtocol = EuArm9Section
45
+ eu_arm9_fn: Arm9FunctionsProtocol = EuArm9Functions
46
+ eu_arm9_dt: Arm9DataProtocol = EuArm9Data
47
+
48
+ # And if everything works, the lines where `eu`, etc. are defined
49
+ # will also not fail.
@@ -0,0 +1 @@
1
+ RELEASE = "v0.10.0+71542670fc"