Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RELEASE] cuxfilter v23.08 #517

Merged
merged 24 commits into from
Aug 9, 2023
Merged

[RELEASE] cuxfilter v23.08 #517

merged 24 commits into from
Aug 9, 2023

Conversation

raydouglass
Copy link
Member

❄️ Code freeze for branch-23.08 and v23.08 release

What does this mean?

Only critical/hotfix level issues should be merged into branch-23.08 until release (merging of this PR).

What is the purpose of this PR?

  • Update documentation
  • Allow testing for the new release
  • Enable a means to merge branch-23.08 into main for the release

raydouglass and others added 22 commits May 19, 2023 09:50
fix Auto-merge: Branch 23.08 merge 23.06
We recently created new scripts for building documentation with GitHub Actions.

This PR removes the old scripts that were used by Jenkins and are no longer in use.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Ajay Thorve (https://github.com/AjayThorve)
  - Ray Douglass (https://github.com/raydouglass)

URL: #483
This PR fixes the issue with graph chart for rendering edges, where if coordinates were not named `x` and `y`, generating the chart would throw an error. This was due to hard-coded values `xy` set as coordinates graph's `generate_chart` function.

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Allan (https://github.com/exactlyallan)

URL: #487
Forward-merge branch-23.06 to branch-23.08
This PR updates the `build_docs.sh` script to use the new consolidatory `rapids-upload-script` [shared script](rapidsai/gha-tools#56). 

The shared script enables docs uploads to applicable S3 buckets for branch. nightly and PR builds.

Authors:
  - Jake Awe (https://github.com/AyodeAwe)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #489
This PR removes the support for pre-computing aggregations via datatiles, since cudf.query performs equally better in real-time calculations in almost every case.

- [x] Remove Datatiles support
- [x] Update and fix tests
- [x] Update docs and readme

This PR is the 1st in a series of refactor PRs to make cuxfilter light-weight, and easy to maintain.

cc @exactlyallan

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Allan (https://github.com/exactlyallan)

URL: #488
Adding further visualization guides in a form of a comprehensive notebook, part of the coming dev blog release.

Authors:
  - Allan (https://github.com/exactlyallan)
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Ajay Thorve (https://github.com/AjayThorve)

URL: #496
The workflow was picking up incorrect version(stable) of cudf from rapidsai-nightly channel (since patch 23.06.1 was released), causing the install and hence the tests to fail.

This PR updates the workflow to install cudf from the rapidsai channel

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #498
This PR builds cuxfilter conda packages using CUDA 12. Resolves #450.

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)
  - Bradley Dice (https://github.com/bdice)
  - https://github.com/jakirkham

URL: #499
Updated cuxfilter docs to use the pydata theme and better follow newer docs conventions. Updated some copy. 
addresses #459

Authors:
  - Allan (https://github.com/exactlyallan)
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Ajay Thorve (https://github.com/AjayThorve)
  - Ray Douglass (https://github.com/raydouglass)

URL: #500
This PR aims to  add wheels builds to cuxfilter

- [x] remove versioneer support
- [x] move build logic to pyproject.toml
- [x] add GHA to build, test and publish wheels
- [x] Update dependencies.yaml

Resolves #491
cc @bdice @exactlyallan

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Ray Douglass (https://github.com/raydouglass)
  - Allan (https://github.com/exactlyallan)

URL: #497
Follow up from #500 where a notebook was moved but the symlink in `notebooks` was not updated.

Related: #419

Authors:
   - Ray Douglass (https://github.com/raydouglass)

Approvers:
   - Ajay Thorve (https://github.com/AjayThorve)
This PR reverts changes to the branch of `shared-action-workflows` used for CUDA 12 testing. Now that rapidsai/shared-workflows#101 is merged, we can revert this.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)

URL: #503
This is a follow-up PR to #503, which reverts changes to the branch of shared-action-workflows used for CUDA 12 testing, for the pending workflows.

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #504
Authors:
  - Divye Gala (https://github.com/divyegala)

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #506
This PR fixes the nightly wheel testing workflow. It looks like this was copied straight from `pr.yaml` rather than adapted for nightly testing.

```
Invalid workflow file: .github/workflows/test.yaml#L26
The workflow is not valid. .github/workflows/test.yaml (Line: 26, Col: 12): Job 'wheel-tests' depends on unknown job 'wheel-build'.
```

https://github.com/rapidsai/cuxfilter/actions/runs/5653917680

Authors:
  - Bradley Dice (https://github.com/bdice)
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Ajay Thorve (https://github.com/AjayThorve)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Ray Douglass (https://github.com/raydouglass)

URL: #507
This PR fixes an issue raised in #511, which prevented the cuxfilter installation. This was caused by an indirect version conflict with pyproj (<3.4). 

This PR removes the `<3.4` pin, and also removes it as a direct run-dependency, since we only use it in notebooks. 

cc @exactlyallan 

resolves #511

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Allan (https://github.com/exactlyallan)

URL: #514
This PR adds updated Layouts, themes, a more intuitve API for show, and app commands, and support for the latest versions of panel, holoviews and bokeh.

This PR will be followed up with another PR with updated documentation, example notebooks with updated API, and updated screenshots.

Major API changes in this PR:
- cuxfilter.dashboard.show(`height`=type(int), `sidebar_width`=type(int),) #width is responsive to user screen
- cuxfilter.dashboard.app(`height`=type(int), width=type(int), `sidebar_width`=type(int),) in-notebook-cell rendering
- Added more themes -> default, dark, rapids, rapids_dark, and  `None` for custom palettes
- Updated layout to be fully responsive, and consistent, whether it be within a notebook cell, or a separate web-app
- Each chart can be rendered individually, using `chart.view(width, height)`. Executing `chart`(without explicitly calling `view()`) directly in a notebook cell, will automatically render the chart.
- Web-app layout modified to include `fast.css` based widgets and js-actions (each chart can be expanded to full-screen for deeper exploration).

cc @exactlyallan

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Allan (https://github.com/exactlyallan)
  - Ray Douglass (https://github.com/raydouglass)

URL: #492
This PR refactors the bokeh charts implementation, and uses holoviews to generate the charts, while also using box-selects instead of range_sliders. This was done for 2 reasons, stability of holoviews api, which also is much more efficient, and to use streams + custom callbacks to link all charts with bar_charts.


Some of the other notable changes:
- Using holoviews to generate bokeh plots, allows us to `str` columns directly for bar charts
- Persistent non-selection view for bar_charts
- Got rid of redundant bokeh line chart, and now a single implementation exists under datashader/line, callable `cuxfilter.charts.line`
- removed preview as pyppeteer was unstable
- Refactor to remove redundant functions and classes

Authors:
  - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
  - Allan (https://github.com/exactlyallan)
  - Ray Douglass (https://github.com/raydouglass)

URL: #494
@raydouglass raydouglass requested review from a team as code owners August 4, 2023 17:21
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Follow up to #494, updates API docs and screenshots.

cc @exactlyallan

Authors:
   - Ajay Thorve (https://github.com/AjayThorve)

Approvers:
   - Allan (https://github.com/exactlyallan)
@raydouglass raydouglass merged commit 927a95d into main Aug 9, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants