starfriend commited on
Commit
10025ab
·
verified ·
1 Parent(s): d8101ef

Upload config.py

Browse files
Files changed (1) hide show
  1. metadata_search/config.py +41 -11
metadata_search/config.py CHANGED
@@ -5,28 +5,58 @@ from pathlib import Path
5
 
6
  from dotenv import load_dotenv
7
 
8
- # .env wins over stale shell exports
9
  load_dotenv(override=False)
10
 
11
  PACKAGE_DIR = Path(__file__).resolve().parent
12
  PROJECT_ROOT = PACKAGE_DIR.parent
13
  DEFAULT_CSV = PACKAGE_DIR / "data" / "papers.csv"
14
 
15
- PAPER_CSV = Path(os.getenv("PAPER_CSV", str(DEFAULT_CSV)))
16
- EMBEDDING_MODEL = os.getenv("METADATA_EMBEDDING_MODEL", "sentence-transformers/all-MiniLM-L6-v2")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  METADATA_QDRANT_PATH = Path(
18
- os.getenv("METADATA_QDRANT_PATH", str(PROJECT_ROOT / "metadata_search_data" / "qdrant"))
 
 
 
 
19
  )
20
- METADATA_QDRANT_COLLECTION = os.getenv("METADATA_QDRANT_COLLECTION", "papers_metadata")
21
  METADATA_QDRANT_MANIFEST = Path(
22
- os.getenv(
23
- "METADATA_QDRANT_MANIFEST",
24
- str(PROJECT_ROOT / "metadata_search_data" / "qdrant_manifest.json"),
25
- )
26
  )
27
- METADATA_SEARCH_PORT = int(os.getenv("PORT", os.getenv("METADATA_SEARCH_PORT", "7860")))
28
  PAPER_FIGURES_DIR = Path(
29
- os.getenv("PAPER_FIGURES_DIR", str(PROJECT_ROOT / "results_metadata (2025-2026)"))
 
 
 
30
  )
31
 
32
  TITLE_COL = os.getenv("METADATA_TITLE_COL", "TI")
 
5
 
6
  from dotenv import load_dotenv
7
 
8
+ # Explicit runtime environment variables take precedence over .env.
9
  load_dotenv(override=False)
10
 
11
  PACKAGE_DIR = Path(__file__).resolve().parent
12
  PROJECT_ROOT = PACKAGE_DIR.parent
13
  DEFAULT_CSV = PACKAGE_DIR / "data" / "papers.csv"
14
 
15
+ # In the HF Search Space, metadata_search.config can be imported before
16
+ # metadata_search.app executes its Dataset bootstrap (because Python imports the
17
+ # package before running `python -m metadata_search.app`). Therefore the cloud
18
+ # paths must be resolvable here, not only later inside app.py.
19
+ USE_DATASET_BOOTSTRAP = os.getenv("WATERSCOPE_DATA_BOOTSTRAP", "1").lower() in {
20
+ "1",
21
+ "true",
22
+ "yes",
23
+ }
24
+ DATA_ROOT = Path(
25
+ os.getenv("WATERSCOPE_DATA_ROOT", "/tmp/waterscope-data")
26
+ ).resolve()
27
+
28
+ if USE_DATASET_BOOTSTRAP:
29
+ default_paper_csv = DATA_ROOT / "metadata" / "papers.csv"
30
+ default_qdrant_path = DATA_ROOT / "metadata_search_data" / "qdrant"
31
+ default_qdrant_manifest = DATA_ROOT / "metadata_search_data" / "qdrant_manifest.json"
32
+ else:
33
+ default_paper_csv = DEFAULT_CSV
34
+ default_qdrant_path = PROJECT_ROOT / "metadata_search_data" / "qdrant"
35
+ default_qdrant_manifest = PROJECT_ROOT / "metadata_search_data" / "qdrant_manifest.json"
36
+
37
+ PAPER_CSV = Path(os.getenv("PAPER_CSV", str(default_paper_csv)))
38
+ EMBEDDING_MODEL = os.getenv(
39
+ "METADATA_EMBEDDING_MODEL",
40
+ "sentence-transformers/all-MiniLM-L6-v2",
41
+ )
42
  METADATA_QDRANT_PATH = Path(
43
+ os.getenv("METADATA_QDRANT_PATH", str(default_qdrant_path))
44
+ )
45
+ METADATA_QDRANT_COLLECTION = os.getenv(
46
+ "METADATA_QDRANT_COLLECTION",
47
+ "papers_metadata",
48
  )
 
49
  METADATA_QDRANT_MANIFEST = Path(
50
+ os.getenv("METADATA_QDRANT_MANIFEST", str(default_qdrant_manifest))
51
+ )
52
+ METADATA_SEARCH_PORT = int(
53
+ os.getenv("PORT", os.getenv("METADATA_SEARCH_PORT", "7860"))
54
  )
 
55
  PAPER_FIGURES_DIR = Path(
56
+ os.getenv(
57
+ "PAPER_FIGURES_DIR",
58
+ str(PROJECT_ROOT / "results_metadata (2025-2026)"),
59
+ )
60
  )
61
 
62
  TITLE_COL = os.getenv("METADATA_TITLE_COL", "TI")