Shadow Ingest¶
shadow-ingest is a dataframe-first, read-only access layer over parquet datasets.
For most Python users, the intended experience is simple:
- import
shadow_ingest as si - use the small stable SDK surface
- receive either a final
polars.DataFrameor a small discovery list
Stable Public APIs¶
The public SDK surface is intentionally small and currently split into three groups.
Core data APIs:
gather_daily_price(...)gather_daily_snapshot(...)gather_financial_snapshot(...)
Discoverability APIs:
list_fields(...)list_market_calendar(...)list_universe(...)
Industry APIs:
get_industry_standards()get_industry_mapping(...)get_industry_members(...)
The dataframe-returning APIs return polars.DataFrame.
Recent Updates¶
Recent shadow-ingest changes that are now reflected in this documentation:
list_fields(...)is the stable public field-discovery helper forgather_daily_price(...)total_turnoveris documented as traded value, not share volumelist_universe(...)now requires an explicitdate; the SDK acceptsYYYYMMDDinputs and normalizes backingorder_book_idcolumns to publicstock_coderesults- industry lookup APIs were added for standards, stock-to-industry mapping, and industry-to-members queries
serve-fastapiis now the maintained HTTP entrypoint; the legacyserveHTTP entrypoint has been removed
Who This Is For¶
Use shadow-ingest if you need:
- a simple Python data pull interface
- a maintained remote service mode
- efficient transport for larger dataframe-shaped responses
- a stable query interface that hides transport and batching details
Recommended User Flow¶
If you are new to the SDK, the easiest mental model is:
- use
list_market_calendar(...)to pick valid trading dates - use
list_universe(...)to pick valid stock codes for a date - use
list_fields(...)when you are callinggather_daily_price(...) - use the default
standard="sws"when that taxonomy is acceptable, or callget_industry_standards()when you need to inspect available taxonomy names - call one of the dataframe-returning APIs to fetch the final table