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