Module Index¶
Overview of the vertex_forager package structure. See API Reference for detailed class and function documentation.
Package Layout¶
vertex_forager/
├── api.py # Public API helpers (client/router/writer factories)
├── cli.py # CLI entrypoint
├── constants.py # Provider datasets, rate limits, default values
├── exceptions.py # Exception hierarchy (VertexForagerError → leaf errors)
├── utils.py # App-root helpers, validation, progress bar utilities
├── core/
│ ├── pipeline.py # VertexForager (main async pipeline engine)
│ ├── lifecycle.py # Run setup/finalize lifecycle helpers
│ ├── scheduler.py # DRR pagination fairness helpers and per-symbol queues
│ ├── workerio.py # Worker fetch/parse/emit helpers
│ ├── writerflush.py # Writer buffering/flush/error handling
│ ├── retry.py # Retry policy + runtime retry executor
│ ├── quality.py # Data quality rules + validation runtime
│ ├── dlq.py # DLQ spool/recovery helpers
│ ├── errors.py # Core-facing error exports + RunError
│ ├── config.py # Public config models, runtime snapshots, RequestSpec, FetchJob, FramePacket, RunResult
│ ├── controller.py # FlowController, GradientConcurrencyLimiter, GCRARateLimiter
│ ├── http.py # HttpExecutor (async httpx wrapper)
│ ├── contracts.py # Protocol types (TracerProtocol, etc.)
│ └── types.py # TypedDicts and type aliases (JSONValue, DLQStatus, etc.)
├── clients/
│ ├── base.py # Base client contract/helpers
│ ├── dispatcher.py # Provider client dispatch
│ └── validation.py # Client argument/config validation
├── providers/
│ ├── sharadar/ # Sharadar provider implementation (client/router/schema)
│ └── yfinance/ # YFinance provider implementation (client/router/schema)
├── routers/
│ ├── base.py # Router base protocols/helpers
│ ├── errors.py # Router-level exceptions
│ ├── jobs.py # Router job utilities
│ └── transforms.py # Router transform helpers
├── writers/
│ ├── base.py # BaseWriter, WriteResult
│ ├── duckdb.py # DuckDBWriter (async Polars → DuckDB)
│ └── memory.py # InMemoryBufferWriter
└── schema/
├── config.py # TableSchema definition
├── mapper.py # SchemaMapper (normalization, validation)
└── registry.py # Schema registry (get_table_schema)
Key Entry Points¶
| Use case | Import | Details |
|---|---|---|
| Create a client | from vertex_forager import create_client |
API Reference → Factories |
| Pipeline engine | from vertex_forager.core import VertexForager |
API Reference → Pipeline Engine |
| Configuration | from vertex_forager import RetryConfig, AdaptiveThrottleConfig, HTTPConfig, StorageConfig |
API Reference → Configuration |
| Flow control | from vertex_forager.core.controller import FlowController |
API Reference → Flow Control |
| Retry runtime | from vertex_forager.core.retry import RetryExecutor |
API Reference → Retry |
| Lifecycle helpers | from vertex_forager.core.lifecycle import RunFinalizer |
API Reference → Lifecycle |
| Writers | from vertex_forager.writers import create_writer |
API Reference → Writers |
| Core structured error | from vertex_forager.core.errors import RunError |
API Reference → Core Errors |
| Exceptions | from vertex_forager import FetchError, WriterError |
API Reference → Exceptions |