PyneCore v6.11.0 released — a per-line profiler for backtests with pyne run --profile,…

Features

  • pyne run ... --profile prints where a backtest spends its time: slowest lines with time, share, execution count and average, plus a category split (script, libraries, engine, output, data, security). --profile-top N sets the line count
  • request.security contexts are profiled too, each with its data, timeframe, bars and script time
  • ScriptRunner(profile_path=...) writes the same JSON profile programmatically (Python 3.13+)
  • Methods declared in @udt class bodies can now hold state (ta.*, Series, Persistent), per call site; edge profile 2026.10.2 admits them

Fixes

  • Aggregating to weekly and monthly timeframes works; monthly targets were always rejected before
  • time("D", timeframe_bars_back=N) no longer raises IndexError without a session template
  • Importing pynecore.core.script before pynecore.lib no longer fails
  • Generated code runs at the source line it serves, so debugger stepping, tracebacks and line timings point to the right line
  • Scripts starting with a from __future__ import compile with request.security and as strategies

Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.11.0