From 66dbac94fbc3e2cf2127efa883286505edea85ab Mon Sep 17 00:00:00 2001 From: clewis7 Date: Thu, 23 Jan 2025 12:02:38 -0500 Subject: [PATCH 01/10] start readme remake --- README.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9ae948cbf..6813a031f 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,30 @@ [**Examples**](https://github.com/kushalkolar/fastplotlib#examples) | [**Contributing**](https://github.com/kushalkolar/fastplotlib#heart-contributing) -Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that can utilize [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization. +Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization. > **Note** > > `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). See this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 +## insert gif here + + + +# What can I do with `fastplotlib`? + +- GPU accelerated visualization + +- interactive visualization via an intuitive and expressive API + +- rapid prototyping and algorithm design + +- easy exploration and fast rendering of large-scale data + +- design, develop, evaluate and ship machine learning models + +- create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) + # Supported frameworks `fastplotlib` can run on anything that [`pygfx`](https://github.com/pygfx/pygfx) can also run, this includes: @@ -85,7 +103,7 @@ git clone https://github.com/fastplotlib/fastplotlib.git cd fastplotlib # install all extras in place -pip install -e ".[notebook,docs,tests]" +pip install -e ".[notebook,docs,tests,imgui]" # install latest pygfx pip install git+https://github.com/pygfx/pygfx.git@main @@ -118,3 +136,19 @@ For more detailed information, such as use on cloud computing infrastructure, se We welcome contributions! See the contributing guide: https://github.com/fastplotlib/fastplotlib/blob/main/CONTRIBUTING.md You can also take a look at our [**Roadmap for 2025**](https://github.com/fastplotlib/fastplotlib/issues/55) and [**Issues**](https://github.com/fastplotlib/fastplotlib/issues) for ideas on how to contribute! + +# Developers + +[**Kushal Kolar**](https://github.com/kushalkolar) + +PhD Student, Tandon School of Engineering, New York University + +Guest Researcher, Flatiron Institute, Simons Foundation + + + +[**Caitlin Lewis**](https://github.com/clewis7) + +PhD Student, Pratt School of Engineering, Duke University + +A special thanks to all of the `pygfx` developers and the amazing work they have done. \ No newline at end of file From c87357132fac1745ccc1d0db1a4322e9e4853419 Mon Sep 17 00:00:00 2001 From: clewis7 Date: Thu, 23 Jan 2025 15:11:07 -0500 Subject: [PATCH 02/10] move some stuff to faq --- README.md | 11 +++-------- docs/source/user_guide/faq.rst | 8 ++++++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6813a031f..6530d99d2 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,8 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization. -> **Note** -> -> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). See this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 +> **Note:** +> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 ## insert gif here @@ -48,11 +47,7 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg :heavy_check_mark: `glfw`\ :heavy_check_mark: `wxPython` -**Notes:**\ -:heavy_check_mark: Non-blocking interactive Qt/PySide output is supported in ipython and notebooks, see the [interactive shells section in the user guide](http://fastplotlib.org/ver/dev/user_guide/guide.html#using-fastplotlib-in-an-interactive-shell) \ -:grey_exclamation: We do not officially support `jupyter notebook` through `jupyter_rfb`, this may change with notebook v7\ -:grey_exclamation: We only support jupyterlab for use in notebooks. This means that we do not support VSCode notebooks or any other python notebook platform. Jupyterlab is the most reliable way to use widget-based libraries in notebooks.\ -:disappointed: [`jupyter_rfb`](https://github.com/vispy/jupyter_rfb) does not work in collab, see https://github.com/vispy/jupyter_rfb/pull/77 +Write your code once and run it anywhere :smile: See the [FAQ](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) for more details on where and how you can use `fastplotlib`. # Documentation diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index ffa140ac2..188d93603 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -95,8 +95,12 @@ What frameworks does ``fastplotlib`` support? - `glfw` - `wxPython` - Note: Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider - such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. + Notes: + - Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. + - Non-blocking interactive Qt/PySide output is supported in ipython and notebooks, see the `interactive shells section in the user guide `_ + - We do not officially support `jupyter notebook` through `jupyter_rfb`, this may change with notebook v7 + - We only support `jupyterlab` for use in notebooks. This means that we do not support VSCode notebooks or any other python notebook platform. Jupyterlab is the most reliable way to use widget-based libraries in notebooks. + How can I use ``fastplotlib`` interactively? -------------------------------------------- From eda58bbe9394e8399ea56eecbf3ae4700f3f316d Mon Sep 17 00:00:00 2001 From: clewis7 Date: Thu, 23 Jan 2025 15:21:31 -0500 Subject: [PATCH 03/10] small edits --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6530d99d2..76d33ba37 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ pip install -U "fastplotlib[notebook]" We strongly recommend installing ``simplejpeg`` for use in notebooks, you must first install [libjpeg-turbo](https://libjpeg-turbo.org/) - If you use ``conda``, you can get ``libjpeg-turbo`` through conda. -- If you are on linux you can get it through your distro's package manager. +- If you are on linux, you can get it through your distro's package manager. - For Windows and Mac compiled binaries are available on their release page: https://github.com/libjpeg-turbo/libjpeg-turbo/releases Once you have ``libjpeg-turbo``: @@ -85,8 +85,7 @@ Once you have ``libjpeg-turbo``: pip install simplejpeg ``` -> **Note** -> +> **Note:** > `fastplotlib` and `pygfx` are fast evolving projects, the version available through pip might be outdated, you will need to follow the "For developers" instructions below if you want the latest features. You can find the release history here: https://github.com/fastplotlib/fastplotlib/releases ### For developers @@ -126,13 +125,15 @@ More detailed information on GPUs and drivers is here: http://fastplotlib.org/ve For more detailed information, such as use on cloud computing infrastructure, see the WGPU docs: https://wgpu-py.readthedocs.io/en/stable/start.html#cloud-compute -# :heart: Contributing +# Contributing :heart: We welcome contributions! See the contributing guide: https://github.com/fastplotlib/fastplotlib/blob/main/CONTRIBUTING.md You can also take a look at our [**Roadmap for 2025**](https://github.com/fastplotlib/fastplotlib/issues/55) and [**Issues**](https://github.com/fastplotlib/fastplotlib/issues) for ideas on how to contribute! -# Developers +# Developers :brain: + +A special thanks to all of the `pygfx` developers and the amazing work they have done. [**Kushal Kolar**](https://github.com/kushalkolar) @@ -140,10 +141,7 @@ PhD Student, Tandon School of Engineering, New York University Guest Researcher, Flatiron Institute, Simons Foundation - - [**Caitlin Lewis**](https://github.com/clewis7) PhD Student, Pratt School of Engineering, Duke University -A special thanks to all of the `pygfx` developers and the amazing work they have done. \ No newline at end of file From 237813a422a6e24c62ce823bed96ae9b3b5f71ec Mon Sep 17 00:00:00 2001 From: clewis7 Date: Thu, 23 Jan 2025 16:07:10 -0500 Subject: [PATCH 04/10] fix header --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76d33ba37..2072d860a 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ User guide: http://fastplotlib.org/ver/dev/user_guide/guide.html The `quickstart.ipynb` tutorial notebook is a great way to get familiar with the API: https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooks/quickstart.ipynb -## GPU drivers and requirements +# GPU drivers and requirements Generally if your GPU is from 2017 or later it should be fine. Modern integrated graphics are usually fine for many use cases. The exact requirements will depend on how complex your visualization is and how many objects you need to render. From b050990457e1c7a137096ec643f2f34d74b66b5a Mon Sep 17 00:00:00 2001 From: clewis7 Date: Thu, 23 Jan 2025 22:41:39 -0500 Subject: [PATCH 05/10] requested changes --- README.md | 17 +++++++---------- docs/source/user_guide/faq.rst | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 2072d860a..ce6a22fd4 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg :heavy_check_mark: `glfw`\ :heavy_check_mark: `wxPython` -Write your code once and run it anywhere :smile: See the [FAQ](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) for more details on where and how you can use `fastplotlib`. +Write your code once and run it anywhere. Whether you are using `Qt`, `glfw`, `jupyter lab`, or doing offscreen rendering, `fastplotlib` works across all major platforms (Linux, Windows, Mac OS X) :smile: See the [FAQ](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) for more details on where and how you can use `fastplotlib`. # Documentation @@ -97,7 +97,7 @@ git clone https://github.com/fastplotlib/fastplotlib.git cd fastplotlib # install all extras in place -pip install -e ".[notebook,docs,tests,imgui]" +pip install -e ".[notebook,imgui]" # install latest pygfx pip install git+https://github.com/pygfx/pygfx.git@main @@ -133,15 +133,12 @@ You can also take a look at our [**Roadmap for 2025**](https://github.com/fastpl # Developers :brain: -A special thanks to all of the `pygfx` developers and the amazing work they have done. +- [**Kushal Kolar**](https://github.com/kushalkolar) -[**Kushal Kolar**](https://github.com/kushalkolar) +- [**Caitlin Lewis**](https://github.com/clewis7) -PhD Student, Tandon School of Engineering, New York University +- [**Almar Klein**](https://github.com/almarklein) -Guest Researcher, Flatiron Institute, Simons Foundation - -[**Caitlin Lewis**](https://github.com/clewis7) - -PhD Student, Pratt School of Engineering, Duke University +- [**Amol Pasarkar**](https://github.com/apasarkar) +A special thanks to all of the `pygfx` developers and the amazing work they have done. \ No newline at end of file diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index 188d93603..029daabab 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -96,9 +96,9 @@ What frameworks does ``fastplotlib`` support? - `wxPython` Notes: - - Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. + - `jupyter_rfb `_ does not work in Google Collab, see https://github.com/vispy/jupyter_rfb/pull/77 - Non-blocking interactive Qt/PySide output is supported in ipython and notebooks, see the `interactive shells section in the user guide `_ - - We do not officially support `jupyter notebook` through `jupyter_rfb`, this may change with notebook v7 + - We do not officially support `jupyter notebook` through `jupyter_rfb` and strongly recommend using `jupyter lab`. Jupyter Notebook v7 might work, but this has not been extensively tested. - We only support `jupyterlab` for use in notebooks. This means that we do not support VSCode notebooks or any other python notebook platform. Jupyterlab is the most reliable way to use widget-based libraries in notebooks. From 09ec1dd09e7b45ad5ea23ecf01a8b6e622553229 Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:04:52 -0500 Subject: [PATCH 06/10] fix dev installs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce6a22fd4..432048cfe 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ git clone https://github.com/fastplotlib/fastplotlib.git cd fastplotlib # install all extras in place -pip install -e ".[notebook,imgui]" +pip install -e ".[notebook,docs,tests,imgui]" # install latest pygfx pip install git+https://github.com/pygfx/pygfx.git@main From 56acc21a8cd2be691e06cc02d97d9c5b3c43584b Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Sat, 25 Jan 2025 00:42:03 -0500 Subject: [PATCH 07/10] add gif --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 432048cfe..1eb9875e8 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg > **Note:** > `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 -## insert gif here +
+ +
@@ -141,4 +143,4 @@ You can also take a look at our [**Roadmap for 2025**](https://github.com/fastpl - [**Amol Pasarkar**](https://github.com/apasarkar) -A special thanks to all of the `pygfx` developers and the amazing work they have done. \ No newline at end of file +A special thanks to all of the `pygfx` developers and the amazing work they have done. From 0e794d10efe54fee19997a889b9d3ed520d5c877 Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Sat, 25 Jan 2025 02:30:06 -0500 Subject: [PATCH 08/10] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 1eb9875e8..3823f4b03 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,10 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg > `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121
- +
- # What can I do with `fastplotlib`? - GPU accelerated visualization From e90e9d475ef5ee263f4f7367a1ef9ffc143ea285 Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Sat, 25 Jan 2025 13:03:27 -0500 Subject: [PATCH 09/10] small changes --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3823f4b03..0fefb27cd 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,16 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization. -> **Note:** -> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 -
+> **Note:** +> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 # What can I do with `fastplotlib`? -- GPU accelerated visualization +- GPU-accelerated visualization - interactive visualization via an intuitive and expressive API @@ -35,7 +34,7 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg - easy exploration and fast rendering of large-scale data -- design, develop, evaluate and ship machine learning models +- design, develop, evaluate, and ship machine learning models - create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) From 06ab9364db9bb1be3b28b7846d79ef0f7aaf314a Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Sat, 25 Jan 2025 23:02:24 -0500 Subject: [PATCH 10/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fefb27cd..5109d26aa 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pyg > **Note:** > `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 -# What can I do with `fastplotlib`? +# What are *some* things I can do with `fastplotlib`? - GPU-accelerated visualization