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.
- {aether_engine-1.0.1/aether_engine.egg-info → aether_engine-1.0.3}/PKG-INFO +6 -6
- {aether_engine-1.0.1 → aether_engine-1.0.3}/README.md +2 -2
- {aether_engine-1.0.1 → aether_engine-1.0.3/aether_engine.egg-info}/PKG-INFO +6 -6
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/requires.txt +4 -3
- aether_engine-1.0.3/setup.py +123 -0
- aether_engine-1.0.1/setup.py +0 -80
- {aether_engine-1.0.1 → aether_engine-1.0.3}/LICENSE +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/MANIFEST.in +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ai/behavior_tree.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ai/navmesh.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/animation/skeleton.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/assets/asset_pipeline.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/audio_manager.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/music.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/audio/sound.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/achievement_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/application.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/config.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/console.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/engine.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/event_bus.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/input.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/plugin_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/save_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/time_manager.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/core/window.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/editor/gizmo.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/editor/imgui_integration.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/environment/environment_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/camera.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/framebuffer.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/light.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/lod_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/material.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/mesh.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/mesh_factory.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/particle_system.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/post_process.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/renderer.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/shader.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/shader_library.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/sky_atmosphere.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/terrain.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/texture.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/graphics/water.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/network/network_manager.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/bullet_backend.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/collider.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/physics_world.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/raycast.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/physics/rigidbody.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/platform/steam_api.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/asset_database.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/loaders/obj_loader.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/loaders/texture_loader.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/resource_manager.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/resources/serialization.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/component.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/entity.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene_graph.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/scene/scene_manager.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/button.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/canvas.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/ui/text.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/__init__.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/logger.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/math_utils.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/object_pool.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether/utils/profiler.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/SOURCES.txt +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/dependency_links.txt +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/aether_engine.egg-info/top_level.txt +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/examples/01_hello_cube.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/examples/02_sphere_scene.py +0 -0
- {aether_engine-1.0.1 → aether_engine-1.0.3}/pyproject.toml +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
449
|
+
Версия: 1.0.3 - Исправления установки библеотек на разные версии пайтон
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aether-engine
|
|
3
|
-
Version: 1.0.
|
|
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.
|
|
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.
|
|
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
|
+
)
|
aether_engine-1.0.1/setup.py
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|