Releases: conda-incubator/condastats
Releases · conda-incubator/condastats
0.4.2
What's new
Added
- Python REPL in the browser demo using
pyodide.console.PyodideConsoleand 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.htmlinto separateapp.jsandstyle.cssfiles for maintainability - Upgrade Pyodide to v0.29.3 and fix API drift (
isPyProxy→instanceof pyodide.ffi.PyProxy,to_jsimport path,echo_commandremoval) - Unify "Top 20 packages" into the general query flow instead of a separate code path
- Add
prettierpre-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
Fixed
- Fix Pyodide demo to install condastats with
deps=Falseto avoid fsspec version conflict with Pyodide's bundled version
Full changelog: 0.4.0...0.4.1
0.4.0
Added
- New pure-pandas query API:
query_overall(),query_grouped(), andtop_packages()that operate on any pandas DataFrame without requiring dask or s3fs - Browser demo now uses the real
condastatspackage installed via micropip from PyPI
Changed
- Refactor
_core.pyto lazily import dask (only when S3 functions are called), soimport condastatsworks without dask installed (e.g. in Pyodide) - S3-backed functions now delegate aggregation to the new
_query.pymodule internally
Full changelog: 0.3.0...0.4.0
0.3.0
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.0pandas>=2.0.0dask[dataframe]>=2024.5.2pyarrow>=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-designcards, 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=Trueparameter to groupby calls (fixes pandas FutureWarning)
Changed
- Switch to
conda-sphinx-themefor documentation - Reorder installer tabs (pixi first), add
pixi xrun-in-place option - Migrate from
setup.py/versioneertopyproject.toml/setuptools_scm - Move tests from
condastats/tests/to top-leveltests/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 addingcategories=[]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
remove history