Skip to main content

Project Structure

alpaca-rust is organized around published Rust crates, optional workspace companions, and supporting documentation/test assets.

Published Rust Crates

PathPublished crateRoleNotes
crates/alpaca-corealpaca-coreShared primitivesCredentials, base URLs, query helpers, serde helpers
crates/alpaca-httpalpaca-rest-httpShared transportDirectory path differs from the published crate name
crates/alpaca-dataalpaca-dataMarket Data HTTP SDKStocks, options, news, corporate actions
crates/alpaca-tradealpaca-tradeTrading HTTP SDKAccount, orders, positions, activities, contracts, watchlists
crates/alpaca-mockalpaca-mockExecutable mock serverMarket-data-backed trade validation
crates/alpaca-timealpaca-timeTime semanticsNew York time, trading calendar, expiration helpers
crates/alpaca-optionalpaca-optionOption semanticsContracts, snapshots, pricing, payoff, URL helpers
crates/alpaca-facadealpaca-facadeConvenience facadeHigh-level composition of the lower workspace crates

Optional Workspace Plus Features

PathPackageRole
packages/alpaca-time@alpaca/timeOptional TypeScript companion for time semantics
packages/alpaca-option@alpaca/optionOptional TypeScript companion for option semantics
packages/alpaca-trade@alpaca/tradeOptional TypeScript companion for trade execution type

These TypeScript packages are available to workspace consumers, but they are not the primary published system surface or the default public entry point. Only crates listed in the "Published Rust Crates" section above participate in release publication.

The following published Rust crates currently have no dedicated workspace TypeScript companions:

  • alpaca-core
  • alpaca-http / alpaca-rest-http
  • alpaca-data
  • alpaca-mock
  • alpaca-facade

Supporting Directories

PathRole
docs/Public user-facing documentation
spec/Crate-scoped API, model, and semantics contracts
memory/Local collaboration memory and routing notes
fixtures/Shared JSON fixtures for alpaca-time and alpaca-option
tests/support/live/Shared live-test support for Rust crates
tools/api-coverage/API coverage manifests and audit tooling
tools/docs/Documentation metadata generation scripts
website/Docusaurus site for public docs and rustdoc hosting

Layering

Foundation SDK

  • alpaca-core
  • alpaca-rest-http
  • alpaca-data
  • alpaca-trade
  • alpaca-mock

Semantic Core

  • alpaca-time
  • alpaca-option

Convenience Facade

  • alpaca-facade

Important Naming Note

The source directory crates/alpaca-http publishes as the crate alpaca-rest-http. Public docs, docs.rs links, and release automation use the published crate name; repository layout uses the source directory name.