JJaniel commited on
Commit
887ef72
Β·
1 Parent(s): 4abd3ba

refactor: flatten project structure to root for openenv validate compliance

Browse files
Dockerfile CHANGED
@@ -8,7 +8,7 @@ ENV PATH="/home/user/.local/bin:$PATH"
8
  WORKDIR /app
9
 
10
  # Copy dependency files and install
11
- COPY --chown=user email_triage_env/pyproject.toml /app/email_triage_env/pyproject.toml
12
  RUN pip install --no-cache-dir openenv-core gymnasium pydantic fastapi uvicorn openai
13
 
14
  # Copy the entire project structure
@@ -21,4 +21,4 @@ ENV PYTHONPATH=/app
21
  EXPOSE 7860
22
 
23
  # Default command: run the environment server on port 7860
24
- CMD ["uvicorn", "email_triage_env.server.app:app", "--host", "0.0.0.0", "--port", "7860"]
 
8
  WORKDIR /app
9
 
10
  # Copy dependency files and install
11
+ COPY --chown=user pyproject.toml /app/pyproject.toml
12
  RUN pip install --no-cache-dir openenv-core gymnasium pydantic fastapi uvicorn openai
13
 
14
  # Copy the entire project structure
 
21
  EXPOSE 7860
22
 
23
  # Default command: run the environment server on port 7860
24
+ CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "7860"]
{email_triage_env/datasets β†’ datasets}/easy_tasks.json RENAMED
File without changes
{email_triage_env/datasets β†’ datasets}/hard_tasks.json RENAMED
File without changes
{email_triage_env/datasets β†’ datasets}/medium_tasks.json RENAMED
File without changes
email_triage_env/server/__init__.py DELETED
File without changes
inference.py CHANGED
@@ -9,8 +9,8 @@ from openai import OpenAI
9
  # Add current directory to path
10
  sys.path.append(os.getcwd())
11
 
12
- from email_triage_env.server.environment import EmailTriageEnv
13
- from email_triage_env.models import EmailAction
14
 
15
  # MANDATORY CONFIGURATION
16
  API_BASE_URL = os.getenv("API_BASE_URL") or "https://router.huggingface.co/v1"
 
9
  # Add current directory to path
10
  sys.path.append(os.getcwd())
11
 
12
+ from server.environment import EmailTriageEnv
13
+ from models import EmailAction
14
 
15
  # MANDATORY CONFIGURATION
16
  API_BASE_URL = os.getenv("API_BASE_URL") or "https://router.huggingface.co/v1"
main.py CHANGED
@@ -1,5 +1,5 @@
1
  import uvicorn
2
- from email_triage_env.server.app import app
3
 
4
  def main():
5
  print("Starting Email Triage Environment Server...")
 
1
  import uvicorn
2
+ from server.app import app
3
 
4
  def main():
5
  print("Starting Email Triage Environment Server...")
email_triage_env/models.py β†’ models.py RENAMED
File without changes
email_triage_env/openenv.yaml β†’ openenv.yaml RENAMED
@@ -3,8 +3,8 @@ version: 0.1.0
3
  description: A mini RL environment for email triage and prioritization.
4
 
5
  server:
6
- module: email_triage_env.server.app
7
  port: 7860
8
 
9
  models:
10
- module: email_triage_env.models
 
3
  description: A mini RL environment for email triage and prioritization.
4
 
5
  server:
6
+ module: server.app
7
  port: 7860
8
 
9
  models:
10
+ module: models
pre_validate.py CHANGED
@@ -16,12 +16,12 @@ def check_file(path: str):
16
  def validate_structure():
17
  print("\n--- Step 1: Structure Check ---")
18
  required = [
19
- "email_triage_env/models.py",
20
- "email_triage_env/openenv.yaml",
21
- "email_triage_env/pyproject.toml",
22
- "email_triage_env/uv.lock",
23
- "email_triage_env/server/environment.py",
24
- "email_triage_env/server/app.py",
25
  "inference.py",
26
  "Dockerfile"
27
  ]
@@ -72,7 +72,7 @@ def validate_openenv():
72
  print("\n--- Step 3: openenv validate Check ---")
73
  try:
74
  result = subprocess.run(
75
- ["openenv", "validate", "email_triage_env"],
76
  capture_output=True,
77
  text=True
78
  )
 
16
  def validate_structure():
17
  print("\n--- Step 1: Structure Check ---")
18
  required = [
19
+ "models.py",
20
+ "openenv.yaml",
21
+ "pyproject.toml",
22
+ "uv.lock",
23
+ "server/environment.py",
24
+ "server/app.py",
25
  "inference.py",
26
  "Dockerfile"
27
  ]
 
72
  print("\n--- Step 3: openenv validate Check ---")
73
  try:
74
  result = subprocess.run(
75
+ ["openenv", "validate", "."],
76
  capture_output=True,
77
  text=True
78
  )
email_triage_env/pyproject.toml β†’ pyproject.toml RENAMED
File without changes
{email_triage_env β†’ server}/__init__.py RENAMED
File without changes
{email_triage_env/server β†’ server}/app.py RENAMED
@@ -1,6 +1,6 @@
1
  from openenv.core.env_server import create_fastapi_app
2
- from .environment import EmailTriageEnv
3
- from ..models import EmailAction, EmailObservation
4
  import uvicorn
5
 
6
  # Initialize the FastAPI app
 
1
  from openenv.core.env_server import create_fastapi_app
2
+ from server.environment import EmailTriageEnv
3
+ from models import EmailAction, EmailObservation
4
  import uvicorn
5
 
6
  # Initialize the FastAPI app
{email_triage_env/server β†’ server}/environment.py RENAMED
@@ -3,7 +3,7 @@ import json
3
  import os
4
  from typing import List, Optional
5
  from openenv.core.env_server import Environment
6
- from ..models import EmailAction, EmailObservation, EmailState, EmailItem
7
 
8
  # Load real-world datasets from JSON files
9
  def load_dataset(filename: str):
 
3
  import os
4
  from typing import List, Optional
5
  from openenv.core.env_server import Environment
6
+ from models import EmailAction, EmailObservation, EmailState, EmailItem
7
 
8
  # Load real-world datasets from JSON files
9
  def load_dataset(filename: str):
uv.lock ADDED
The diff for this file is too large to render. See raw diff
 
validate-submission.sh CHANGED
@@ -23,6 +23,6 @@ log "${BOLD}Step 2/3: Running docker build${NC} ..."
23
  if docker build -t email-triage-test .; then pass "Docker build succeeded"; else fail "Docker build failed"; stop_at "Step 2"; fi
24
 
25
  log "${BOLD}Step 3/3: Running openenv validate${NC} ..."
26
- if openenv validate email_triage_env; then pass "openenv validate passed"; else fail "openenv validate failed"; stop_at "Step 3"; fi
27
 
28
  printf "\n${GREEN}${BOLD} All checks passed locally! Ready for HF deployment.${NC}\n"
 
23
  if docker build -t email-triage-test .; then pass "Docker build succeeded"; else fail "Docker build failed"; stop_at "Step 2"; fi
24
 
25
  log "${BOLD}Step 3/3: Running openenv validate${NC} ..."
26
+ if openenv validate .; then pass "openenv validate passed"; else fail "openenv validate failed"; stop_at "Step 3"; fi
27
 
28
  printf "\n${GREEN}${BOLD} All checks passed locally! Ready for HF deployment.${NC}\n"