tinyecs-compsys 0.0.1__tar.gz → 0.0.2__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,90 @@
1
+ Metadata-Version: 2.4
2
+ Name: tinyecs-compsys
3
+ Version: 0.0.2
4
+ Summary: Compsys namespace package for tinyecs
5
+ Author-email: Michael Lamertz <michael.lamertz@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: homepage, https://github.com/dickerdackel/tinyecs-compsys
8
+ Project-URL: bugtracker, https://github.com/dickerdackel/tinyecs-compsys/issues
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Games/Entertainment
12
+ Classifier: Topic :: Software Development :: Libraries :: pygame
13
+ Description-Content-Type: text/x-rst
14
+ License-File: LICENSE
15
+ Requires-Dist: aenum
16
+ Requires-Dist: tinyecs>=0.5.0
17
+ Dynamic: license-file
18
+
19
+ tinyecs-compsys
20
+ ===============
21
+
22
+ This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
23
+
24
+ Synopsis
25
+ --------
26
+
27
+ .. code:: python
28
+
29
+ import tinyecs.compsys as cs
30
+
31
+ cs.register()
32
+
33
+ Usage
34
+ -----
35
+
36
+ This package provides the namespace and a starting point for all
37
+ ``tinyecs-compsys-<CATEGORY>`` packages.
38
+
39
+ Importing this package and calling its ``register`` function will import all immediate
40
+ subpackages and have those inject their component IDs into the ``Comp`` enum.
41
+
42
+ .. note:: The ``Comp`` contains symbols to use as component IDs in
43
+ ``tinyecs``. While every hashable is a valid component ID, and it's
44
+ completely fine to just use strings for small projects, using the provided
45
+ enum has the benefit of finding typing errors much easier. It's
46
+ recommended to make use of that.
47
+
48
+ This package makes use of `aenum`, an advanced and extendable
49
+ implementation of python enums, written by the same author that also
50
+ maintains the official python version.
51
+
52
+ If you create your own components and systems, you can add those to
53
+ ``Comp`` as well::
54
+
55
+ from aenum import extend_enum
56
+
57
+ extend_enum(cs.Comp, 'YOUR_COMPONENT')
58
+ ...
59
+
60
+ Installation
61
+ ------------
62
+
63
+ It's up to you, if you install the currently provided `compsys` packages from
64
+ `tinyecs` by using
65
+
66
+ .. code:: console
67
+
68
+ pip install tinyecs[base]
69
+
70
+ or include them by adding specific dependencies:
71
+
72
+ .. code:: console
73
+
74
+ pip install tinyecs
75
+ pip install tinyecs-compsys
76
+ pip install tinyecs-compsys-base
77
+
78
+ Support / Contributing
79
+ ----------------------
80
+
81
+ Issues can be opened on `github issues`_
82
+
83
+ .. _github issues: https://github.com/dickerdackel/tinyecs-compsys/issues
84
+
85
+ License
86
+ -------
87
+
88
+ This software is provided under the MIT license.
89
+
90
+ See LICENSE file for details.
@@ -0,0 +1,72 @@
1
+ tinyecs-compsys
2
+ ===============
3
+
4
+ This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
5
+
6
+ Synopsis
7
+ --------
8
+
9
+ .. code:: python
10
+
11
+ import tinyecs.compsys as cs
12
+
13
+ cs.register()
14
+
15
+ Usage
16
+ -----
17
+
18
+ This package provides the namespace and a starting point for all
19
+ ``tinyecs-compsys-<CATEGORY>`` packages.
20
+
21
+ Importing this package and calling its ``register`` function will import all immediate
22
+ subpackages and have those inject their component IDs into the ``Comp`` enum.
23
+
24
+ .. note:: The ``Comp`` contains symbols to use as component IDs in
25
+ ``tinyecs``. While every hashable is a valid component ID, and it's
26
+ completely fine to just use strings for small projects, using the provided
27
+ enum has the benefit of finding typing errors much easier. It's
28
+ recommended to make use of that.
29
+
30
+ This package makes use of `aenum`, an advanced and extendable
31
+ implementation of python enums, written by the same author that also
32
+ maintains the official python version.
33
+
34
+ If you create your own components and systems, you can add those to
35
+ ``Comp`` as well::
36
+
37
+ from aenum import extend_enum
38
+
39
+ extend_enum(cs.Comp, 'YOUR_COMPONENT')
40
+ ...
41
+
42
+ Installation
43
+ ------------
44
+
45
+ It's up to you, if you install the currently provided `compsys` packages from
46
+ `tinyecs` by using
47
+
48
+ .. code:: console
49
+
50
+ pip install tinyecs[base]
51
+
52
+ or include them by adding specific dependencies:
53
+
54
+ .. code:: console
55
+
56
+ pip install tinyecs
57
+ pip install tinyecs-compsys
58
+ pip install tinyecs-compsys-base
59
+
60
+ Support / Contributing
61
+ ----------------------
62
+
63
+ Issues can be opened on `github issues`_
64
+
65
+ .. _github issues: https://github.com/dickerdackel/tinyecs-compsys/issues
66
+
67
+ License
68
+ -------
69
+
70
+ This software is provided under the MIT license.
71
+
72
+ See LICENSE file for details.
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "tinyecs-compsys"
3
- description = "Compsys root for tinyecs"
4
- version = "0.0.1"
3
+ description = "Compsys namespace package for tinyecs"
4
+ version = "0.0.2"
5
5
  readme = "README.rst"
