Repository navigation
Releases
Releases · marketlenstrade/marketlens-python
Release v1.8.12
- A backtest skips a market that has not resolved yet as "market not resolved yet" instead of "export pending", since history files are built only after a market resolves (usually within 2 hours). "export pending" now means a resolved market whose file is still being built.
ExportNotReadyError.last_erroris set only when the export failed. The server's message now explains why a file is not ready, and that explanation used to land inlast_erroras if it were an error.- The MCP backtest hint for
ExportNotReadyErrorsays that markets have no history file until they resolve, instead of describing exports as building out of order.
Release v1.8.11
- A backtest reusing a
data_dirdownloads the markets it has no file for. Before, any history file in the directory stopped the download, so a widened window or an added market replayed only the files already there and skipped the rest as "no history file". Files on disk are never fetched again, and a rerun with every file present makes no download request. - The Downloading bar counts only the files it fetches (series exports and AlphaStrategy bars), instead of jumping through the files already on disk.
- A market you named that lies outside the window is reported with when it closed (or opens), instead of a data span that could cover the window.
Release v1.8.10
orderbook.walkover a structured series (strikes, weather buckets) skips a market whose history is not built yet instead of raisingExportNotReadyErrorfor the whole walk. Open markets have no history file, so a window that still held one (every weekly strike event until it resolves) used to fail; the backtest engine already skipped them. A single market walk still raises.- README and examples: windows sized to a small share of the free allowance, the sports block dropped from the general examples,
examples/event_strikes.pywalksbtc-multi-strikes-weekly.
Release v1.8.9
- A free series export that does not fit the remaining allowance now delivers the markets that fit, as paid plans do (server side, so older versions get the files too); from 1.8.4
download_seriesthen raisesIncompleteExportError. Only a window where nothing fits raisesFreeAllowanceExhaustedError(402), replacing the 1.8.5 behavior. IncompleteExportErroris shorter, and on Free it ends with the same allowance and upgrade text asFreeAllowanceExhaustedError(from the server's newSeriesWall.message), instead of a reset that never comes.- Typed errors no longer repeat their code in the message:
str(FreeAllowanceExhaustedError)reads "This export needs..." rather than "FREE_ALLOWANCE_EXHAUSTED: This export needs..." (the traceback and MCP errors already name the class)..codeis unchanged, and a plainAPIErrorkeeps the prefix.
Release v1.8.8
- The free plan window is now per market, server side: a free account reads, in full, every market open in the last 7 days, and a market that ended before them answers
HistoryWindowError(403).HistoryWindowErrorcarrieswindow_startand the rawdetails(data_end,upgrade_url). - A series backtest (streaming or
data_dir, tick or alpha) skips the markets that ended before the window underresult.skippedwith the reason "outside the free 7 day window" instead of stopping at the first one; after the first such market the rest are skipped without a request. A market or window you name yourself still raises.data_dirreruns keep the reason (saved in.outside-window), andBarsDownloadResult.outsidelists those markets instead of raising. - Skips are reported once, after the run: one
Skipped N of M markets for '<series>': <reasons>line per series, the free window reason carrying the upgrade link. The coverage reason reads "no coverage in window" and the file reason "no history file", as inresult.skipped. - Streaming requests order book history from 1 ms before a market's replay start (the route's
afteris exclusive), so an event at a market's first millisecond replays as it does fromdata_dir. SeriesDownloadResult.upgrade_url, set whenoutside_windowis not empty.- MCP: the instructions say a free account reads markets open in the last 7 days.
Release v1.8.7
- A backtest with
data_diron a free account lists the markets in the window that start before the free 7 day window underresult.skippedwith the reason "outside the free 7 day window", instead of "no history file". The status line names each skip reason.SeriesDownloadResult.outside_windowlists those market ids (empty against older servers).
Release v1.8.6
- An alpha backtest with
data_dirraisesFreeAllowanceExhaustedErrorandHistoryWindowErrorinstead of skipping the market as a missing bar file (every earlier version since 1.6.0 dropped it silently).
Release v1.8.4
download_seriesraisesIncompleteExportErroron a plain download too, not only inside a backtest, after the ready files are on disk. The server now states the wall once on the manifest (wall: reason, markets withheld, rows needed to finish, reset time, upgrade link); the exception carries those asrows_needed,resets_atandupgrade_url, plus the partialresult.dry_runnever raises and its result exposeswallas the quote.SeriesDownloadResult.wall(SeriesWall),Nonewhen nothing was withheld or against older servers.
Release v1.8.3
- README and package summary open with what the package is for: Polymarket historical data and backtesting. No code changes.
Release v1.8.2
StoreUnavailableError(503STORE_UNAVAILABLE, carriesretry_after): the server's history file store did not answer in time. The transport retries it like any 5xx and now waits the server'sRetry-Afterbefore every retry, not only on 429.- A backtest that meets it on one market skips that market ("history store unavailable" under
result.skipped) and carries on instead of aborting the run.