PyneCore v6.6.1 released — float na is now a native IEEE-754 NaN instead of a wrapper…
Features
- Global
config/symbol_map.tomltranslates TradingView-canonical symbols to your provider’s native ones, sorequest.security()resolves without a--securitymapping on every run - New
pyne data map <tv-symbol> <provider-symbol>command writes the map entry for you; per-timeframe overrides supported pyne run --list-datashows per cross-symbol requirement what the map resolves to, whether the file exists, and a ready-to-run download command when it does notpyne plugin list/pyne plugin infodetect and report plugin name conflicts; loading an ambiguous name now fails explicitly instead of picking a package arbitrarilypyne plugin infoshows the plugin’s complete PyneCore requirement, not just the lower bound
Fixes
nz(inf, -5)now returns-5—nz()appliesna()semantics to floats (TV-verified)na != xstays falsy: a load-time transformer guards!=, so already-compiled scripts get the correct semantics without recompilationmapkeeps na keys storable and retrievable;fixnanpasses inf through as a regular value- Float series return nan for out-of-range history reads; CSV writes
NaNand reads lowercasenan - nan handling fixed in
safe_int,cast_bool/cast_int/cast_float,math.floor/math.ceil, number formatting and drawing coordinates
Performance
- Evaluating a bare
nadrops from 112 ns to 4.3 ns — interned constant plus a constant attribute load instead of a function call - Per-bar float arithmetic no longer dispatches through
NAdunders
Full release notes: https://github.com/PyneSys/pynecore/releases/tag/v6.6.1