6
6
 
7
7
  authors = [
@@ -24,8 +24,8 @@ dependencies = [
24
24
  ]
25
25
 
26
26
  [project.urls]
27
- homepage = "https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys"
28
- bugtracker = "https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues"
27
+ homepage = "https://github.com/dickerdackel/tinyecs-compsys"
28
+ bugtracker = "https://github.com/dickerdackel/tinyecs-compsys/issues"
29
29
 
30
30
  [build-system]
31
31
  requires = ["setuptools"]
@@ -0,0 +1,26 @@
1
+ from importlib import import_module
2
+ from pkgutil import iter_modules
3
+
4
+ from aenum import StrEnum
5
+
6
+
7
+ class Comp(StrEnum):
8
+ ...
9
+
10
+
11
+ class Prop(StrEnum):
12
+ ...
13
+
14
+
15
+ def register():
16
+ """Register all tinyecs-compsys subpackages.
17
+
18
+ Use this at the beginning of your project to import all immediate
19
+ subpackages into the ``tinyecs.compsys`` namespace. Registered packages
20
+ will inject their component IDs into ``tinyecs.compsys.Comp``.
21
+ """
22
+
23
+ for sub in iter_modules(__path__):
24
+ if sub.ispkg:
25
+ print(f'Importing {__name__}.{sub.name}')
26
+ import_module(f'{__name__}.{sub.name}')
@@ -0,0 +1,90 @@
1
+ Metadata-Version: 2.4
2
+ Name: tinyecs-compsys
3
+ Version: 0.0.2
4
+ Summary: Compsys namespace package for tinyecs
5
+ Author-email: Michael Lamertz <michael.lamertz@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: homepage, https://github.com/dickerdackel/tinyecs-compsys
8
+ Project-URL: bugtracker, https://github.com/dickerdackel/tinyecs-compsys/issues
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Games/Entertainment
12
+ Classifier: Topic :: Software Development :: Libraries :: pygame
13
+ Description-Content-Type: text/x-rst
14
+ License-File: LICENSE
15
+ Requires-Dist: aenum
16
+ Requires-Dist: tinyecs>=0.5.0
17
+ Dynamic: license-file
18
+
19
+ tinyecs-compsys
20
+ ===============
21
+
22
+ This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
23
+
24
+ Synopsis
25
+ --------
26
+
27
+ .. code:: python
28
+
29
+ import tinyecs.compsys as cs
30
+
31
+ cs.register()
32
+
33
+ Usage
34
+ -----
35
+
36
+ This package provides the namespace and a starting point for all
37
+ ``tinyecs-compsys-<CATEGORY>`` packages.
38
+
39
+ Importing this package and calling its ``register`` function will import all immediate
40
+ subpackages and have those inject their component IDs into the ``Comp`` enum.
41
+
42
+ .. note:: The ``Comp`` contains symbols to use as component IDs in
43
+ ``tinyecs``. While every hashable is a valid component ID, and it's
44
+ completely fine to just use strings for small projects, using the provided
45
+ enum has the benefit of finding typing errors much easier. It's
46
+ recommended to make use of that.
47
+
48
+ This package makes use of `aenum`, an advanced and extendable
49
+ implementation of python enums, written by the same author that also
50
+ maintains the official python version.
51
+
52
+ If you create your own components and systems, you can add those to
53
+ ``Comp`` as well::
54
+
55
+ from aenum import extend_enum
56
+
57
+ extend_enum(cs.Comp, 'YOUR_COMPONENT')
58
+ ...
59
+
60
+ Installation
61
+ ------------
62
+
63
+ It's up to you, if you install the currently provided `compsys` packages from
64
+ `tinyecs` by using
65
+
66
+ .. code:: console
67
+
68
+ pip install tinyecs[base]
69
+
70
+ or include them by adding specific dependencies:
71
+
72
+ .. code:: console
73
+
74
+ pip install tinyecs
75
+ pip install tinyecs-compsys
76
+ pip install tinyecs-compsys-base
77
+
78
+ Support / Contributing
79
+ ----------------------
80
+
81
+ Issues can be opened on `github issues`_
82
+
83
+ .. _github issues: https://github.com/dickerdackel/tinyecs-compsys/issues
84
+
85
+ License
86
+ -------
87
+
88
+ This software is provided under the MIT license.
89
+
90
+ See LICENSE file for details.
@@ -7,5 +7,4 @@ src/tinyecs_compsys.egg-info/PKG-INFO
7
7
  src/tinyecs_compsys.egg-info/SOURCES.txt
8
8
  src/tinyecs_compsys.egg-info/dependency_links.txt
9
9
  src/tinyecs_compsys.egg-info/requires.txt
10
- src/tinyecs_compsys.egg-info/top_level.txt
11
- tests/test_FIXME.py
10
+ src/tinyecs_compsys.egg-info/top_level.txt
@@ -1,68 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: tinyecs-compsys
3
- Version: 0.0.1
4
- Summary: Compsys root for tinyecs
5
- Author-email: Michael Lamertz <michael.lamertz@gmail.com>
6
- License-Expression: MIT
7
- Project-URL: homepage, https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys
8
- Project-URL: bugtracker, https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Topic :: Games/Entertainment
12
- Classifier: Topic :: Software Development :: Libraries :: pygame
13
- Description-Content-Type: text/x-rst
14
- License-File: LICENSE
15
- Requires-Dist: aenum
16
- Requires-Dist: tinyecs>=0.5.0
17
- Dynamic: license-file
18
-
19
- tinyecs-compsys
20
- ===============
21
-
22
- This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
23
-
24
- Synopsis
25
- --------
26
-
27
- .. code:: python
28
-
29
- import tinyecs.compsys as cs
30
-
31
- Usage
32
- -----
33
-
34
- Besides finding and registering sub modules, this package has no direct functionality.
35
- Calling the ``register`` function will import all submodules, which will in
36
- turn inject all their components into the ``Comp`` ``aenum``.
37
-
38
- Installation
39
- ------------
40
-
41
- It's up to you, if you install the currently provided `compsys` packages from
42
- `tinyecs` by using
43
-
44
- .. code:: console
45
-
46
- pip install tinyecs[all]
47
-
48
- or include them all by adding specific dependencies:
49
-
50
- .. code:: console
51
-
52
- pip install tinyecs
53
- pip install tinyecs-compsys
54
- pip install tinyecs-compsys-base
55
-
56
- Support / Contributing
57
- ----------------------
58
-
59
- Issues can be opened on `github issues`_
60
-
61
- .. _github issues: https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues
62
-
63
- License
64
- -------
65
-
66
- This software is provided under the MIT license.
67
-
68
- See LICENSE file for details.
@@ -1,50 +0,0 @@
1
- tinyecs-compsys
2
- ===============
3
-
4
- This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
5
-
6
- Synopsis
7
- --------
8
-
9
- .. code:: python
10
-
11
- import tinyecs.compsys as cs
12
-
13
- Usage
14
- -----
15
-
16
- Besides finding and registering sub modules, this package has no direct functionality.
17
- Calling the ``register`` function will import all submodules, which will in
18
- turn inject all their components into the ``Comp`` ``aenum``.
19
-
20
- Installation
21
- ------------
22
-
23
- It's up to you, if you install the currently provided `compsys` packages from
24
- `tinyecs` by using
25
-
26
- .. code:: console
27
-
28
- pip install tinyecs[all]
29
-
30
- or include them all by adding specific dependencies:
31
-
32
- .. code:: console
33
-
34
- pip install tinyecs
35
- pip install tinyecs-compsys
36
- pip install tinyecs-compsys-base
37
-
38
- Support / Contributing
39
- ----------------------
40
-
41
- Issues can be opened on `github issues`_
42
-
43
- .. _github issues: https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues
44
-
45
- License
46
- -------
47
-
48
- This software is provided under the MIT license.
49
-
50
- See LICENSE file for details.
@@ -1,27 +0,0 @@
1
- from importlib import import_module
2
- from importlib.resources import files
3
-
4
- from aenum import StrEnum, auto
5
-
6
-
7
- class Comp(StrEnum):
8
- NONE = auto()
9
-
10
-
11
- class Prop(StrEnum):
12
- NONE = auto()
13
-
14
-
15
- def register():
16
- """Register all tinyecs-compsy submodules.
17
-
18
- Use this at the beginning of your project to import all submodules into the ``tinyecs.compsys`` namespace.
19
- Registered modules will inject their components into ``tinyecs.compsys.Comp``.
20
- """
21
-
22
- BLACKLIST = ['__pycache__', '__init__.py']
23
- HOME = files()
24
-
25
- for sub in [_.name for _ in HOME.iterdir() if _.name not in BLACKLIST]:
26
- print(f'Importing {sub}')
27
- import_module(f'{__name__}.{sub}')
@@ -1,68 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: tinyecs-compsys
3
- Version: 0.0.1
4
- Summary: Compsys root for tinyecs
5
- Author-email: Michael Lamertz <michael.lamertz@gmail.com>
6
- License-Expression: MIT
7
- Project-URL: homepage, https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys
8
- Project-URL: bugtracker, https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Topic :: Games/Entertainment
12
- Classifier: Topic :: Software Development :: Libraries :: pygame
13
- Description-Content-Type: text/x-rst
14
- License-File: LICENSE
15
- Requires-Dist: aenum
16
- Requires-Dist: tinyecs>=0.5.0
17
- Dynamic: license-file
18
-
19
- tinyecs-compsys
20
- ===============
21
-
22
- This is the namespace to contain all other ``tinyecs-compsys-XXXX`` packages.
23
-
24
- Synopsis
25
- --------
26
-
27
- .. code:: python
28
-
29
- import tinyecs.compsys as cs
30
-
31
- Usage
32
- -----
33
-
34
- Besides finding and registering sub modules, this package has no direct functionality.
35
- Calling the ``register`` function will import all submodules, which will in
36
- turn inject all their components into the ``Comp`` ``aenum``.
37
-
38
- Installation
39
- ------------
40
-
41
- It's up to you, if you install the currently provided `compsys` packages from
42
- `tinyecs` by using
43
-
44
- .. code:: console
45
-
46
- pip install tinyecs[all]
47
-
48
- or include them all by adding specific dependencies:
49
-
50
- .. code:: console
51
-
52
- pip install tinyecs
53
- pip install tinyecs-compsys
54
- pip install tinyecs-compsys-base
55
-
56
- Support / Contributing
57
- ----------------------
58
-
59
- Issues can be opened on `github issues`_
60
-
61
- .. _github issues: https://forgejo.indieandmore.photography/dickerdackel/tinyecs-compsys/issues
62
-
63
- License
64
- -------
65
-
66
- This software is provided under the MIT license.
67
-
68
- See LICENSE file for details.
@@ -1,12 +0,0 @@
1
- import pytest
2
-
3
- from contextlib import nullcontext as does_not_raise
4
-
5
-
6
- def test_FIXME():
7
- assert True is True
8
- ...
9
-
10
- with pytest.raises(FIXME_ExpectedException_FIXME) as e: # noqa
11
- FIXME_function_expected_to_raise_exception() # noqa
12
- assert 'FIXME_string_expected_in_exception' in str(e.value)
File without changes