refactor: proper package structure - move he_demo package to dedicated folder
Browse filesThis refactoring fixes the hacky pyproject.toml setup where the root was acting as the package.
Changes:
- Created he_demo/ subfolder with proper Python package structure
- Moved core files: __init__.py, client.py, models.py, task_graders.py, task_registry.py, grader_manifest.py
- Moved server/ to he_demo/server/ with all files (__init__.py, app.py, he_demo_environment.py)
- Updated pyproject.toml:
* Removed hacky package-dir = {he_demo: ., he_demo.server: server}
* Kept clean: packages = [he_demo, he_demo.server]
* Removed py-modules = [graders]
- Updated all root-level scripts to use proper imports:
* validate_comprehensive.py: server.he_demo_environment → he_demo.server.he_demo_environment
* gym_wrapper.py: server.he_demo_environment → he_demo.server.he_demo_environment
* test_environment.py: server.he_demo_environment → he_demo.server.he_demo_environment
* validate.py: server.he_demo_environment → he_demo.server.he_demo_environment
Benefits:
✓ Proper Python package structure (no more hacky root-level package dir)
✓ All imports use he_demo.* paths consistently
✓ Can be properly installed with pip install -e .
✓ Compatible with build tools and package managers
✓ Better IDE support and import resolution
- gym_wrapper.py +1 -1
- __init__.py → he_demo/__init__.py +5 -5
- client.py → he_demo/client.py +0 -0
- grader_manifest.py → he_demo/grader_manifest.py +0 -0
- models.py → he_demo/models.py +0 -0
- {server → he_demo/server}/__init__.py +0 -0
- {server → he_demo/server}/app.py +0 -0
- {server → he_demo/server}/he_demo_environment.py +0 -0
- {server → he_demo/server}/requirements.txt +0 -0
- task_graders.py → he_demo/task_graders.py +0 -0
- task_registry.py → he_demo/task_registry.py +0 -0
- pyproject.toml +1 -3
- test_environment.py +1 -1
- validate.py +1 -1
- validate_comprehensive.py +1 -1
|
@@ -20,7 +20,7 @@ he_demo.TaskSummary = TaskSummary
|
|
| 20 |
sys.modules['he_demo'] = he_demo
|
| 21 |
sys.modules['he_demo.models'] = he_demo
|
| 22 |
|
| 23 |
-
from server.he_demo_environment import EnergyOptimizationEnvironment
|
| 24 |
|
| 25 |
class EnergyOptimizationGymEnv(gym.Env):
|
| 26 |
"""Gym wrapper for the Energy Optimization Environment."""
|
|
|
|
| 20 |
sys.modules['he_demo'] = he_demo
|
| 21 |
sys.modules['he_demo.models'] = he_demo
|
| 22 |
|
| 23 |
+
from he_demo.server.he_demo_environment import EnergyOptimizationEnvironment
|
| 24 |
|
| 25 |
class EnergyOptimizationGymEnv(gym.Env):
|
| 26 |
"""Gym wrapper for the Energy Optimization Environment."""
|
|
@@ -6,9 +6,9 @@
|
|
| 6 |
|
| 7 |
"""Energy & Memory RAM Optimization Environment."""
|
| 8 |
|
| 9 |
-
from .client import EnergyOptimizationEnv
|
| 10 |
-
from .models import EnergyOptimizationAction, EnergyOptimizationObservation, Task
|
| 11 |
-
from .task_graders import (
|
| 12 |
TASK_GRADERS,
|
| 13 |
get_grader,
|
| 14 |
get_all_graders,
|
|
@@ -19,14 +19,14 @@ from .task_graders import (
|
|
| 19 |
task_4_advanced_efficiency_grader,
|
| 20 |
task_5_expert_optimization_grader,
|
| 21 |
)
|
| 22 |
-
from .task_registry import (
|
| 23 |
TASK_REGISTRY,
|
| 24 |
get_all_tasks_with_graders,
|
| 25 |
get_task_grader,
|
| 26 |
get_tasks_count,
|
| 27 |
is_grader_requirement_met,
|
| 28 |
)
|
| 29 |
-
from .grader_manifest import (
|
| 30 |
GRADERS_MANIFEST,
|
| 31 |
get_graders_manifest,
|
| 32 |
get_active_graders_count,
|
|
|
|
| 6 |
|
| 7 |
"""Energy & Memory RAM Optimization Environment."""
|
| 8 |
|
| 9 |
+
from he_demo.client import EnergyOptimizationEnv
|
| 10 |
+
from he_demo.models import EnergyOptimizationAction, EnergyOptimizationObservation, Task
|
| 11 |
+
from he_demo.task_graders import (
|
| 12 |
TASK_GRADERS,
|
| 13 |
get_grader,
|
| 14 |
get_all_graders,
|
|
|
|
| 19 |
task_4_advanced_efficiency_grader,
|
| 20 |
task_5_expert_optimization_grader,
|
| 21 |
)
|
| 22 |
+
from he_demo.task_registry import (
|
| 23 |
TASK_REGISTRY,
|
| 24 |
get_all_tasks_with_graders,
|
| 25 |
get_task_grader,
|
| 26 |
get_tasks_count,
|
| 27 |
is_grader_requirement_met,
|
| 28 |
)
|
| 29 |
+
from he_demo.grader_manifest import (
|
| 30 |
GRADERS_MANIFEST,
|
| 31 |
get_graders_manifest,
|
| 32 |
get_active_graders_count,
|
|
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
|
|
@@ -41,6 +41,4 @@ server = "he_demo.server.app:main"
|
|
| 41 |
|
| 42 |
[tool.setuptools]
|
| 43 |
include-package-data = true
|
| 44 |
-
packages = ["he_demo", "he_demo.server"]
|
| 45 |
-
package-dir = { "he_demo" = ".", "he_demo.server" = "server" }
|
| 46 |
-
py-modules = ["graders"]
|
|
|
|
| 41 |
|
| 42 |
[tool.setuptools]
|
| 43 |
include-package-data = true
|
| 44 |
+
packages = ["he_demo", "he_demo.server"]
|
|
|
|
|
|
|
@@ -26,7 +26,7 @@ sys.modules['he_demo'] = he_demo
|
|
| 26 |
sys.modules['he_demo.models'] = he_demo
|
| 27 |
|
| 28 |
# Now import the environment
|
| 29 |
-
from server.he_demo_environment import EnergyOptimizationEnvironment
|
| 30 |
|
| 31 |
def test_environment():
|
| 32 |
"""Test the energy optimization environment."""
|
|
|
|
| 26 |
sys.modules['he_demo.models'] = he_demo
|
| 27 |
|
| 28 |
# Now import the environment
|
| 29 |
+
from he_demo.server.he_demo_environment import EnergyOptimizationEnvironment
|
| 30 |
|
| 31 |
def test_environment():
|
| 32 |
"""Test the energy optimization environment."""
|
|
@@ -31,7 +31,7 @@ sys.modules['he_demo.models'] = he_demo
|
|
| 31 |
sys.modules['he_demo.task_graders'] = sys.modules.get('task_graders')
|
| 32 |
|
| 33 |
# Now import the environment
|
| 34 |
-
from server.he_demo_environment import EnergyOptimizationEnvironment
|
| 35 |
|
| 36 |
def main():
|
| 37 |
print("🔋 Energy & Memory RAM Optimization Environment - Final Validation")
|
|
|
|
| 31 |
sys.modules['he_demo.task_graders'] = sys.modules.get('task_graders')
|
| 32 |
|
| 33 |
# Now import the environment
|
| 34 |
+
from he_demo.server.he_demo_environment import EnergyOptimizationEnvironment
|
| 35 |
|
| 36 |
def main():
|
| 37 |
print("🔋 Energy & Memory RAM Optimization Environment - Final Validation")
|
|
@@ -28,7 +28,7 @@ sys.modules['he_demo'] = he_demo
|
|
| 28 |
sys.modules['he_demo.models'] = he_demo
|
| 29 |
|
| 30 |
# Now import the environment
|
| 31 |
-
from server.he_demo_environment import EnergyOptimizationEnvironment
|
| 32 |
|
| 33 |
def create_observation(ram_usage, energy_consumption, steps_taken):
|
| 34 |
"""Helper to create observations for testing."""
|
|
|
|
| 28 |
sys.modules['he_demo.models'] = he_demo
|
| 29 |
|
| 30 |
# Now import the environment
|
| 31 |
+
from he_demo.server.he_demo_environment import EnergyOptimizationEnvironment
|
| 32 |
|
| 33 |
def create_observation(ram_usage, energy_consumption, steps_taken):
|
| 34 |
"""Helper to create observations for testing."""
|