D3.js hasn't changed radically in the past ~8 years, mostly because it doesn't need to. The SVG API has been fairly stable (at least as far as what has been implemented across browsers), and the basics of visualizing data are static (eg. how to convert data values to physical values using scales.
https://vega.github.io/vega-lite/
They have a python graphing lib too based on the same “grammar of graphics”
The interactive crossfilter part in particular
https://altair-viz.github.io/user_guide/interactions.html
https://vega.github.io/vega-lite/examples/interactive_seattl...
Once you know those two things, I consider it unmatched for creating unique visualizations, particularly interactive ones.