# HoloViz meetings ## https://hackmd.io/@holoviz/minutes/edit HoloViz meetings are usually either General (planning and status discussions) or Triaging (dealing with open issues on HoloViz repos.) See https://hackmd.io/@holoviz/BygVgIC6L for the triaging checklist, and https://status.holoviz.org for the list of projects to triage. # 2024-03-27 NumFOCUS SDG Attendees: Demetris, Philipp, Isaiah, Jim - Isaiah - NYC taxi modernized - not yet reviewed. Maxime will review when he is back - We ran through non-geo NYC taxi notebook and provided further feedback - Philipp will make a version of the nyc taxi panel app using rx - reviewed Gerrymandering PR by Jason - Contributing guide PR is now merged. Jason can now open a PR - [DONE](https://docs.google.com/document/d/1Ucv7JelcuH_aMBbQlQOFBJI0zkXETObEsmeji1oQaNA/edit?usp=sharing): DR will create and send out questions to guide Panel basics tutorial - TODO: Isaiah will make some suggested updates to nyc taxi - TODO: Isaiah will start working on Attractors. Will make 1:1 meeting with Jim to go into more details suggestions for updating #2024-03-26 HoloViz Meeting Attendees: Simon, Maxime, Philipp, Demetris, Jean-Luc, Mateusz, Jim - AE5 Clusters - Shutting down old DigitalOcean cluster - Jean-Luc to ping Aaron (otherwise ask IT) - New cluster - Base node was upgraded, but no improvement visible so far - Conda solves still unreliable/slow - What load can it handle? - Jean-Luc: run disk write performance benchmarks - conda-store? - If there is no local storage do we need to pursue investigations of conda-store like approaches? - Gitter - Demetris added banner and posted announcement - Panel GitHub Stars - Added banner to Panel website - Maxime wrote up various social media messages - Dashboard Builder Announcement - Panel Blog post about the feature - Call for notebooks to use for the showcase - One simple one with plots and text - One with Ipywidgets - Anaconda Announcement about DSP and Cloud support - Fanilo Post - Non-issue - Announcing param.rx: timeline? - Jean-Luc: Talked about adding more examples - Simon: - Has been using it - Not writing entire apps using it, using it to "keep logic local", i.e. minor transforms of a widget value - Philipp: - Class based apps are simply more scalable - rx provides a highly convenient utility to express simple transforms - Maxime: - Also started using it, also to apply simple transforms and then bind them - Separation of Parameter and UI layer a bit of a headache - Anaconda Marketing - Releases - hvPlot - Panel - ipywidgets_bokeh # Next Steering Committee Meeting - Round 2 NF SDG Ideas - [HEP policy](https://github.com/holoviz/holoviz/pull/395) # 2024-03-20 NumFOCUS SDG - Maxime: TODO: add notebook output check to pre-commit - Andrew suggested using Discourse instead of Discord - Andrew and Jason will post on Discourse and link in Discord - Jason - Portfolio optimizer - Going well - Will make a PR within the next week - Gerrymandering - Andrew provided feedback - issue with districts plot - Data file was subsampled - [Dummy example](https://github.com/holoviz-topics/examples/pull/368) - Not too painful of a process - Helpful exercise - TODO: contributing guide PR once Iasaiah's is merged - Isaiah - NYC taxi notebook - remaining minor issues - Unclear whether and where to switch to hvPlot - Unclear whether to change the Customize Datashader sections - TODO: Create an Issue about adding a transform step in hvPlot - use `count_cat` instead of `by` - Contributing guide progress - [Modernizing example checklist](https://docs.google.com/document/d/1IRAeZh3KBg_el2b-gnLGBpvIBUyXFluuh_AqFXE9l9Q/edit#bookmark=id.mt2hp6m7woyl) # 2024-03-18 HoloViz Meeting Attendees: Simon, Maxime, Philipp, Demetris, Jean-Luc, Andrew, Mateusz - (DR) [EarthML repo](https://github.com/holoviz-topics/EarthML) archived - Examples - Archiving examples? - Could be an alternative to deleting it - Auto-archival after N years? - We already have metadata, could we use this to filter, e.g. to filter by "recently updated"? - Last edited vs updated (typo fix vs API updates) - Ploomber - Hackathon with 28 signups (currently) - Office hours session on Wednesday - Mostly promotional - May get some nice apps out of it - HoloViz Workbench/DSP/AE5 - Was upgraded from 16 GB -> 64 GB - Clarifying Architecture: - Philipp: "Guess I still don’t understand the architecture though, before we had one big cluster, but I thought now deployments spin up nodes on demand?!" - Ten: "that’s only true for GPU related deployments" - Panel-gallery-dev deployment restarting - Investigate whether large resource profile is too small - Maxime went over the checklist of issues - Various issues persist (e.g. 403s on save in nb) - Actions - Keep following up on issues - Clarify architecture: - What is the FS? Why are conda envs so slow to create? - Do deployments really run on main node? - Panel Pygments dependency - `watchfiles` as example of optional dep - Consensus seems to be not to make it a hard dependency: - Runtime warning: - Look for ``` and issue warning? - Document on Markdown pane - Longer term move to MyST parser in JS - Actions: - Andrew to make PR with warnings - Holoviz.org nav bar - Maxime: Nav Bar is not great - Reduce number of entries - Talks (remove or move into Tutorial) - Maybe should be deployed as a slideshow - FAQ (remove) - Action: - Demetris to find issue about this and then update the proposal - MyST syntax in docs - MyST syntax only works with NB extension - Blog post - Philipp working on 1.4 blog post - Releases: - Panel 1.4 RC3 today - Release this week - Param 2.1 release this week - Maxime: Increase warning level for a deprecation # 2024-03-13 HoloViz Docs meeting Attendees: Jean-Luc, Isaiah, Simon, Maxime, Philipp - NF SDG update - Modernizing HoloViz Examples, Examples Contributing Guide - Tracking progress [here](https://docs.google.com/document/d/1IRAeZh3KBg_el2b-gnLGBpvIBUyXFluuh_AqFXE9l9Q/edit#heading=h.5hypdz22xudi) - Examples prioritization spreadsheet [here](https://docs.google.com/spreadsheets/d/17YyYn2i21Z0pKCFcjXFtZm2snSt5QV75vkXEclOw-Uo/edit#gid=0) - Panel Tutorial - Maybe not the right split between basic, intermediate, expert - Philipp will push his PR tomorrow (Thursday) - Planning to release soon - Isaiah and Jason to review 'Basic' section soon (this and next week) - The team should freeze Basic tutorials work while in review - Need Questionaire (sp?) for reviewers (Philipp will ask Marc for this) - Structure? Did you learn something? Clear? - Focus on High-level improvements - Report back after 2 hours about progress. Shouldn't take more than 8 hours each. - Not necessarily need PRs, but provide written/verbal feedback - hvPlot Reference - No progress (Maxime and Demetris) - API for Datasets - hvsampledata is the name - Maxime asked distro about it on defaults.. they are fine with it bc no/low deps and shared maintenance with HoloViz team - Maxime will start working on this soon, target to release in April - Won't just read from Bokeh, etc datasets.. will ship our own - How to demo large datasets (like for Datashader?) - Have some util to generate large data as part of this package - Should be easy for user to cp a snippet. Don't require them to install e.g. intake - HoloNote - Package not quite ready for full push on docs - Port jupyterlite build [process](https://github.com/holoviz/holonote/blob/main/scripts/jupyterlite/build.sh) to Panel - HEP policy (DR TODO) - HoloViz Tiered Orgs Policy (DR TODO) # 2024-03-13 NumFOCUS SDG Attendees: Maxime, Isaiah, Jason, Demetris - Feedback - Jason - submitted new dummy example - Gerrymandering is ready for review by Maxime, Jim - Using hvPlot instead of HoloViews - Need to discuss categorical rasterization; just using `Datashader` right now. Will try to include JLS in the discussion. - TODO: update contributing guide (examples website). Wait for https://github.com/holoviz-topics/examples/pull/355/files to be merged. - TODO: Modernize portfolio optimizer - Use app code from https://github.com/holoviz/panel/blob/main/examples/gallery/portfolio_optimizer.ipynb - Create a new section under the existing portfolio optimizer example - Update text, code as needed - Isaiah - Trying to update NYC Taxi Dashboard - In meeting issue, solved by reading parquet using fastparquet - Decided to stick with HoloViews instead of hvPlot because it's using `.select` method - Change param `ObjectSelect` to `Selector` - Full NYC Taxi Example next # 2024-03-12 HoloViz Meeting Attendees: Marc, Simon, Maxime, Philipp, Demetris - HoloViews Bars - Status - Bars were always categorical - Downsides: - Axis linking doesn't work - Can't overlay non-categorical elements - New PR allows numeric x-axis (https://github.com/holoviz/holoviews/pull/6145) - Questions: - How should bar width be determined? - Look at Plotly etc. - What happens when unevenly spaced? - Next steps - Add Plotly support - More testing - Updated docs - Unit tests - pn.bind vs. pn.rx - Function based entry point: - `pn.bind(func, ref1, ref2).rx()` - `pn.rx(func)(ref1, ref2)` - Do we have examples that highlight differences and benefits of rx? - Bound functions sometimes a deadend - rx is smart about caching - Let's write a series of simple examples comparing Streamlit, bind and rx - Need better language to explain and talk about `.rx` - Intersection between reactive code and DynamicMap - `DynamicMap` is based on streams - HoloViews already performs the unpacking of reactive references - Mixing of concepts is confusing - `DynamicMap` (or rather the plotting implementation) is quite brittle and is dependent on what the DynamicMap returns - Possible enhancement: - Safely use the DynamicMap optimization when possible and bail out re-render if not. - Multiple approaches: - `hv.DynamicMap(pn.bind(func, ref1, ref2))` - `hv.DynamicMap(func, streams=[ref1, ref2])` - `hv.DynamicMap(pn.bind(func, ref1, ref2).rx().select(x=(0, 10)))` - Meetup - Releases - Panel - Panel 1.4.0 rc1 today - Param - Param 2.1.0 rc1 today - Drop Python 3.8? - colorcet - Released 3.1.0 - Bokeh - Button label and tooltip positioning regressions - 3.4.0 release waiting on these # 2024-03-06 NumFOCUS SDG Attendees: Maxime, Isaiah, Jason, Jim, Philipp, Demetris [**NF SDG Doc **](https://docs.google.com/document/d/1IRAeZh3KBg_el2b-gnLGBpvIBUyXFluuh_AqFXE9l9Q/edit) - [Meeting recording](https://anaconda.zoom.us/rec/share/spxbvFjHEaQg--kJu_tHY_4MXim9FI0ObtObb94lrVv6QSCSwU9J067pjfMyP3yb.Qsa--oh-objci1bG) &1a8*qhc - Env locking (from last meeting) solution - Remove folder, relock - Maxime will add a doit command for this - this doit command will also set the glibc override - Jason - In progress: Gerrymandering - don't show the entire world in the final plot, just the US - rasterize by district - Maxime FR for xyz tiles in hvplot - Maxime FR for tile_opts in hvplot - Maxime issues in HoloViews with rasterize - TODO: dummy example - TODO: feedback on the contributor guide - Isaiah - [Gull tracking](https://github.com/holoviz-topics/examples/pull/357) modernization MERGED! :+1: - dummy example closed :+1: - TODO: feedback on the contributor guide - Glaciers in review - TODO: modernize nyc_taxi - Maxime to create a doit command to build the website for a single project # 2024-03-04 HoloViz Meeting Attendees: Jean-Luc, Simon, Philipp, Demetris, Maxime, Andrew - Release Updates: - Panel 1.4 - Philipp to review Marc's tutorial sections - Encountered some serialization issues that have to be reproduced - Philipp: Try to reproduce - Release after Bokeh 3.4 - RC this week - Bokeh 3.4 - RC out as of last week - Just waiting on documentation - Anticipate early next week release - colorcet 3.1 - available on pip - conda-forge/defaults in progress - Param 2.1 - Philipp finishing up a number of PRs - `.rx` enhancements - RC this week - Intake 2.0 - Plan is to remove dependency everywhere except Lumen - Lumen: - Pin for now - HoloViz DSP Cluster: - Panel gallery was redeployed - Most examples redeployed - Lots of retries required - Unclear on stability of the deployments - Likely filesystem issues - Everyone should try the deployments - Go to examples.holoviz.org - Try things, report back! - Should ask to shut down old cluster. - hvPlot + robust - Add `robust` to hvPlot to toggle current `clim_percentile` behavior on and off and to toggle RGB robust behavior - # 2024-02-28 NumFOCUS SDG Attendees: Maxime, Isaiah, Jason, Jim, Philipp - Feedback: - Jason: - Good progress yesterday, going well - Blocked a little on a piece of code - Isaiah: - Managed to create the dummy example, and added a dashboard after review - Submitted updated glaciers - Adding a new example went pretty smoothly - Need to explain `doit <cmd>` needs to be executed at the top-level - Small issue if opening a notebook, has to replace localhost in the URL - Jason's next task after gerrymandering - Submit a dummy example like Isaiah did - Provide feedback on the contributor guide - Next high priority: updating nyc_taxi - Start with the dashboard.ipynb and the panel app - Discussion about which approach to follow for updating the dashboard - Class should inherit from pn.viewable.Viewer - Replace `def view(self)` with `def __panel__(self)` - Replace `taxi.view()` with `taxi` - Example for Jim for the curious: https://anaconda.org/jbednar/dashboard_barewidgets/notebook - Then, update the Geographic Analysis notebook - Very last plot pre-dated 3D datashader rendering, ask Jim what to do :) - gerrymandering: - Maxime to figure out how it should be updated and get back to Jason - Github Workflow: - There's only one dev website, every new PR rebuilds it, changes from previous un-merged PRs are overriden on the website - For a PR to be merged, the PR branch should be up to date with the `main` branch. The `Update branch` button on Github can merge `main` into the PR branch. # 2024-02-27 HoloViz meeting Attendees: Demetris, Simon, Philipp, Mateusz, Maxime - (ML) HoloViz Datasets package - Issue: https://github.com/holoviz/holoviz/issues/394 - Naming: `hvsampledata` is the favorite option so far - Preference for `hvsampledata` - If made accessible under a namespace, how to call it? E.g. `hvplot.datasets`, `hvplot.sample_data`, `hvplot.sampledata`, etc? - Preference for `hvplot.sampledata` - Download: - Should be possible ahead of time in CI - Should probably have a flag to download large data or not - Lazy download on access? - Versioning? - Should the versioning on datasets.holoviz.org be reflected? - Hard dependency? - Could differ between packages, e.g. hvPlot and HoloViews need it - Simon reserved `hvsampledata` - PyPI - Rename pyviz org -> holoviz - Philipp: Investigate - PyPI size limits - https://github.com/pypi/support/issues/3673 - Policy for deleting old dev packages: - e.g. dev releases >3 years - Philipp: Delete some old releases - Conferences: - EuroPython 2024 (Prague): - (Maxime): Considering hvPlot - Scipy (Tacoma): - (Jim): Tutorial + Maybe talk - PyCon (Pittsburgh) - (Andrew): RAG to Riches (Ragna + Panel) - (ML) Update/Document extras dependencies installed with conda packages? - GeoViews: https://github.com/conda-forge/geoviews-feedstock/blob/main/recipe/meta.yaml#L56 - Should add note in front of recommended extras - Maintainers to review current recommended - (ML) hvPlot updates to improve the contributor experience - Started to run more Github workflows with pip (tests, docs) - Removed the `examples/` folder - Next, migrate to `pyproject.toml` (no more pyctdev) - Releases Update: - Bokeh 3.4 - RC tomorrow - Panel 1.4 - Philipp to finish tutorials - Andrew to finish a few Chat related PRs - Param 2.1 - Improved Generator support - More .rx accessors to address certain missing functionality - Simon/Philipp were discussing: - `param.Skip` https://github.com/holoviz/param/pull/908 - Need decision on https://github.com/holoviz/param/pull/901 - Datashader - Numba + Py 3.12 are working - Test suite was failing due to Pandas - No release needed for now - - (DR) Adding Group, Label args to hover tooltips https://github.com/holoviz/holoviews/pull/6125 - Test with hvPlot to ensure this doesn't result in redundant/useless information being added - Consider easier way to control default hover tooltips (and formatters): - e.g. `['kdims', 'vdims', 'label']` or explicit tooltips dict `{'Label': '@column'}` - GSoc Application Denied # 2024-02-21 NumFOCUS SDG Attendees: Maxime, Isaiah, Jason, Philipp, Demetris - Open Collective Reporting - Both Jason and Isaiah have submitted.. seems to be working ok - Isaiah started on glaciers examples - Will need to rewrite the narrative part - Why was the column duplicated? - re: link_selections. Isaiah figured it out. - ending a line with a semi-colon - Philipp will be working on making templates working better in notebooks - After Glaciers example, make an update to the contributor guide next - Take a dummy example for practice from somewhere else (bokeh, kaggle, etc) - Go through the process of adding a brand new example to the examples website, following the contributor guide (this will not be merged as a new examples - it's just for practice) - Propose changes to the contributor guide (file issues, pull-requests) - Maxime will review Isaiah's updates - Jason having issues with Anaconda project # 2024-02-19 HoloViz meeting Attendees: Philipp, Maxime, Simon, Jean-Luc, Marc, Mateusz, Andrew - Review Action Items: - [ ] Review access to repos/orgs. Migrate some people to alumnus status? - [x] Maxime will start the issue/discussion on datasets API - [x] Simon grab the name hvdata - Panel Security Guide - Disclosure EmailZ - Reporting process - Maybe just follow Bokeh's approach - Marc to open issue - Philipp to set up security@holoviz.org - Floating UI discussion - Unification for positioning things in Canvas and CSS via so called symbolic nodes - Bokeh models now support `elements` property to attach models - Panel and HoloViews independently need to figure out how to support this - Simon to open issue in HoloViews - Ideas: - Add UI components to toolbar - Add UI component on hover/tap - Context menus - Philipp to open issue in Panel - Expose symbolic nodes for custom models? - All UI components have `context_menu` - Releases - Bokeh 3.4 - 3.4.0dev8 is out - Floating UI PR is merged - Serialization updates partially reverted - RC timeline by EOW - Panel 1.4 - Panel now built against 3.4.0rc8 - Finish tutorial - Andrew to finish open PRs - Colorcet 3.1 - Changed infrastructure, migrated to pyproject.toml, dropped pyct - Waiting on Jim to review - jupyter_bokeh 4.0 - Updated all jupyter JS deps - Moved to hatch(ling) - Hopefully today - Param 2.1 - Asking for reviews: - (Async) generator support - .rx namespace # 2024-02-14 HoloViz Docs meeting Attendees: Philipp, Isaiah, Maxime, Simon, Jean-Luc, Andrew - NF SDG update - Update the examples website - Learning about Anaconda project - Updating a single example right now - Panel Tutorial - Philipp will add a couple more sections related to reactivity - Will likely merge the PR after this - Will mark as 'experimental' and solicit feedback - Isaiah and Jason to provide feedback on Panel tutorial - Feedback spreadsheet: https://docs.google.com/spreadsheets/d/1rozrHAfGqN59cGY2xX1d8oApFUSXRgQsVuVY2uDxB5o/edit#gid=0 - Maxime to review the tutorial this week - hvPlot Reference - will do at some point soon - API for Datasets - We cannot rely on intake - People generally in favor of a dataset API - Would fetch from our S3 bucket - Maybe small datasets can be bundled in the package - GeoViews has data to download for examples.. would be deprecated - Would need to be a separate package - naming: hvdata? - TODO: Maxime will start the issue/discussion - TODO: Simon grab the name hvdata # 2024-02-14 NumFOCUS SDG Attendees: Maxime, Isaiah, Jason, Philipp, Jim - OpenCollective - Isaiah: hasn't searched yet - Jason: didn't get an email - anaconda-project timeouts: - anaconda-project has a default timeout of 10 minutes - Maxime showed a way to increase it locally (recorded) - Improvements in https://github.com/Anaconda-Platform/anaconda-project/pull/401 - Maxime showed the Examples sheet with first prioritization - Feedbacks: - Jason: - continued updating his example - issue with `anaconda-project lock` - There is some problem with locking on WSL - Need to find the equivalent command of `CONDA_OVERRIDE_GLIBC=2.34 anaconda-project lock` for PowerShell - Isaiah: - No pending issue - Waiting for feedback - Reviewed Isaiah's changes on gull_tracking: - Discussed other aliases for lon_lat_to_easting_northing, no winner :) - Suggested to add 2 new columns with the converted locations - Discussed adding an option to hvPlot to internally project to web mercator # 2024-02-13 HoloViz Meeting Attendees: Jim, Simon, Philipp, Demetris - Mistral Collaboration? - Should we reach out - Releases - HoloViews 1.18.3 Released - Yesterday - GeoViews 1.11.1 release - Today - Bokeh 3.4 - Floating UI PR waiting on reviews - Philipp to review - Best review is to merge, make dev release and then build on it - Serialization issues - Partially revert object/map representation change - Minimizes needed changes to Panel - Dev release follows after the two PRs are merged - Panel 1.4 - Waiting on Philipp to write reactive tutorial sections - Finish Bokeh 3.4 compatibility - Pin >=3.4,<3.5? - Datashader 0.16.1 - Compatibility with Python 3.12 - Ways to improve Bokeh/Panel compatibility - Type `any` where possible - Run UI tests against bokeh dev releases - Typing globals (vega.js, tabulator.js etc.) - jupyter-bokeh / JupyterLab incompatibility - Attempt to make the PR work https://github.com/bokeh/jupyter_bokeh - Otherwise remove JupyterLab pin to at least restore functionality for VSCode - Python 3.13 opportunities - Tornado Sub-interpreters - Investigate NoGIL Actions: - Jean-Luc: Run HoloViz tutorial on 3.12 # HoloViz Steering Committee Agenda Q1 2024 > REMEMBER TO RECORD Attendees: Marc, Philipp, Sophia, Jean-Luc, Andrew, Maxime, Demetris, Scott, Mateusz, Dharhas, Simon - hvPlot CLI - Project Governance was utilized on issue https://github.com/holoviz/hvplot/issues/1150 and PR https://github.com/holoviz/hvplot/pull/1256 - Even-numbered maintainer list, but majority still needed to pass - Escalation/appeal process: - It exists and appears to be sufficient: https://github.com/holoviz/holoviz/blob/hvplot-gov/doc/governance/project-docs/GOVERNANCE.md#:~:text=2.3.%20Appeal%20Process. - Ragna Tutorial accepted for Pycon 2024. There will probably be a build a chat with panel component in the tutorial. - NF SDG underway - Maxime mentoring - Infra needs work - Applied for GSoC - Andrew would be mentoring - [Suggested projects](https://github.com/holoviz/holoviz/wiki/2024-GSoC-Project-List) include Panel Chat and hvPlot Explorer - Quansight internship https://boards.greenhouse.io/quansight/jobs/4011005005?s=09 - Still in TODO queue: DR drafting a HoloViz library category (core, extension, incubator) policy and process - New project applications - Anaconda CZI decision due in March - Anaconda applying for an SBIR in the area of cybersecurity analysis tooling - Relations with Jupyter community - Polars - They are putting a 'stamp of approval' on hvPlot.. we should respect that and ensure that we support Polars use-cases - Pandata - Requested pydata domain from NF - TBD whether this becomes a more formal entity - Sophia focusing on AI devrel work - Could see some intersection for comparing experiments - Scott - Panel + Django, scaling/performance issues - Will open an issue - Marc - Panel Chat with async is great - Panel, hvPlot docs should be focus # 2024-02-07 NumFOCUS SDG Attendees: Demetris, Maxime, Isaiah, Jason - Time tracking - Jason Q: file ever couple weeks? - Every two weeks (15th and EOM). It's fine if it's a day or two beyond, but let us know if it's going to be more than that. - Isaiah, Jason may ramp up to more than 8/week - Isaiah and Jason: feedback so far? - Jason: - Still working on TODO from last week - Had some trouble getting actual dataset - try downloading from the browser. Maxime will provide further instructions - Not fully understanding the rasterize function - https://www.youtube.com/watch?v=eWpVUPHrCIA&ab_channel=SciPy - https://datashader.org/user_guide/Plotting_Pitfalls.html - There isn't a message on the command line telling them that the data is downloading - TODO: file issue with anaconda-project to inform users that data is about to be downloaded - Isaiah: - Filed a PR, reviewed by Jim - Wasn't able to download the dataset - a smaller dataset seems to work. - test_data has smaller datasets! - TODO: Maxime will provide potential doit command to utilize the smaller test_data. - `anaconda-project run` hangs.. not working - In envs directory, there are 'lock' files to reduce the discrepencies in the built env - Wasn't able to run the code before pushing - TODO: Maxime will send copies of the data to move forward while we figure out this downloading issue. - WIP Priority list - Maxime going through every example and assigning priority (high, medium, low) to help guide. Will be checked by Demetris, Jim, Philipp. Next week we should have this - Follow WIP Panel tutorials - HoloViz Panel devs are currently working on creating tutorials for Panel - Maybe next week we'll ask Jason, Isaiah to go through tutorials to get feedback - Blog post: postponed again # 2024-02-05 HoloViz Meeting Attendees: Marc, Andrew, Demetris, Jean-Luc, Maxime, Philipp, Simon, Mateusz - (ML) GitHub team / members / permissions / roles - It's a bit of a mess. - Should some people be removed? - Create "alumnus" group without permissions to move people into - Do we want to use GH Teams to notify members on issues/PRs (e.g. @holoviz-dev please review this HEP) - (SH) Clean up old issues / PRs - HoloViews have exceed 1000 issues :(. I will propose a call to action, in which you quickly take a look at issues / PR you have created and close them if they no longer are relevant. - All of us commit to clean up our own issues - Make sure that we post resolutions to the issues we close - Convert issues to discussions? - (ML) Panel Tutorials - Andrew suggested Isaiah and Jason could follow them and provide feedback (is that in scope of their project?) - Release alpha version of the tutorials - Then ask for freeform feedback - Actionable feedbackZ - We come up with a list of questions - Getting started vs Tutorial purpose - Both may serve as the baseline expectation for what a new user has reviewed - What can we assume a user has read? - Getting Started - What is it? - Should catch their interest - Marketing focused, i.e. hook them - Basics Tutorial - A lot of sections, do we expect users to review all the material? - May decide to reorganize, edit and remove materials later - (PR) Intake 2.0 compatibility - hvPlot - Move away from Intake for data intake - Just load from datasets.holoviz.org? - Separate example data package, e.g. holoviz-datasets - Lumen - Probably has to be - intake-??? plugins - Bokeh 3.4 release timeline - floating UI PR feature complete, finishing docs - WIP for serialization issues - Dev release tomorrow Actions: - Everyone to review their issues - Marc and Philipp to figure out set of feedback questions - Philipp to create spreadsheet to gather feedback on sections, organization and classification of topics into basic vs intermediate # 2024-01-31 NumFOCUS SDG Attendees: Demetris, Maxime, Jim, Isaiah, Philipp - Time tracking / reporting - DR still waiting on NF for guidance/info. - TODO: next meeting ask Isaiah, Jason next meeting about their experience so far. - Blog post postponed (ML too busy this week, sorry!) - Feedback on the challenge - Isaiah: Did not have much of a challenge, except the fact that it was not immediately obvious where I should run the `doit:` commands. I asked the question in the Discord chat and it was answered by Jason. - Jason (in writing): - I think Maxime's challenge was very education and I was able to learn a number of things such as pull requests and branches since I had no experience with them before. Also I learned that there were line ending differences between windows and unix. - One issue that I ran into initially was not being able to run the doit commands. I was able to resolve this by setting up the environment to examples-gallery-manage. Initially I created the environment using the .yml file from the optimize_portfolio folder. - I think that was the largest issue I ran into, everything else like making a pull request I was able to learn by watching a video. - I found the contributing guide pretty easy to follow but I feel like since I was only making an update it isn't the same as creating a new example. - These were some questions I had written down for the meeting: - When making a change to a notebook, do I also need to make a change to the .py file? - Should doit validate, test, and build always be ran whenever making a pull request? - The doit commands (test/build) take a long time to run, is that normal? - Maxime started making a table of the APIs, packers, and plot API’s are used in various examples. LINK?? - We should figure out which to update - Landsat example should either be updated or link out to Pythia - Goal for us today is to pick one example for Azaya and Jason to start with - As a team we should spend an hour going through Maxime’s table as a team to decide which examples we want to invest in as a team - Philipp has started writing Explanation docs for Panel to help guide the API choice - Will not include HoloView/hvPlot APIs like DynamicMap - Jim wants the top of examples to be more like Medium MEETING RECORDED FROM HERE DOWN - TODO: DR send Jason recording. DONE - Pick an example to update: - TODO: ISAIAH: Maxime/Jim suggest that Isaiah should start with Gull Tracking example - Make hvPlot a dependency and replace holoviews with hvplot - Ensure there’s no useless imports.. ideal is to have minimal imports - Data access.. we have to decide how best to get data - hv.extension goes away - map tiles goes away with hvplot - holoviews like goes away - need to either hide or explain what we are doing with renaming to longitude and latitude - we should probably not be using shade by default in any examples, we should use rasterize (which means updating text to explain what's now available in hover and for legends) - Use rasterize=True within the hvplot call - update the text, e.g. because using bokeh for the color shading means that the data will be more interactive.. - for this particular example, maybe consult Jean-Luc’s video on needle in a haystack - text explain that longlat_to_meters (there’s one in holoviews that we should use instead) - update the environment and relock the environment - Isaiah suggests reorganizing the repo, because mixing actual example directories at the same level as non-example-project. - Group agrees but would likely be a lot of work so not a top priority for now - There’s more updated versions of penguins and portfolio optimizer in Panel that needs to be ported over. - TODO: JASON: Maxime and Jim suggest Jason should start with the Gerrymanding example - is it good practice to set defaults at the top? if so, we should acknowledge and explain it. Figure out whether it made sense to do for this example - color_key and color_points way of adding a color_key needs to be updated.. might need some actual work still to do. - is that the most updated way to read parquet? the use of dask makes it a bit more complicated - the use of dask needs to be explained and justified, including df.persist - holoviews hv.points can be replaced by hvplot - use rasterize inside of hvplot instead of datashade or shade - probably still need geoviews, or could use geopandas instead.. is gv.Shape our most updated recommendation? # 2024-01-30 HoloViz Meeting Attendees: Simon, Isaiah, Ben, Marc, Andrew, Philipp, Maxime I (ML) added a bunch of stuff, none of them is urgent imo so please feel free to postpone them to another meeting and re-order as you see fit. - (ML) hvPlot CLI - PR https://github.com/holoviz/hvplot/pull/1256 and issue https://github.com/holoviz/hvplot/issues/1150 - Discussion needed about the process, I think - Decide what to do next - Maintainer vote - Discussion: - Is it useful? Are our users requesting it? - xarray maintainer expressed interest - Potentially confuses the story around hvPlot being an interactive tool - Options: - Merge as is - Limit scope to xarray - Move to another project - Add a plugin system - Move it to Lumen - Pros: - Data loading code lives there - Could easily be expanded in scope to support more views - Cons: - Xarray not supported - Bigger project to support - Decision making - Add Andrew to hvPlot maintainers - Follow Governance process - (ML) Governance - Project Member Roles - Definitions in https://github.com/holoviz/holoviz/blob/main/doc/governance/project-docs/GOVERNANCE.md - Update the HoloViz duties sheet? - Update each project doc, e.g. https://github.com/holoviz/hvplot/blob/main/doc/governance/project-docs/MEMBERS.md? - Do we need more lead maintainers? How does someone become a lead maintainer? Should we rotate positions? - - Actions: - Create checklist of projects that have adopted governance - Replace Duties sheet with HoloViz level overview and project level maintainer lists - Lead maintainers to work on adopting governance docs - Philipp to come up with governance model for Panel/Lumen - HoloViews/GeoViews to adopt as is - Andrew to be added as maintainer to GeoViews - Colorcet to remove Ian - Datashader to update and remove Ian - (ML) Release announcements - Which releases should be announced and how? - Minor vs micro versions - Where? - Discourse - Discord - with @here?: No unless major - Twitter - LinkedIn - Mastodon - Decision: - Yes, always to Discourse, Discord and socials - Release manager is responsible for posting to discord and discourse; request to post to socials - (ML) Passwords - Everyone has access to 1Password? - Retire the doc? - Yes, should be deleted - Find out if multiple access levels can be set up - (DR) GSoC - DR will register org - Andrew will be tentative mentor - Project ideas will mostly center around Panel Chat - Deadline Feb 6th # 2024-01-24 NumFOCUS SDG Attendees: Demetris, Maxime, Jim, Jason, Isaiah, Philipp - Communication (Discord, GitHub, weekly-ish meetings) - Prefer discord for most quick discussions - Use any of the discord channels, but the nf-sdg channel is specifically for this too - Don't hesitate to reach out to chat (Maxime/Philipp/Simon/Jean-Luc are in Europe; Demetris/Jim/Andrew are in US) - First steps - Follow the HoloViz tutorial on holoviz.org - Feedback? Questions? - How'd it go? - Isaiah feedback/questions: - Examples website examples are harder to recreate than the holoviz tutorial - Helpful that there is a video recording along with the holoviz tutorial - Suggestion: At the end of each downloaded tutorial notebook, it would be useful to add a link to the next notebook - Jason feedback/questions: - particles vs glaciers example - What's the preferred approach? e.g. glaciers was holoviz-heavy, particles was topic-heavy... - Each of the examples currently varies - Focus on making sure the code examples and the guidance on HoloViz - What's the preferred writing style? SIMPLE AND CLEAR :) - Get set up following https://examples.holoviz.org/contributing.html - TODO: This page can for sure be improved, please note down any feedback/comment/improvement - TODO: This section needs to be filled-in: https://examples.holoviz.org/contributing.html#update-a-project - Pick a simple example to modernize on examples.holoviz.org - HoloViz summary - **HoloViews** came out of frustration with MPL... you should instead just be able to declare some information about your data and then have it visualizable - **hvPlot** (came much later): concise way to start with a data object and create viz... much like the pandas .plot() method (but better!) - **Bokeh** is not part of HoloViz, but has developers in common and is the preferred plotting backend for HoloViz tools (compared to plotly, matplotlib). - **Panel** provides tools for dashboards - API guide: - Plotting package: Prefer **hvPlot** to HoloViews, HoloViews code to Bokeh hooks, Bokeh backend to Matplotlib backend - Q: When we deem it required to use HoloViews in an example, should we switch the entire example from using hvPlot to HoloViews?? - Utilizing HoloViews'`.opts` is fine, no need to switch to HoloViews just for that. - Other specific functionality of HoloViews can be used with hvPlot, but only items from a finite list that we curate (e.g. link_selections) - If you are using DynamicMap, definitely rely on HoloViews - Panel APIs (in progress): - Panel is built on Param as an interface (Param is not a viz library) to build Bokeh models - Everything in Panel is a Param Parameter - Simpler applications: In order, prefer param.rx, pn.bind (not param.watch, not @pn.depends, not pn.interact(), not hvplot.interactive) - More complex: param.Parameterized (including param.depends), pn.bind, panel.Viewable - TODO: read docs about the API's mentioned here - Announcement blog post? # 2024-01-22 HoloViz Meeting Attendees: Marc, Maxime, Andrew, Simon, Demetris, Philipp, Mateusz - (ML) Panel tutorials - General discussion in https://github.com/holoviz/panel/issues/6215 - Outline discussion in https://github.com/holoviz/panel/pull/6243 - Marc's refactoring in https://github.com/holoviz/panel/pull/6213 - Questions: - Process - Split in difficulty levels - Is this Diataxis? - Are we recreating user guides? - (ML) holoviz-topics/examples - Which license? - CC suggested - Does it need to adopt HoloViz governance model? - CoC should apply - Probably does not need full governance model - Defer to steering committee - Release Updates: - Bokeh 3.4 - Floating UI status - Delayed but works - Merge and dev release tomorrow - Full release at least 1 week out - Panel 1.4 - Likely next week - Tutorials - Release basic tutorials in some form - Gather community feedback - Add header to tutorials linking to issue for feedback - ReactiveESM?! - Naming - ReactiveJS - BaseComponent - anycomponent - CustomComponent - Philipp to write docs - anywidget - Two modes: - React - Vanilla - Maybe postpone to 1.5 - HoloViz duties - (PR) hvPlot CLI # 2024-01-19 HoloViz Developer Experience Meeting Attendees: Maxime, Simon, Philipp Things we want: - Convert to pyproject.toml and build with non-legacy setuptools - Simplify process of setting up developer environment - High-level commands for common tasks, e.g. build docs, build wheel, build conda, run tests - Modern versioning (e.g. hatch-vcs, hatch-nodejs-version) Requirements: - Must support windows (+ git bash) Questions: - Do we need to support conda and pip based environments? - Yes in long run, maybe not as first step?! - If not then what is the node.js recommendation? - Who is the target audience? - Outside (unexperienced) contributors?! - Us (we are a special case, can this tooling really hope to address our use cases?) - CI Tooling: - Hatch + Hatchling Actions: - Simon to attempt to revive Panel PR or start from scratch - Maxime to look at hvPlot # 2024-01-17 HoloViz Docs Meeting Attendees: Demetris, Maxime, Simon, Jim, Philipp, Andrew, Jean-Luc, Marc, Jason, Isaiah --- - NumFOCUS SDG - Welcome Jason and Isaiah (Azaya)! - Introductions - Recap of the proposal and first steps - step 0: modernize a single example (see [examples website](https://examples.holoviz.org/) and [repo](https://github.com/holoviz-topics/examples)) and learn about holoviz (go through [tutorial](https://holoviz.org/tutorial/index.html)) - step 1: development of tutorial/template for contributing new examples - step 2: make a single new example from scratch (for practice) - step 3: modernization of examples - step 4: create new examples - step 5: categorizing content - step 6: streamlining the examples site contribution process - step 7: blog posts! - Docs meeting once a month - good time for reporting progress - Weekly small group check ins - Constant discord conversation and questions - **DONE:** Maxime will provide examples repo access - **TODO:** Isaiah and Jason aggregate your questions - **TODO:** Demetris schedule small group check-in meeting - We can track [web analytics](https://holoviz.goatcounter.com/?filter=%2Fexamples.holoviz.org) throughout project --- - Panel Tutorial - Originally designed for being delivered in-person - Currently do not align with [Diataxis](https://diataxis.fr/) approach (task oriented, don't explain) - See Marc's proposal: https://github.com/holoviz/panel/issues/6215 - [Fast API tutorial](https://fastapi.tiangolo.com/tutorial/) is well-written - **TODO:** Everyone chime in on issue - Bump pydata-sphinx-theme in nbsite - nbsite pins 0.13 - 0.15 has been recently released.. we need to update - **TODO:** dev build of nbsite with 0.15 - Mystnb pinned in nbsite.. check if still needed # 2024-01-16 Attendees: Demetris, Maxime, Simon, Jim, Philipp, Andrew, Mateusz, Jean-Luc, Marc - (JB) NumFOCUS SDG - Starting tomorrow - Guidance on APIs - Tension between linear narrative and maintainable app structure - Try to encourage `rx` and see if it is a good fit - But when it makes sense to use pn.bind/have a separate Python file with classes, do that explicitly - Integrating into the group - Invite to Docs and HoloViz meetings - Mentoring - Presence on Discord - (ML) hvPlot Roadmap - See: https://github.com/holoviz/hvplot/pull/1253 - Good exercise, should repeat for other projects - Releases - Param 2.0.2 - Release this week - Panel 1.3.7 - Release this week - Panel 1.4.0 - Early February - Tutorials - Dashboard Builder - ESM Components (needs docs) - Bokeh 3.4 compat - Bokeh 3.4 - Bokeh Floating UIs dev release by end of week - Serialization fixes (untested) - May be slowed down by lack of testing - Tentatively early February - hvPlot 0.9.2 - This or next week - Polars fixes and docs - HoloViews 1.19.0 - Bokeh 3.4 compat - Timeseries tooltips built on top of floating UIs - HoloViews Pandas Index support - param.rx - Limits currently uncertain - Want to do exploration (SDG and otherwise) - Need to finish the `.interactive` deprecation - Remove `pn.interact` - ESM Components - Philipp to schedule demo # 2024-01-08 Attendees: Demetris, Maxime, Marc, Jean-Luc, Simon, Mateusz, Philipp - (DR) Quick thoughts on [contextualizing zoom tools](https://github.com/holoviz/holoviews/pull/6051#issuecomment-1874321049) - when using subcoordinate_y, apply default wheelzoom and zoomin/out tools to subplot-level and only y-dimension. - DR explaining that this PR contextualizes the zoom tools, and that this is new in HoloViews in his opinion - JLS thinks it's fine! - SH: the code starts to be complicated and full of if statements, should think about better designing - JLS: How about allowing users to configure the tools from the UI directly? Mateusz saying it's on the roadmap :) - (DR) [Datashader Inspections](https://github.com/orgs/holoviz/projects/9/views/2) - Simon, Mateusz and Andrew to check the board and report any issue - (ML) [HEP 2: Release and deprecation policies](https://github.com/holoviz/holoviz/pull/388) - (ML) GoatCounter: https://holoviz.goatcounter.com - (Marc) Polars feedback - Did we get general feedback except what we read on the issues and forums? - JLS asking if some of us use Polars? Simon, a little. - We've been very responsive, we should keep doing that. - (DR) Document hvPlot reference API: - One workaround is to better expose the explorer, for people to learn the API - (Marc) Worked on how to integrate HoloViz and Quarto https://awesome-panel.github.io/holoviz-quarto/ - Showing how to write docs using HoloViz + Quarto - Showing how to embed to HoloViz in Quarto sites - (Marc) Re-doing awesome-panel at https://awesome-panel.org/ - Used to host 50 apps, it was too much - Using now hugging-face to host apps (normal served apps or static) - Asking for feedback! - (ML) Blogs: - Philipp to tweet the Param 2.0 blog # Older minutes 2023 https://hackmd.io/5zt05J9nQyGUIgGNs4Jl2w 2021-2022 https://hackmd.io/wp8PI9AjQFesMh31NebQLA Pre-2020 https://hackmd.io/@holoviz/holoviz2020