tinyecs 0.3.2__tar.gz → 0.3.4__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.
Files changed (27) hide show
  1. tinyecs-0.3.4/PKG-INFO +17 -0
  2. tinyecs-0.3.4/README.rst +72 -0
  3. {tinyecs-0.3.2 → tinyecs-0.3.4}/pyproject.toml +9 -1
  4. tinyecs-0.3.4/src/tinyecs/__init__.py +792 -0
  5. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/tutorial.py +46 -42
  6. tinyecs-0.3.4/src/tinyecs.egg-info/PKG-INFO +17 -0
  7. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs.egg-info/SOURCES.txt +1 -1
  8. {tinyecs-0.3.2 → tinyecs-0.3.4}/tests/test_tinyecs.py +70 -30
  9. tinyecs-0.3.2/PKG-INFO +0 -717
  10. tinyecs-0.3.2/README.md +0 -700
  11. tinyecs-0.3.2/src/tinyecs/__init__.py +0 -835
  12. tinyecs-0.3.2/src/tinyecs.egg-info/PKG-INFO +0 -717
  13. {tinyecs-0.3.2 → tinyecs-0.3.4}/LICENSE +0 -0
  14. {tinyecs-0.3.2 → tinyecs-0.3.4}/setup.cfg +0 -0
  15. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/components.py +0 -0
  16. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/compsys.py +0 -0
  17. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demo.py +0 -0
  18. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/__init__.py +0 -0
  19. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/background.py +0 -0
  20. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/bouncing_sprites.py +0 -0
  21. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/example.py +0 -0
  22. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/homing-missiles.py +0 -0
  23. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs/demos/marquee.py +0 -0
  24. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs.egg-info/dependency_links.txt +0 -0
  25. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs.egg-info/entry_points.txt +0 -0
  26. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs.egg-info/requires.txt +0 -0
  27. {tinyecs-0.3.2 → tinyecs-0.3.4}/src/tinyecs.egg-info/top_level.txt +0 -0
tinyecs-0.3.4/PKG-INFO ADDED
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.4
2
+ Name: tinyecs
3
+ Version: 0.3.4
4
+ Summary: The teeniest, tiniest ECS system
5
+ Author-email: Michael Lamertz <michael.lamertz@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: homepage, https://github.com/dickerdackel/tinyecs
8
+ Project-URL: bugtracker, https://github.com/DickerDackel/tinyecs/issues
9
+ Project-URL: docs, https://tinyecs.readthedocs.io/
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Topic :: Games/Entertainment
13
+ Classifier: Topic :: Software Development :: Libraries :: pygame
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: pgcooldown
17
+ Dynamic: license-file
@@ -0,0 +1,72 @@
1
+ Introduction
2
+ ############
3
+
4
+ ECS stands for Entity Component System, and it is a programming paradigm that
5
+ differs from the well known OO.
6
+
7
+ During my research I stumbled over `this article`_ and after reading part 2 and
8
+ 3, I decided to implement an ECS myself, well aware that `esper` is a solid
9
+ and long existing implementation, but I wanted to see how to implement it
10
+ myself.
11
+
12
+ .. _this article: https://web.archive.org/web/20250408195932/https://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/
13
+
14
+
15
+ I'm not trying to sell you an ECS by explaining the problems of multiple
16
+ inheritance in game programming. There are articles out there that do this in
17
+ much detail. If you're here, you're already interested in the concept, so
18
+ the tutorial might be a good starting point. It will create a small demo with
19
+ bouncing sprites using pygame-ce. But tinyecs is platform agnostic, you can
20
+ use it with whatever library you like.
21
+
22
+
23
+ Installation
24
+ ============
25
+
26
+ tinyecs is available on pip and can be installed by::
27
+
28
+ pip install tinyecs
29
+
30
+ The project is maintained and hosted on `github`_, where you also can find the
31
+ wheels for a local install, or install it directly from the cloned repo.
32
+
33
+ .. _github: https://github.com/dickerdackel/tinyecs
34
+
35
+ .. code-block::
36
+
37
+ git clone https://github.com/dickerdackel/tinyecs
38
+ cd tinyecs
39
+ python3 -m venv --prompt tinyecs .venv
40
+ .venv/bin/activate
41
+ # or .venv/Scripts/activate.bat on windows
42
+ pip install .
43
+
44
+ Documentation
45
+ =============
46
+
47
+ The project home and main documentation is on `Read the Docs`_.
48
+
49
+ .. _Read the Docs: https://tinyecs.readthedocs.io/
50
+
51
+ Support / Contributing
52
+ ======================
53
+
54
+ Issues can be opened on `github issues`_
55
+
56
+ .. _github issues: https://github.com/dickerdackel/tinyecs/issues
57
+
58
+ Please respect, that I don't want any contributions done with the assistance
59
+ of AI. This is a hobby project with focus on the craft of programming. I
60
+ have experimentally used AI to audit parts of the code and documentation, and
61
+ while it found a lot of typos and 2 actual issues, without exception, the
62
+ provided solutions were often besides the point or plain wrong.
63
+
64
+ I have no possibility to enforce that request, the simple fact that I ask for
65
+ it should be sufficient.
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"
3
3
  description = "The teeniest, tiniest ECS system"
4
- version = "0.3.2"
4
+ version = "0.3.4"
5
5
  readme = "README.md"
6
6
 
7
7
  authors = [
@@ -30,13 +30,21 @@ tinyecs-demo = 'tinyecs.demo:main'
30
30
  [project.urls]
31
31
  homepage = "https://github.com/dickerdackel/tinyecs"
32
32
  bugtracker = "https://github.com/DickerDackel/tinyecs/issues"
33
+ docs = "https://tinyecs.readthedocs.io/"
33
34
 
34
35
  [build-system]
35
36
  requires = ["setuptools"]
36
37
  build-backend = "setuptools.build_meta"
37
38
 
39
+ [tool.setuptools]
40
+ include-package-data = true
41
+
38
42
  [tool.pytest.ini_options]
39
43
  addopts = "-rA -s"
40
44
  testpaths = [
41
45
  "tests",
42
46
  ]
47
+
48
+ [tool.basedpyright]
49
+ reportAny = false
50
+ reportExplicitAny = false