-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
54 lines (49 loc) · 2.86 KB
/
pyproject.toml
File metadata and controls
54 lines (49 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "alpha-engine-lib"
version = "0.28.1"
description = "Shared utilities for Alpha Engine modules — preflight, logging, ArcticDB, dates, calendar, decision capture, cost tracking, RAG, agent output schemas, transparency-substrate health checks, SSM-backed secrets, universe-membership filtering, Telegram push notifications, failure-surveillance fan-out (SNS + Telegram with CLI for Bash callers + dedup-key/dedup-window-min S3-marker idempotency), data-source Protocols + shapes (NewsArticle / AnalystSnapshot / FilingDocument), pillar-decomposed attractiveness scoring shapes (PILLARS / MoatAssessment / PillarSubscore / QualitativePillarAssessment / CompositeBreakdown), SSM-step log-capture chokepoint (Python CLI replacement for the inline bash trap + tee pattern that broke under ASL States.Array escape semantics), EC2 spot-launch capacity-resilience chokepoint (Python CLI that rotates instance-type × subnet on InsufficientInstanceCapacity instead of failing the launcher), trading-day-aware freshness predicates (expected_last_close / trading_days_stale / is_fresh_in_trading_days — NYSE-calendar holiday-aware chokepoint replacing the calendar-day arithmetic that broke every post-Saturday SF redrive), and Step-Functions execution-state projection (read_pipeline_state + PipelineRun + TaskRow + STATE_TO_ARCHIVE_PAGE registry + format_success_message/format_failure_message — lib substrate for the pipeline-reporting-revamp arc consuming states:ListExecutions/DescribeExecution/GetExecutionHistory)"
readme = "README.md"
# EC2 still runs Python 3.9 on the always-on micro instance (boto3 drops
# 3.9 support 2026-04-29, so upgrade is on the near-term roadmap). All
# modules in this package use ``from __future__ import annotations``, so
# PEP 604 union syntax (``str | None``) is deferred and works on 3.9.
requires-python = ">=3.9"
authors = [{ name = "Brian McMahon" }]
license = { text = "Proprietary" }
dependencies = [
"boto3>=1.34",
"pydantic>=2.0",
"pyyaml>=6.0",
"requests>=2.31",
]
[project.optional-dependencies]
arcticdb = ["arcticdb>=6.11", "pandas>=2.0"]
flow_doctor = ["flow-doctor[diagnosis,s3]>=0.4.0,<0.5.0"]
rag = [
"psycopg2-binary>=2.9",
"pgvector>=0.2",
"numpy>=1.24",
]
# Cross-encoder rerank dependency. Pulls torch + transformers + the
# ~600MB BAAI bge-reranker-v2-m3 model on first use. Kept as a
# separate extra so vector/hybrid-only consumers don't pay the install
# cost.
rerank = [
"sentence-transformers>=3.0",
]
dev = [
"pytest>=7.0",
"pytest-cov>=4.0",
"moto>=5.0",
]
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"alpha_engine_lib" = ["transparency_inventory.yaml"]
"alpha_engine_lib.rag" = ["schema.sql", "migrations/*.sql"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]