diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3ad014d8..1d8a944f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,7 @@ repos: # Explicitly specify the pyproject.toml at the repo root, not per-project. args: ["--config", "pyproject.toml"] - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 7.1.1 hooks: - id: flake8 args: ["--config=.flake8"] diff --git a/README.md b/README.md index 75203eac..1e03d58b 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,6 @@ Troubleshooting help can be found [on our troubleshooting page](https://docs.rap - bokeh - pyproj - geopandas -- pyppeteer - jupyter-server-proxy ## Quick Start @@ -146,38 +145,39 @@ Please see the [Demo Docker Repository](https://hub.docker.com/r/rapidsai/rapids ### CUDA/GPU requirements - CUDA 11.2+ -- NVIDIA driver 450.80.02+ -- Pascal architecture or better (Compute Capability >=6.0) +- Volta architecture or newer (Compute Capability >=7.0) ### Conda -cuxfilter can be installed with conda ([miniconda](https://conda.io/miniconda.html), or the full [Anaconda distribution](https://www.anaconda.com/download)) from the `rapidsai` channel: +cuxfilter can be installed with conda. You can get a minimal conda installation with [miniforge](https://github.com/conda-forge/miniforge). -For nightly version `cuxfilter version == 24.10` : +For the nightly version of `cuxfilter`: ```bash -# for CUDA 12.0 +# for CUDA 12.5 conda install -c rapidsai-nightly -c conda-forge -c nvidia \ - cuxfilter=24.10 python=3.11 cuda-version=12.0 + cuxfilter=24.10 python=3.12 cuda-version=12.5 # for CUDA 11.8 conda install -c rapidsai-nightly -c conda-forge -c nvidia \ - cuxfilter=24.10 python=3.11 cuda-version=11.8 + cuxfilter=24.10 python=3.12 cuda-version=11.8 ``` -For the stable version of `cuxfilter` : +For the stable version of `cuxfilter`: ```bash -# for CUDA 12.0 +# for CUDA 12.5 conda install -c rapidsai -c conda-forge -c nvidia \ - cuxfilter python=3.11 cuda-version=12.0 + cuxfilter python=3.12 cuda-version=12.5 # for CUDA 11.8 conda install -c rapidsai -c conda-forge -c nvidia \ - cuxfilter python=3.11 cuda-version=11.8 + cuxfilter python=3.12 cuda-version=11.8 ``` -Note: cuxfilter is supported only on Linux, and with Python versions 3.10 and 3.11. +Note: cuxfilter is supported only on Linux, and with Python versions 3.10, 3.11, and 3.12. + +> Above are sample install snippets for cuxfilter, see the [Get RAPIDS version picker](https://rapids.ai/start.html) for installing the latest `cuxfilter` version. ### PyPI diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 5a56c899..7d438be2 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -7,6 +7,7 @@ channels: - nvidia dependencies: - bokeh>=3.1 +- bokeh_sampledata - cuda-version=11.8 - cudatoolkit - cudf==24.10.*,>=0.0.0a0 @@ -38,7 +39,7 @@ dependencies: - pytest - pytest-cov - pytest-xdist -- python>=3.10,<3.12 +- python>=3.10,<3.13 - rapids-build-backend>=0.3.0,<0.4.0.dev0 - recommonmark - setuptools diff --git a/conda/environments/all_cuda-125_arch-x86_64.yaml b/conda/environments/all_cuda-125_arch-x86_64.yaml index bfd356fc..7b55e96f 100644 --- a/conda/environments/all_cuda-125_arch-x86_64.yaml +++ b/conda/environments/all_cuda-125_arch-x86_64.yaml @@ -7,6 +7,7 @@ channels: - nvidia dependencies: - bokeh>=3.1 +- bokeh_sampledata - cuda-version=12.5 - cudf==24.10.*,>=0.0.0a0 - cugraph==24.10.*,>=0.0.0a0 @@ -37,7 +38,7 @@ dependencies: - pytest - pytest-cov - pytest-xdist -- python>=3.10,<3.12 +- python>=3.10,<3.13 - rapids-build-backend>=0.3.0,<0.4.0.dev0 - recommonmark - setuptools diff --git a/conda/recipes/cuxfilter/meta.yaml b/conda/recipes/cuxfilter/meta.yaml index 3428d220..36740515 100644 --- a/conda/recipes/cuxfilter/meta.yaml +++ b/conda/recipes/cuxfilter/meta.yaml @@ -40,7 +40,6 @@ requirements: - numpy >=1.23,<3.0a0 - packaging - panel >=1.0 - - pyppeteer >=0.2.6 - python - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} diff --git a/dependencies.yaml b/dependencies.yaml index 9180c177..03906853 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -137,6 +137,7 @@ dependencies: common: - output_types: [conda, requirements] packages: + - bokeh_sampledata - ipykernel - ipython - jupyter_sphinx @@ -153,6 +154,7 @@ dependencies: common: - output_types: [conda, requirements] packages: + - bokeh_sampledata - ipython - notebook>=0.5.0 - output_types: [conda] @@ -172,8 +174,12 @@ dependencies: packages: - python=3.11 - matrix: + py: "3.12" packages: - - python>=3.10,<3.12 + - python=3.12 + - matrix: + packages: + - python>=3.10,<3.13 rapids_build_setuptools: common: - output_types: [conda, requirements, pyproject] @@ -267,6 +273,6 @@ dependencies: - *cuspatial_unsuffixed - *dask_cudf_unsuffixed - cuxfilter==24.10.*,>=0.0.0a0 - - python>=3.10,<3.12 + - python>=3.10,<3.13 - pytest-benchmark - pytest-xdist diff --git a/notebooks/README.md b/notebooks/README.md index 1ce2f4fb..59f07b41 100644 --- a/notebooks/README.md +++ b/notebooks/README.md @@ -32,21 +32,14 @@ These are example notebooks to showcase cuxfilter with [cuDF](https://github.com Once you have registered with your email address, simply sign in to your account, start a CPU or GPU runtime, and open your project - all in your browser. -To setup a rapids environment in studio lab(you only need to do this the first time, since studio lab has 15GB of persistent storage across sessions), open a new terminal: +To setup a RAPIDS environment in studio lab (you only need to do this the first time, since studio lab has 15GB of persistent storage across sessions), +open a new terminal and run the following ```bash conda install ipykernel - -# for stable rapids version -conda install -c rapidsai -c numba -c conda-forge -c nvidia \ - cuxfilter=23.02 python=3.11 cudatoolkit=11.8 - -# for nightly rapids version -conda install -c rapidsai-nightly -c numba -c conda-forge -c nvidia \ - cuxfilter python=3.11 cudatoolkit=11.8 ``` -> Above are sample install snippets for cuxfilter, see the [Get RAPIDS version picker](https://rapids.ai/start.html) for installing the latest `cuxfilter` version. +Then install `cuxfilter` and its dependencies by following the instructions in ["Installation"](../README.md#installation) in the project's main README. Once installed, you should see a card in the launcher for that environment and kernel after about a minute. diff --git a/python/cuxfilter/charts/core/non_aggregate/core_non_aggregate.py b/python/cuxfilter/charts/core/non_aggregate/core_non_aggregate.py index 48bb8b1c..73f2e6c9 100644 --- a/python/cuxfilter/charts/core/non_aggregate/core_non_aggregate.py +++ b/python/cuxfilter/charts/core/non_aggregate/core_non_aggregate.py @@ -31,8 +31,8 @@ def name(self): chart_type = self.chart_type if self.chart_type else "chart" return ( f"{self.x}_{self.y}" - f"{'_'+self.aggregate_col if self.aggregate_col else ''}" - f"{'_'+self.aggregate_fn if self.aggregate_fn else ''}" + f"{'_' + self.aggregate_col if self.aggregate_col else ''}" + f"{'_' + self.aggregate_fn if self.aggregate_fn else ''}" f"_{chart_type}_{self.title}" ) diff --git a/python/cuxfilter/charts/core/non_aggregate/core_stacked_line.py b/python/cuxfilter/charts/core/non_aggregate/core_stacked_line.py index b4982781..62ade6f7 100644 --- a/python/cuxfilter/charts/core/non_aggregate/core_stacked_line.py +++ b/python/cuxfilter/charts/core/non_aggregate/core_stacked_line.py @@ -21,7 +21,6 @@ class BaseStackedLine(BaseChart): y_range: Tuple = None use_data_tiles = False y: list = [] - colors: list = [] default_colors = ["#8735fb"] box_selected_range = None diff --git a/python/cuxfilter/dashboard.py b/python/cuxfilter/dashboard.py index de52c223..3fb3bd54 100644 --- a/python/cuxfilter/dashboard.py +++ b/python/cuxfilter/dashboard.py @@ -308,7 +308,7 @@ def _generate_query_str(self, query_dict=None, ignore_chart=""): # extract string queries from query_dict, # as self.query_dict also contains cudf.Series indices - str_queries_list = [x for x in query_dict.values() if type(x) == str] + str_queries_list = [x for x in query_dict.values() if type(x) is str] return_query_str = " and ".join(str_queries_list) # adding the popped value to the query_str_dict again diff --git a/python/pyproject.toml b/python/pyproject.toml index 7f92e0d0..bb780ba5 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -40,6 +40,7 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] [project.optional-dependencies]