#!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2023/5/1 11:59 @Author : alexanderwu @File : const.py """ import os from pathlib import Path from loguru import logger import metagpt def get_metagpt_package_root(): """Get the root directory of the installed package.""" package_root = Path(metagpt.__file__).parent.parent logger.info(f"Package root set to {str(package_root)}") return package_root def get_metagpt_root(): """Get the project root directory.""" # Check if a project root is specified in the environment variable project_root_env = os.getenv('METAGPT_PROJECT_ROOT') if project_root_env: project_root = Path(project_root_env) logger.info(f"PROJECT_ROOT set from environment variable to {str(project_root)}") else: # Fallback to package root if no environment variable is set project_root = get_metagpt_package_root() return project_root # METAGPT PROJECT ROOT AND VARS METAGPT_ROOT = get_metagpt_root() DEFAULT_WORKSPACE_ROOT = METAGPT_ROOT / "workspace" DATA_PATH = METAGPT_ROOT / "data" RESEARCH_PATH = DATA_PATH / "research" TUTORIAL_PATH = DATA_PATH / "tutorial_docx" INVOICE_OCR_TABLE_PATH = DATA_PATH / "invoice_table" UT_PATH = DATA_PATH / "ut" SWAGGER_PATH = UT_PATH / "files/api/" UT_PY_PATH = UT_PATH / "files/ut/" API_QUESTIONS_PATH = UT_PATH / "files/question/" TMP = METAGPT_ROOT / "tmp" SOURCE_ROOT = METAGPT_ROOT / "metagpt" PROMPT_PATH = SOURCE_ROOT / "prompts" SKILL_DIRECTORY = SOURCE_ROOT / "skills" # REAL CONSTS MEM_TTL = 24 * 30 * 3600 YAPI_URL = "http://yapi.deepwisdomai.com/"