aether-engine 1.0.1__tar.gz → 1.0.3__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 (85) hide show
  1. {aether_engine-1.0.1/aether_engine.egg-info → aether_engine-1.0.3}/PKG-INFO +6 -6
  2. {aether_engine-1.0.1 → aether_engine-1.0.3}/README.md +2 -2
  3. {aether_engine-1.0.1 → aether_engine-1.0.3/aether_engine.egg-info}/PKG-INFO +6 -6
  4. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/requires.txt +4 -3
  5. aether_engine-1.0.3/setup.py +123 -0
  6. aether_engine-1.0.1/setup.py +0 -80
  7. {aether_engine-1.0.1 → aether_engine-1.0.3}/LICENSE +0 -0
  8. {aether_engine-1.0.1 → aether_engine-1.0.3}/MANIFEST.in +0 -0
  9. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/__init__.py +0 -0
  10. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ai/behavior_tree.py +0 -0
  11. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ai/navmesh.py +0 -0
  12. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/animation/skeleton.py +0 -0
  13. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/assets/asset_pipeline.py +0 -0
  14. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/__init__.py +0 -0
  15. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/audio_manager.py +0 -0
  16. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/music.py +0 -0
  17. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/sound.py +0 -0
  18. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/__init__.py +0 -0
  19. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/achievement_system.py +0 -0
  20. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/application.py +0 -0
  21. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/config.py +0 -0
  22. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/console.py +0 -0
  23. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/engine.py +0 -0
  24. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/event_bus.py +0 -0
  25. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/input.py +0 -0
  26. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/plugin_system.py +0 -0
  27. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/save_system.py +0 -0
  28. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/time_manager.py +0 -0
  29. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/window.py +0 -0
  30. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/editor/gizmo.py +0 -0
  31. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/editor/imgui_integration.py +0 -0
  32. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/environment/environment_system.py +0 -0
  33. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/__init__.py +0 -0
  34. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/camera.py +0 -0
  35. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/framebuffer.py +0 -0
  36. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/light.py +0 -0
  37. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/lod_system.py +0 -0
  38. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/material.py +0 -0
  39. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/mesh.py +0 -0
  40. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/mesh_factory.py +0 -0
  41. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/particle_system.py +0 -0
  42. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/post_process.py +0 -0
  43. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/renderer.py +0 -0
  44. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/shader.py +0 -0
  45. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/shader_library.py +0 -0
  46. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/sky_atmosphere.py +0 -0
  47. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/terrain.py +0 -0
  48. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/texture.py +0 -0
  49. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/water.py +0 -0
  50. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/network/network_manager.py +0 -0
  51. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/__init__.py +0 -0
  52. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/bullet_backend.py +0 -0
  53. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/collider.py +0 -0
  54. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/physics_world.py +0 -0
  55. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/raycast.py +0 -0
  56. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/rigidbody.py +0 -0
  57. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/platform/steam_api.py +0 -0
  58. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/__init__.py +0 -0
  59. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/asset_database.py +0 -0
  60. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/loaders/obj_loader.py +0 -0
  61. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/loaders/texture_loader.py +0 -0
  62. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/resource_manager.py +0 -0
  63. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/serialization.py +0 -0
  64. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/__init__.py +0 -0
  65. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/component.py +0 -0
  66. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/entity.py +0 -0
  67. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene.py +0 -0
  68. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene_graph.py +0 -0
  69. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene_manager.py +0 -0
  70. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/__init__.py +0 -0
  71. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/button.py +0 -0
  72. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/canvas.py +0 -0
  73. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/text.py +0 -0
  74. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/__init__.py +0 -0
  75. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/logger.py +0 -0
  76. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/math_utils.py +0 -0
  77. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/object_pool.py +0 -0
  78. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/profiler.py +0 -0
  79. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/SOURCES.txt +0 -0
  80. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/dependency_links.txt +0 -0
  81. {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/top_level.txt +0 -0
  82. {aether_engine-1.0.1 → aether_engine-1.0.3}/examples/01_hello_cube.py +0 -0
  83. {aether_engine-1.0.1 → aether_engine-1.0.3}/examples/02_sphere_scene.py +0 -0
  84. {aether_engine-1.0.1 → aether_engine-1.0.3}/pyproject.toml +0 -0
  85. {aether_engine-1.0.1 → aether_engine-1.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aether-engine
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  Summary: Полноценный 3D игровой движок на Python с OpenGL
5
5
  Home-page: https://pypi.org/project/aether-engine/
6
6
  Author: entiti937
@@ -27,15 +27,15 @@ Provides-Extra: audio
27
27
  Requires-Dist: pygame-ce>=2.5; extra == "audio"
28
28
  Provides-Extra: physics
29
29
  Requires-Dist: pymunk>=6.0; extra == "physics"
30
+ Provides-Extra: imgui
30
31
  Provides-Extra: full
31
- Requires-Dist: pygame-ce>=2.5; extra == "full"
32
32
  Requires-Dist: pymunk>=6.0; extra == "full"
33
33
  Requires-Dist: freetype-py>=2.4; extra == "full"
34
- Requires-Dist: imgui>=2.0; extra == "full"
35
- Requires-Dist: noise>=1.2; extra == "full"
36
34
  Requires-Dist: pyyaml>=6.0; extra == "full"
37
35
  Requires-Dist: imageio>=2.31; extra == "full"
38
36
  Requires-Dist: trimesh>=3.21; extra == "full"
37
+ Requires-Dist: pygame-ce>=2.5; extra == "full"
38
+ Requires-Dist: noise>=1.2; extra == "full"
39
39
  Dynamic: author
40
40
  Dynamic: classifier
41
41
  Dynamic: description
@@ -51,7 +51,7 @@ AETHER ENGINE
51
51
  ============
52
52
 
53
53
  Полноценный 3D игровой движок на Python с OpenGL 4.6
54
- Автор: entiti937 | Версия: 1.0.1 | Лицензия: MIT
54
+ Автор: entiti937 | Версия: 1.0.2 | Лицензия: MIT
55
55
  PyPI: https://pypi.org/project/aether-engine/
56
56
 
57
57
 
@@ -495,4 +495,4 @@ MIT License. Используйте свободно в любых проект
495
495
 
496
496
 
497
497
  Автор: entiti937
498
- Версия: 1.0.1 - Исправлен импорт Engine и проблемы с новыми библеотеками, полная документация
498
+ Версия: 1.0.3 - Исправления установки библеотек на разные версии пайтон
@@ -2,7 +2,7 @@ AETHER ENGINE
2
2
  ============
3
3
 
4
4
  Полноценный 3D игровой движок на Python с OpenGL 4.6
5
- Автор: entiti937 | Версия: 1.0.1 | Лицензия: MIT
5
+ Автор: entiti937 | Версия: 1.0.2 | Лицензия: MIT
6
6
  PyPI: https://pypi.org/project/aether-engine/
7
7
 
8
8
 
@@ -446,4 +446,4 @@ MIT License. Используйте свободно в любых проект
446
446
 
447
447
 
448
448
  Автор: entiti937
449
- Версия: 1.0.1 - Исправлен импорт Engine и проблемы с новыми библеотеками, полная документация
449
+ Версия: 1.0.3 - Исправления установки библеотек на разные версии пайтон
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aether-engine
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  Summary: Полноценный 3D игровой движок на Python с OpenGL
5
5
  Home-page: https://pypi.org/project/aether-engine/
6
6
  Author: entiti937
@@ -27,15 +27,15 @@ Provides-Extra: audio
27
27
  Requires-Dist: pygame-ce>=2.5; extra == "audio"
28
28
  Provides-Extra: physics
29
29
  Requires-Dist: pymunk>=6.0; extra == "physics"
30
+ Provides-Extra: imgui
30
31
  Provides-Extra: full
31
- Requires-Dist: pygame-ce>=2.5; extra == "full"
32
32
  Requires-Dist: pymunk>=6.0; extra == "full"
33
33
  Requires-Dist: freetype-py>=2.4; extra == "full"
34
- Requires-Dist: imgui>=2.0; extra == "full"
35
- Requires-Dist: noise>=1.2; extra == "full"
36
34
  Requires-Dist: pyyaml>=6.0; extra == "full"
37
35
  Requires-Dist: imageio>=2.31; extra == "full"
38
36
  Requires-Dist: trimesh>=3.21; extra == "full"
37
+ Requires-Dist: pygame-ce>=2.5; extra == "full"
38
+ Requires-Dist: noise>=1.2; extra == "full"
39
39
  Dynamic: author
40
40
  Dynamic: classifier
41
41
  Dynamic: description
@@ -51,7 +51,7 @@ AETHER ENGINE
51
51
  ============
52
52
 
53
53
  Полноценный 3D игровой движок на Python с OpenGL 4.6
54
- Автор: entiti937 | Версия: 1.0.1 | Лицензия: MIT
54
+ Автор: entiti937 | Версия: 1.0.2 | Лицензия: MIT
55
55
  PyPI: https://pypi.org/project/aether-engine/
56
56
 
57
57
 
@@ -495,4 +495,4 @@ MIT License. Используйте свободно в любых проект
495
495
 
496
496
 
497
497
  Автор: entiti937
498
- Версия: 1.0.1 - Исправлен импорт Engine и проблемы с новыми библеотеками, полная документация
498
+ Версия: 1.0.3 - Исправления установки библеотек на разные версии пайтон
@@ -7,14 +7,15 @@ Pillow>=10.0
7
7
  pygame-ce>=2.5
8
8
 
9
9
  [full]
10
- pygame-ce>=2.5
11
10
  pymunk>=6.0
12
11
  freetype-py>=2.4
13
- imgui>=2.0
14
- noise>=1.2
15
12
  pyyaml>=6.0
16
13
  imageio>=2.31
17
14
  trimesh>=3.21
15
+ pygame-ce>=2.5
16
+ noise>=1.2
17
+
18
+ [imgui]
18
19
 
19
20
  [physics]
20
21
  pymunk>=6.0
@@ -0,0 +1,123 @@
1
+ """Aether Engine - 3D Game Engine"""
2
+ from setuptools import setup, find_packages
3
+ import sys
4
+ import subprocess
5
+ import importlib.util
6
+
7
+ with open("README.md", "r", encoding="utf-8") as f:
8
+ long_description = f.read()
9
+
10
+ python_version = sys.version_info
11
+
12
+ def can_install(package_name):
13
+ """Проверяет, можно ли установить пакет"""
14
+ try:
15
+ # Пробуем импортировать
16
+ importlib.util.find_spec(package_name.replace("-", "_").split(">=")[0].split("[")[0])
17
+ return True
18
+ except:
19
+ pass
20
+
21
+ # Пробуем установить
22
+ try:
23
+ subprocess.run(
24
+ [sys.executable, "-m", "pip", "install", "--dry-run", package_name],
25
+ capture_output=True, timeout=10
26
+ )
27
+ return True
28
+ except:
29
+ return False
30
+
31
+ def is_installed(package_name):
32
+ """Проверяет, установлен ли уже пакет"""
33
+ name = package_name.split(">=")[0].split("[")[0].replace("-", "_")
34
+ return importlib.util.find_spec(name) is not None
35
+
36
+ # Базовые зависимости
37
+ install_requires = [
38
+ "numpy>=1.24",
39
+ "glfw>=2.6",
40
+ "PyOpenGL>=3.1.7",
41
+ "Pillow>=10.0",
42
+ ]
43
+
44
+ # Проверяем что уже установлено
45
+ print(f"Python {python_version.major}.{python_version.minor} detected")
46
+ print("Checking available packages...")
47
+
48
+ # Аудио
49
+ if is_installed("pygame_ce"):
50
+ audio_requires = ["pygame-ce>=2.5"]
51
+ elif is_installed("pygame"):
52
+ audio_requires = ["pygame-ce>=2.5"] # ВСЕГДА pygame-ce
53
+ else:
54
+ audio_requires = ["pygame-ce>=2.5"] # ВСЕГДА pygame-ce
55
+
56
+ # Физика
57
+ physics_requires = []
58
+ if is_installed("pymunk"):
59
+ physics_requires.append("pymunk>=6.0")
60
+ print(" pymunk: already installed")
61
+ else:
62
+ physics_requires.append("pymunk>=6.0")
63
+ print(" physics: pymunk selected (PyBullet not available on Python 3.14+)")
64
+
65
+ # ImGui
66
+ imgui_requires = []
67
+ if is_installed("imgui_bundle"):
68
+ imgui_requires = []
69
+ elif python_version < (3, 14):
70
+ imgui_requires = [] # Не требуем — пусть юзер сам ставит
71
+ else:
72
+ imgui_requires = []
73
+
74
+ # Полный набор
75
+ full_requires = audio_requires + physics_requires + imgui_requires + [
76
+ "freetype-py>=2.4",
77
+ "noise>=1.2",
78
+ "pyyaml>=6.0",
79
+ "imageio>=2.31",
80
+ "trimesh>=3.21",
81
+ ]
82
+
83
+ # Убираем дубликаты
84
+ full_requires = list(set(full_requires))
85
+
86
+ extras_require = {
87
+ "audio": audio_requires,
88
+ "physics": physics_requires,
89
+ "imgui": imgui_requires,
90
+ "full": full_requires,
91
+ }
92
+
93
+ print(f"Audio: {audio_requires}")
94
+ print(f"Physics: {physics_requires}")
95
+ print(f"ImGui: {imgui_requires}")
96
+
97
+ setup(
98
+ name="aether-engine",
99
+ version="1.0.3",
100
+ author="entiti937",
101
+ description="Полноценный 3D игровой движок на Python с OpenGL",
102
+ long_description=long_description,
103
+ long_description_content_type="text/plain",
104
+ url="https://pypi.org/project/aether-engine/",
105
+ packages=find_packages(),
106
+ install_requires=install_requires,
107
+ extras_require=extras_require,
108
+ python_requires=">=3.10",
109
+ classifiers=[
110
+ "Development Status :: 4 - Beta",
111
+ "Intended Audience :: Developers",
112
+ "Topic :: Games/Entertainment",
113
+ "Topic :: Multimedia :: Graphics :: 3D Rendering",
114
+ "License :: OSI Approved :: MIT License",
115
+ "Programming Language :: Python :: 3",
116
+ "Programming Language :: Python :: 3.10",
117
+ "Programming Language :: Python :: 3.11",
118
+ "Programming Language :: Python :: 3.12",
119
+ "Programming Language :: Python :: 3.13",
120
+ "Programming Language :: Python :: 3.14",
121
+ "Operating System :: OS Independent",
122
+ ],
123
+ )
@@ -1,80 +0,0 @@
1
- """Aether Engine - 3D Game Engine"""
2
- from setuptools import setup, find_packages
3
- import sys
4
-
5
- with open("README.md", "r", encoding="utf-8") as f:
6
- long_description = f.read()
7
-
8
- # Определяем версию Python
9
- python_version = sys.version_info
10
-
11
- # Базовые зависимости (работают везде)
12
- install_requires = [
13
- "numpy>=1.24",
14
- "glfw>=2.6",
15
- "PyOpenGL>=3.1.7",
16
- "Pillow>=10.0",
17
- ]
18
-
19
- # Аудио — выбираем в зависимости от версии Python
20
- if python_version >= (3, 13):
21
- audio_requires = ["pygame-ce>=2.5"] # Для Python 3.13+
22
- elif python_version >= (3, 10):
23
- audio_requires = ["pygame>=2.5"] # Для Python 3.10-3.12
24
- else:
25
- audio_requires = ["pygame>=2.5"]
26
-
27
- # Физика
28
- if python_version >= (3, 14):
29
- # PyBullet может не собраться на Python 3.14+
30
- physics_requires = ["pymunk>=6.0"] # Используем pymunk как альтернативу
31
- elif python_version >= (3, 10):
32
- physics_requires = ["PyBullet>=3.2.5", "pymunk>=6.0"] # Оба варианта
33
- else:
34
- physics_requires = ["PyBullet>=3.2.5", "pymunk>=6.0"]
35
-
36
- extras_require = {
37
- "audio": audio_requires,
38
- "physics": physics_requires,
39
- "full": audio_requires + physics_requires + [
40
- "freetype-py>=2.4",
41
- "imgui>=2.0",
42
- "noise>=1.2",
43
- "pyyaml>=6.0",
44
- "imageio>=2.31",
45
- "trimesh>=3.21",
46
- ],
47
- }
48
-
49
- # Выводим информацию
50
- print(f"Python {python_version.major}.{python_version.minor} detected")
51
- print(f"Audio backend: {audio_requires}")
52
- print(f"Physics backend: {physics_requires}")
53
-
54
- setup(
55
- name="aether-engine",
56
- version="1.0.1",
57
- author="entiti937",
58
- description="Полноценный 3D игровой движок на Python с OpenGL",
59
- long_description=long_description,
60
- long_description_content_type="text/plain",
61
- url="https://pypi.org/project/aether-engine/",
62
- packages=find_packages(),
63
- install_requires=install_requires,
64
- extras_require=extras_require,
65
- python_requires=">=3.10",
66
- classifiers=[
67
- "Development Status :: 4 - Beta",
68
- "Intended Audience :: Developers",
69
- "Topic :: Games/Entertainment",
70
- "Topic :: Multimedia :: Graphics :: 3D Rendering",
71
- "License :: OSI Approved :: MIT License",
72
- "Programming Language :: Python :: 3",
73
- "Programming Language :: Python :: 3.10",
74
- "Programming Language :: Python :: 3.11",
75
- "Programming Language :: Python :: 3.12",
76
- "Programming Language :: Python :: 3.13",
77
- "Programming Language :: Python :: 3.14",
78
- "Operating System :: OS Independent",
79
- ],
80
- )
File without changes
File without changes
File without changes