Files
manifoldbt/pyproject.toml
Jimmy7892 71156abe18 preview: 0.19.0rc1 - higher-timeframe indicators and expression choices
Synced from the private engine at 1e39bfa (branch feat/sweep-choice-expr),
tracked files only. Two additions to the expression API:

- tf("1h").apply(expr): evaluate an expression ON the higher timeframe's
  grid, then step-hold it onto the simulation grid without lookahead.
  Periods inside count in that timeframe's bars, so
  tf("1h").apply(sma(close, param("len"))) is a true SMA of len hourly
  closes, sweepable like any param.
- choice(name, {branch: expr}): sweep a CHOICE of expression. The selector
  becomes a grid axis; each combination resolves to its branch before
  simulation.

Wheel for this preview is attached to the v0.19.0rc1 pre-release; built
locally, not by the release pipeline, not on PyPI.
2026-08-22 04:17:34 +02:00

36 lines
1.1 KiB
TOML

[project]
name = "manifoldbt"
version = "0.19.0rc1"
description = "Rust-powered backtesting engine for quantitative research"
requires-python = ">=3.9"
license = { file = "LICENSE" }
license-files = ["LICENSE"]
keywords = ["backtesting", "trading", "quantitative-finance", "rust"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Financial and Insurance Industry",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
"Programming Language :: Rust",
"Topic :: Office/Business :: Financial :: Investment",
]
dependencies = ["pyarrow>=14.0"]
[project.optional-dependencies]
plot = ["matplotlib>=3.7"]
pandas = ["pandas>=1.5"]
polars = ["polars>=0.20"]
plotly = ["plotly>=5.0"]
all = ["matplotlib>=3.7", "plotly>=5.0", "pandas>=1.5", "polars>=0.20"]
dev = ["pytest>=7.0", "polars>=0.20", "pandas>=1.5", "pyarrow>=14.0", "matplotlib>=3.7"]
[project.scripts]
manifoldbt = "manifoldbt.cli:main"
[project.urls]
Homepage = "https://manifold-bt.com"
Repository = "https://github.com/manifoldbt/manifoldbt"
[tool.pytest.ini_options]
testpaths = ["python/tests"]