Skip to content

v0.5.0

Choose a tag to compare

@jeremymanning jeremymanning released this 03 Jul 23:12
· 6 commits to main since this release
2ad45a5

data-wrangler 0.5.0

Bug-fix and hardening release. Installable as pip install pydata-wrangler==0.5.0.

Headline fix — robust remote-file caching

get_extension() now strips URL query strings/fragments, so Dropbox/Google-Drive-style links like .../minipedia.npz?dl=1 (including the built-in text corpora) cache under a clean, stable name and reload from cache. Previously they were cached as <hash>.npz?dl=1 and then failed to reload (ValueError: Unknown datatype: npz?dl=1), silently re-downloading each time.

Resolved issues

  • #30 — pandas 3.0 support. Type detection no longer relies on pandas' internal __module__ strings (which pandas 3.0 flattened, e.g. pandas.core.framepandas). is_dataframe / is_multiindex_dataframe / panda_handler now use isinstance, and dataframe_like no longer requires the removed DataFrame.backfill/.pad. Verified across pandas 2.x and 3.0; CI runs the full suite on Python 3.9–3.12 (3.11/3.12 install pandas 3.0).
  • #29 — version drift. __version__ is now derived from the installed package metadata, so it can never drift from setup.py again. Also fixed the stale/broken bumpversion config that caused the original drift.
  • #8 — demo GIF. Added an animated, terminal-style demo GIF to the README (generated from real calls by scripts/make_demo_gif.py): a 60-million-value Polars sort (~8× faster than pandas), sentence-embedding semantic similarity, the @funnel decorator, and ML imputation.
  • #5 — comprehensive tutorials. Every supported feature is now demonstrated across the Jupyter tutorials (each datatype in-memory + from file, sklearn vectorization vs. sentence-transformers embedding, built-in and HuggingFace corpora, interpolation/imputation, all decorators, io, util, core/config).

Other correctness fixes

  • core.configurator.apply_defaults no longer raises KeyError for functions/classes absent from config.ini (had broken sklearn TSNE/MDS/Isomap).
  • decorate.apply_stacked no longer crashes on return_model=True with unstacked input.
  • zoo.is_multiindex_dataframe no longer raises AttributeError on Polars frames.
  • Fixed two missing f-string prefixes in zoo.text error messages; removed dead code.

Dependencies, tests, docs

  • Declared pyarrow (required by polars↔pandas conversion).
  • Full test suite green on Python 3.9–3.12; flake8 clean; warning-free Sphinx docs build.
  • Removed two dead duplicate modules (text_lazy.py, text_original.py).

Full history: see HISTORY.rst. Compare: v0.4.0...v0.5.0