Skip to content

Releases: conda-incubator/condastats

0.4.2

06 Feb 19:39
Immutable release. Only release title and notes can be modified.
2b1d668

Choose a tag to compare

What's new

Added

  • Python REPL in the browser demo using pyodide.console.PyodideConsole and jQuery Terminal, with Prism.js syntax highlighting, tab completion, and command history
  • 15 curated example query cards (replaced abandoned vaex with python-duckdb, added linting evolution, HTTP clients, and Arrow by platform examples)
  • Shareable URL support with a "Copy link" button for reproducible queries
  • Quick date range presets (1 month, 3 months, 6 months, 1 year, 2 years)

Changed

  • Extract JavaScript and CSS from monolithic index.html into separate app.js and style.css files for maintainability
  • Upgrade Pyodide to v0.29.3 and fix API drift (isPyProxyinstanceof pyodide.ffi.PyProxy, to_js import path, echo_command removal)
  • Unify "Top 20 packages" into the general query flow instead of a separate code path
  • Add prettier pre-commit hook for JS/CSS/HTML formatting

Fixed

  • Fix race condition in parallel parquet file loading (fetch in parallel, parse sequentially to avoid global variable collision)
  • Fix micropip install by fetching wheel URL from PyPI JSON API
  • Fix loading feedback: status displayed on the Query button, active card highlighting for selected examples

Full Changelog: 0.4.1...0.4.2

0.4.1

06 Feb 17:20
Immutable release. Only release title and notes can be modified.
e3fab7a

Choose a tag to compare

Fixed

  • Fix Pyodide demo to install condastats with deps=False to avoid fsspec version conflict with Pyodide's bundled version

Full changelog: 0.4.0...0.4.1

0.4.0

06 Feb 17:17
Immutable release. Only release title and notes can be modified.
2a51642

Choose a tag to compare

Added

  • New pure-pandas query API: query_overall(), query_grouped(), and top_packages() that operate on any pandas DataFrame without requiring dask or s3fs
  • Browser demo now uses the real condastats package installed via micropip from PyPI

Changed

  • Refactor _core.py to lazily import dask (only when S3 functions are called), so import condastats works without dask installed (e.g. in Pyodide)
  • S3-backed functions now delegate aggregation to the new _query.py module internally

Full changelog: 0.3.0...0.4.0

0.3.0

06 Feb 12:50
Immutable release. Only release title and notes can be modified.
736c895

Choose a tag to compare

Breaking Changes

  • Drop Python 3.8 and 3.9 support; now requires Python 3.10+
  • Add Python 3.12, 3.13, and 3.14 support
  • Update to modern dependency versions:
    • numpy>=1.20.0
    • pandas>=2.0.0
    • dask[dataframe]>=2024.5.2
    • pyarrow>=10.0.0

Added

  • Interactive browser demo (Pyodide) for trying condastats without installing
  • Diátaxis-based documentation with tutorial, how-to guides, explanation, and reference sections
  • sphinx-design cards, tabs, and grids on the documentation landing page
  • Type hints for all public functions in cli.py
  • Comprehensive test suite with 31 tests covering all CLI functions
  • Test coverage for multiple packages (pandas, numpy, scipy, requests, dask)
  • Dependabot configuration for automated dependency updates
  • observed=True parameter to groupby calls (fixes pandas FutureWarning)

Changed

  • Switch to conda-sphinx-theme for documentation
  • Reorder installer tabs (pixi first), add pixi x run-in-place option
  • Migrate from setup.py/versioneer to pyproject.toml/setuptools_scm
  • Move tests from condastats/tests/ to top-level tests/ directory
  • Update project URLs to conda-incubator organization
  • Update ReadTheDocs configuration to use Python 3.11
  • Use SPDX license expression (BSD-3-Clause)
  • Simplify test fixtures using factory pattern with caching

Removed

  • Travis CI configuration (now using GitHub Actions exclusively)
  • Local conda recipe (conda-forge feedstock is authoritative)
  • requirements.txt (dependencies defined in pyproject.toml)
  • setup.py, setup.cfg, versioneer.py, MANIFEST.in

Fixed

  • Fix TypeError: descriptor '__call__' on Python 3.11+ by upgrading to dask 2024.5.2+
  • Fix ValueError: Not all columns are categoricals (#19) by adding categories=[] to read_parquet
  • Fix ArrowStringArray requires PyArrow array of string type (#17, #24) with modern dask/pandas/pyarrow
  • Update GitHub Actions to latest versions
  • Fix PyPI publish workflow to use supported Python version
  • Fix Windows CI environment activation

0.2.1

01 Aug 04:09

Choose a tag to compare

remove history

0.2.0

01 Aug 03:31
0d1b65e

Choose a tag to compare

use pyarrow instead of fastparquet to solve issue #11