A library for interfacing with Path of Exile game and economy data, and a set of item filters geared towards trade league players.
Filter Generation
Wraeblast provides an experimental, feature-rich item filter development framework and toolkit, as well as a dogfooded trade league filter.
Framework Features
- Economy insights API powered by poe.ninja
- Integration with pandas for data normalization and analysis
- Local caching and rate limiting
- Powerful extended item filter framework
- Internally uses single API to express both standard and extended filter rules
- Jinja2-templated YAML filter format
- Some extended filter features include:
- Rule tagging
- Presets (i.e. feature flags)
- Styles
- Template environment helpers for
๐ color manipulation,๐ economy data quantization and grouping,๐ filter alert sound generation (TTS), and more
- Matplotlib colormap integration, enabling procedural generation of item-based (not just tier-based like many popular community filters) filter colors.
- ...and many other technical features under the hood.
Filter Features
-
๐ Quantile based variants for efficient farming.โCurrently provides two variants: D2 (2nd decile) and QU4 (4th quintile). Additional quantiles will probably be included in nightly releases, depending on feedback and experimentation.
-
๐ 54 colormaps (108 if you include reversed colormaps, indicated by an_r
prefix) included per quantile variant.There are even more colormap palettes available, it would just be too cost prohibitive to include them all at present. See the Palettable documentation for colormap previews (only sequential colormaps are used).
Some form of item filter preview may be added as a feature in the future, but for now either refer to the documentation or just try them out in game.
-
๐ AWS Polly Neural Text-To-Speech (NTTS) powered synthesized alert sounds forโจ allโจ valuable filter rules (quantile dependent).Get instant, aural feedback for currency, fragments, skill gems, cluster jewels, and more. Anything tracked by poe.ninja can be supported by TTS.
Filter sounds for relevant items are also generated for varying stack sizes, for more accurate chaos value approximations.
The
Aria
(New Zealand English, appropriately) voice is currently the default for the trade league filters included with this project, but any voice supported by AWS Polly can be used when developing new filters.
โ TLDR: think of quantiles like strictness, with an arguably better ranking of item and currency value in a trade league than hard-coded tiers.
Demos
- 20% deli, beyond+nemesis map with
D3
quantile,TealGrn_r
colormap filter. - Expedition artifacts, also using
TealGrn_r
colormap filter. - Various drops with
QU4
quantile,SunsetDark_r
colormap filter. - More coming soon
Installation
Download the filter variant(s) of your choice from the releases, as well as the latest, compressed TTS filter sounds. Extract both the .filter
and the FilterSounds
directory to your Path of Exile
directory.
Filter syncing is currently not supported, and would be largely useless regardless without a way to sync filter sound files.
Note that updating the filter also requires updating the TTS files, and you can simply choose to overwrite existing files every time, or delete the entire TTS folder before installing the latest version.
Rationale Development Manifesto
- Path of Exile's current loot system requires complex filters for efficient gameplay
๐คฆ - Complex filters require a
๐จ filter generation/templating layer๐จ (this is exactly what NeverSink has done) - Many community maintained filters (including NeverSink's) are
โจ awesomeโจ and work well for the majority of the playerbase, but have some shortcomings:-
๐ รber strict isn't always รผber enough for softcore juiced map blasters (filter "strictness" in general is a trap) -
๐ Filter customization is somewhat limiting and tedious to do through a web interface (loot filters are code) -
๐ Economy-based presets and filters leverage a small subset of the available data from poe.ninja -
๐ Filter rules take the kitchen sink approach and include a large amount of rules for low-value recipes and items -
๐ Default alert sounds and sound rules are usually sparse, and adding custom sounds is a time-consuming process
-
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ .yaml.j2 filter source โโโโโโ
โ โ โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ โ โ
โโโโค rendered .yaml โโโโค final โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ intermediate filter โ โ .filter โ
โ โ โ โ โ โ โ
โ .config.json filter options โโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Economy insights data (currently just poe.ninja) is fetched and cached
- The
.yaml.j2
is rendered with the economy data, colormaps, and filter option overrides from the.config.json
file as context, if provided. - The resulting intermediate
.yaml
is then parsed by the extended filter parser, and outputs a final.filter
file, and any associated sounds.
Usage
See wraeblast --help
and wraeblast render_filter --help
for detailed command line usage.
โฏ wraeblast render_filter \
-l Expedition \
-d output \
-O filters/softcore.config.json \
-o softcore.filter -i -vvv filters/softcore.yaml.j2
For detailed library installation instructions and usage, see the technical documentation.
Roadmap
- Base filter generation functionality that nobody cares about
- Basic filters for different play styles: HC SSF, SC SSF, casual, deli farming, harby farming, legion farming, and all-around blasting
๐ - Features for league launches: shimming new item classes without relying on poe.ninja data, early league specific colormaps, thresholds, etc.
- Performance improvements
- Unit tests and documentation
- Filter preview image generation
- Filter compression/deduping of rules
- Investigate auto-updating, but yet another downloadable tool to do it is out of the question (probably)
- Integration with poeprofit (i.e. dedicated styles and sounds for profitable strategies)
- Web frontend for downloading up-to-date filters (sans the complex configuration menus full of knobs and sliders and color pickers)
- Become obsolete when PoE 2 comes out
๐ป
[REDACTED]
Additional features and tools are planned and will be incorporated into this project in the near future.