mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-30 17:07:43 +00:00
7800805e04
* update rdagent cmd * fix log error message * use multiProcessing.Process instead of subprocess.Popen * add traces to gitignore * add user interactor in RDLoop (finance scenarios) * add interactor (feedback, hypothesis) for quant scens * fix the test_end in qlib conf * add features init config, general instruction to qlib scenarios * set base features for based exp * fix bug when combine factors * move traces folder to git_ignore_folder * fix bug in features init * fix quant interact bug * fix logger warning error * bug fixes * modify rdagent logger, now it can set file output * adjust cli functions and fix logger bug * fix server port transport problem * update server_ui in cli * add web code * fix CI problem * black fix * update web ui README * update README * update readme
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
from datetime import datetime, timezone
|
|
from pathlib import Path
|
|
from typing import Any
|
|
|
|
from pydantic_settings import SettingsConfigDict
|
|
|
|
from rdagent.core.conf import ExtendedBaseSettings
|
|
|
|
|
|
class LogSettings(ExtendedBaseSettings):
|
|
model_config = SettingsConfigDict(env_prefix="LOG_", protected_namespaces=())
|
|
|
|
trace_path: str = str(Path.cwd() / "log" / datetime.now(timezone.utc).strftime("%Y-%m-%d_%H-%M-%S-%f"))
|
|
|
|
format_console: str | None = None
|
|
""""If it is None, leave it as the default"""
|
|
|
|
ui_server_port: int | None = None
|
|
|
|
storages: dict[str, list[int | str]] = {}
|
|
|
|
def set_ui_server_port(self, port: int | None) -> None:
|
|
self.ui_server_port = port
|
|
if port is None:
|
|
self.storages.pop("rdagent.log.ui.storage.WebStorage", None)
|
|
return
|
|
|
|
self.storages["rdagent.log.ui.storage.WebStorage"] = [port, self.trace_path]
|
|
|
|
def model_post_init(self, _context: Any, /) -> None:
|
|
self.set_ui_server_port(self.ui_server_port)
|
|
|
|
|
|
LOG_SETTINGS = LogSettings()
|