Giter Club home page Giter Club logo

pyviz.org's Introduction



HoloViz: High-level tools to simplify visualization in Python

Test suite status Status
Site/Content version Github tag
Docs gh-pages site dev-site
Status Dashboard
Binder Binder
Code of Conduct Based on Contributor Covenant
Fiscal Sponsor Powered by NumFOCUS

What is HoloViz?

HoloViz provides high-level Python tools that are designed to work together to solve the entire problem of visualization, from conducting exploratory data analysis to deploying complex dashboards.

The core HoloViz projects are:

  • Panel: Create interactive dashboards in Jupyter notebooks or standalone apps
  • hvPlot: Quickly and interactively explore data with a familiar API
  • HoloViews: Visualize while you analyze by declaring data properties
  • GeoViews: Extend HoloViews for geographic data
  • Datashader: Render big data images in a browser
  • Lumen: Construct no-code dashboards from simple YAML specifications
  • Colorcet: Plot with perceptually based colormaps
  • Param: Declaratively code in Python
Panel Logo hvPlot Logo HoloViews Logo GeoViews Logo
Datashader Logo Lumen Logo Colorcet Logo Param Logo

All HoloViz projects are freely available for commercial or non-commercial use according to a permissive open-source license as described in each project's website.

HoloViz uses a custom open governance model and is fiscally sponsored by NumFOCUS. Consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

NumFOCUS donation details

NumFOCUS is a 501(c)(3) non-profit charity in the United States; as such, donations to NumFOCUS are tax-deductible as allowed by law. As with any donation, you should consult with your personal tax adviser or the IRS about your particular tax situation.


What is the purpose of this specific repository?

This repository provides an entry point for the HoloViz ecosystem. The best way to experience this repository is on HoloViz.org.

This website provides:

  1. Introduction to the HoloViz organization and its projects
  2. Guidance for which HoloViz tools to start with given different use cases
  3. Demonstrations of using multiple HoloViz tools in a single workflow
  4. Communication channels and FAQ for HoloViz community members
  5. Governance, roadmap, and contributing guide for HoloViz developers

Getting Started

We recommend starting with holoviz.org/tutorial. If you already have a problem to solve that involves a particular data type, check out holoviz.org/background for guidance on which HoloViz tools to focus on.

pyviz.org's People

Contributors

alshan avatar asmith26 avatar astrofrog avatar banesullivan avatar cornhundred avatar dopplershift avatar erosbence avatar jbednar avatar jlstevens avatar jourdain avatar jsignell avatar krlng avatar marcomusy avatar maximlt avatar mdeff avatar nicolaskruchten avatar philippjfr avatar pplonski avatar pyviz-developers avatar raphaelquast avatar rleibrandt avatar slumnitz avatar sophiamyang avatar syrte avatar talifargan avatar thewtex avatar timkpaine avatar tkoyama010 avatar veghdev avatar yvonnefroehlich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyviz.org's Issues

How to share global dataframe object across users?

I recently started exploring pyviz suite of tools and absolutely love them! Some amazing algorithms that work together so seamlessly and efficiently.

Is it possible to share df global variable (w.r.t OSMExplorer class) across users in this tutorial?

The motivation is to reduce initial load times for users. Currently my app takes more than a minute the first time I load a page in a browser after bokeh serve. If I open a new incognito window (to mimic another user), it again takes a minute. I'm assuming this happens because a new df is created for every user session. Just like Pandas creates views on every transformation, mimicking a copy, can I do something in OSMExplorer.do_view as well? Unable to share the dashboard to others as it too long to load.

Thanks in advance for help :)

Dormant projects

As of #11, the tools listing includes dormant projects, along with a link to the indication that they are dormant. For the ones currently included, the link goes either to a public statement that the package is no longer being maintained, or to a listing of repository activity that shows essentially no development over the preceding two years.

Hopefully this list will help people make sense of the many available projects, steering people to an appropriate alternative. In some cases, there is a public statement by the library author of what library to consider instead, e.g.:

In other cases, there seems to be a very reasonable alternative to suggest:

We could include this information in the listing ("Suggested alternative"?), but it might get a bit tricky; e.g. lots of libraries could claim to be good alternatives to Lightning. For now we've omitted that information, but discussion could happen here if someone wants to include it.

Updated "Python visualization landscape" Diagram for the Overviews page.

Hey Folks,

We are getting ready to publish a blog post on visualization and we wanted to include an updated "Python visualization landscape" diagram.

I've seen the WIP on #122 and that looks like a great way of thinking about things, but for our purposes, we like the structure of the existing diagram since it sends the message that the libraries target different runtimes so to speak: javascript, matplotlib, opengl, desktop etc.

This is really short notice (we are hoping to publish our blog post early next week), but I wanted to see if I could get any feedback from folks on:

  • what packages are now outdated and should be dropped from the viz
  • what new packages should be added and where should they be connected (i.e hvplot, napari etc)

We are going for a minor update that keep the same main structure of the existing diagram.

Any feedback we can get this weekend is appreciated and we will probably make a static image for the blog and then continue to work here to make an actual PR to improve the pyviz version.

@kcpevey @philippjfr @jbednar @pierrotsmnrd

holoviz installation now fails at step 2

I am installing on a new windows computer (This was working previously for me on my existing computer)

Following the instructions from https://holoviz.org/installation.html

Step 2. Fails with the following error message

(base) D:\>conda activate holoviz-tutorial

(holoviz-tutorial) D:\>conda install -c pyviz holoviz
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining conflict for holoviz setuptools wheel pip python:  27%|███████████████████▍                                                     | 4/15 [00:04<00:10,  1.01it/s]|                                                                                                                                                                         |failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package colorama conflicts for:
pip -> colorama
holoviz -> ipython==7.13.0 -> colorama
python=3.7 -> pip -> colorama

Package sqlite conflicts for:
wincertstore -> python[version='>=3.9,<3.10.0a0'] -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.32.3,<4.0a0|>=3.33.0,<4.0a0|>=3.35.1,<4.0a0']
holoviz -> python[version='>=3.6'] -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.32.3,<4.0a0|>=3.33.0,<4.0a0|>=3.35.1,<4.0a0']
certifi -> python[version='>=3.9,<3.10.0a0'] -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.33.0,<4.0a0|>=3.32.3,<4.0a0|>=3.30.0,<4.0a0|>=3.35.1,<4.0a0']
setuptools -> python[version='>=3.7,<3.8.0a0'] -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.33.0,<4.0a0|>=3.32.3,<4.0a0|>=3.30.0,<4.0a0|>=3.35.1,<4.0a0']
python=3.7 -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.33.0,<4.0a0']
wheel -> python -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.32.3,<4.0a0|>=3.33.0,<4.0a0|>=3.35.1,<4.0a0']
sqlite

Package wheel conflicts for:
holoviz -> pyct -> wheel
wheel
python=3.7 -> pip -> wheel

Package wincertstore conflicts for:
wheel -> setuptools -> wincertstore[version='>=0.2']
setuptools -> wincertstore[version='>=0.2']
wincertstore

Package tzdata conflicts for:
holoviz -> python[version='>=3.6'] -> tzdata
pip -> python[version='>=3.9,<3.10.0a0'] -> tzdata
wheel -> python -> tzdata
setuptools -> python[version='>=3.9,<3.10.0a0'] -> tzdata
certifi -> python[version='>=3.9,<3.10.0a0'] -> tzdata
wincertstore -> python[version='>=3.9,<3.10.0a0'] -> tzdata

Package vs2008_runtime conflicts for:
pip -> python[version='>=2.7,<2.8.0a0'] -> vs2008_runtime
holoviz -> python -> vs2008_runtime
wincertstore -> python[version='>=2.7,<2.8.0a0'] -> vs2008_runtime
setuptools -> python[version='>=2.7,<2.8.0a0'] -> vs2008_runtime
certifi -> python -> vs2008_runtime
sqlite -> vc=9 -> vs2008_runtime[version='>=9.0.30729.1,<10.0a0']
vc -> vs2008_runtime[version='>=9.0.30729.1,<10.0a0']
openssl -> vc=9 -> vs2008_runtime[version='>=9.0.30729.1,<10.0a0']
wheel -> python -> vs2008_runtime

Package ca-certificates conflicts for:
wincertstore -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
openssl -> ca-certificates
wheel -> python -> ca-certificates
certifi -> python -> ca-certificates
holoviz -> python -> ca-certificates
python=3.7 -> openssl[version='>=1.1.1j,<1.1.2a'] -> ca-certificates
ca-certificates
setuptools -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates

Package certifi conflicts for:
setuptools -> certifi[version='>=2016.09|>=2016.9.26']
wheel -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
certifi

Package openssl conflicts for:
python=3.7 -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1j,<1.1.2a']
certifi -> python[version='>=3.9,<3.10.0a0'] -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a']
holoviz -> python[version='>=3.6'] -> openssl[version='!=1.1.1e|>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a']
wincertstore -> python[version='>=3.9,<3.10.0a0'] -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a']
setuptools -> python[version='>=3.7,<3.8.0a0'] -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1j,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1h,<1.1.2a']
openssl
wheel -> python -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a']

Package vc conflicts for:
sqlite -> vc[version='14.*|9.*|>=14.1,<15.0a0']
openssl -> vc[version='14.*|9.*|>=14.1,<15.0a0']
wincertstore -> vc[version='>=14.1,<15.0a0']
holoviz -> fastparquet[version='>=0.2.1'] -> vc[version='14.*|9.*|>=14.1,<15.0a0|>=14,<15.0a0']
setuptools -> python[version='>=3.7,<3.8.0a0'] -> vc[version='14.*|>=14.1,<15.0a0|9.*']
wheel -> python -> vc[version='14.*|>=14.1,<15.0a0|9.*']
certifi -> python[version='>=3.9,<3.10.0a0'] -> vc[version='14.*|>=14.1,<15.0a0|9.*']
python=3.7 -> openssl[version='>=1.1.1e,<1.1.2a'] -> vc=9
wincertstore -> python[version='>=3.7,<3.8.0a0'] -> vc[version='14.*|9.*']
vc
python=3.7 -> vc[version='14.*|>=14.1,<15.0a0']

Package pip conflicts for:
certifi -> python[version='>=3.9,<3.10.0a0'] -> pip
wincertstore -> python[version='>=3.9,<3.10.0a0'] -> pip
holoviz -> pyct -> pip
python=3.7 -> pip
setuptools -> python[version='>=3.7,<3.8.0a0'] -> pip
wheel -> python -> pip

Package vs2015_runtime conflicts for:
openssl -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.0.25123,<15.0a0|>=14.0.25420|>=14.15.26706|>=14.27.29016|>=14.16.27012']
openssl -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
python=3.7 -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.0.25123,<15.0a0|>=14.0.25420|>=14.15.26706|>=14.27.29016|>=14.16.27012']
python=3.7 -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
vc -> vs2015_runtime[version='>=14.0.25123,<15.0a0|>=14.0.25420|>=14.15.26706|>=14.27.29016|>=14.16.27012']
wincertstore -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.15.26706|>=14.27.29016|>=14.16.27012']
sqlite -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.0.25123,<15.0a0|>=14.0.25420|>=14.15.26706|>=14.27.29016|>=14.16.27012']
vs2015_runtime
setuptools -> python[version='>=3.7,<3.8.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
wincertstore -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
holoviz -> fastparquet[version='>=0.2.1'] -> vs2015_runtime[version='>=14.16.27012|>=14.16.27012,<15.0a0']
sqlite -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
certifi -> python[version='>=3.9,<3.10.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
wheel -> python -> vs2015_runtime[version='>=14.16.27012,<15.0a0']

Package zlib conflicts for:
holoviz -> matplotlib==3.0.3 -> zlib[version='>=1.2.11,<1.3.0a0']
python=3.7 -> sqlite[version='>=3.33.0,<4.0a0'] -> zlib[version='>=1.2.11,<1.3.0a0']
sqlite -> zlib[version='>=1.2.11,<1.3.0a0']

Package six conflicts for:
holoviz -> fastparquet[version='>=0.2.1'] -> six[version='>=1.5.2|>=1.7.3']
pip -> html5lib -> six[version='>=1.9']

Package setuptools conflicts for:
python=3.7 -> pip -> setuptools
setuptools
holoviz -> netcdf4 -> setuptools[version='>=18.5']
wheel -> setuptools

Package progress conflicts for:
python=3.7 -> pip -> progress
pip -> progress
Note that strict channel priority may have removed packages required for satisfiability.


(holoviz-tutorial) D:\>

Information to list about tools

The draft tools listing at https://pyviz.org/tools is already very useful, providing lots of information about each project that helps users make sense of them:

image
image
image

What else can/should it show?

  • Institutional sponsor? (See #4). Seems useful for understanding how projects relate to each other, seeing which ones have financial support for multiple developers, which ones are focusing on specific agendas, etc.
  • Year of first release? Seems useful for understanding maturity levels and technologies
  • Date of latest release? Would need to be updated automatically to be useful
  • Underlying library (for high-level libraries)
  • Domain (for domain-specific libraries)
  • Technology? (Native GUI, JS, JSON, WebGL, OpenGL, SVG, PNG, D3) Would be very helpful, but hard to pin down objectively. Plus many libraries support many of the technologies, which could be hard to track. Maybe would need to make a draft listing and see if it's something everyone would agree on? Would take a bit of work.
  • Data size limits? Seems a bit slippery; depends on how much time people think is reasonable to wait. Some libraries have explicit limits, others vary depending on browser and compute capabilities. Hard to make this objective, even though it's measurable in principle.

My personal vote is to remove coverage to make room, then include sponsor, underlying library, and year info, and punt on the rest but consider adding them someday.

  • It would also be nice to be able to sort by each column (category, name, stars, contributors, year released, downloads, license), with the first view being categories as shown above, but the rest just being a table (e.g. sorted by year of first release or whatever the user selects).

pyviz installation error

I am trying to install the package on a Python 3.8.10
I get the following error:

Using version ^0.10.3 for pyviz

Updating dependencies
Resolving dependencies... (0.0s)

  SolverProblemError

  Because no versions of pyviz match >0.10.3,<0.11.0
   and pyviz (0.10.3) depends on matplotlib (3.0.3), pyviz (>=0.10.3,<0.11.0) requires matplotlib (3.0.3).
  So, because switch-power-optimization depends on both matplotlib (^3.5.3) and pyviz (^0.10.3), version solving failed.

  at /usr/local/lib/python3.8/dist-packages/poetry/puzzle/solver.py:241 in _solve
      237│             packages = result.packages
      238│         except OverrideNeeded as e:
      239│             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
      240│         except SolveFailure as e:
    → 241│             raise SolverProblemError(e)
      242│ 
      243│         results = dict(
      244│             depth_first_search(
      245│                 PackageNode(self._package, packages), aggregate_package_nodes
(.venv) root@hanan-cpu-only-0:/home/jovyan/switch-power-optimization/data/msft_phx80_6_28# ```

with pip I get

pip install pyviz
Collecting pyviz
Using cached pyviz-0.10.3-py2.py3-none-any.whl (16.4 MB)
Collecting rise
Using cached rise-5.7.1-py2.py3-none-any.whl (4.3 MB)
Collecting netcdf4
Using cached netCDF4-1.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB)
Collecting hvplot>=0.4.0
Using cached hvplot-0.8.1-py2.py3-none-any.whl (3.2 MB)
Requirement already satisfied: notebook>=5.5 in /home/jovyan/switch-power-optimization/.venv/lib/python3.8/site-packages (from pyviz) (6.4.12)
Collecting fastparquet>=0.2.1
Using cached fastparquet-0.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB)
Collecting ipython<=7.1.1,>=5.4.0
Using cached ipython-7.1.1-py3-none-any.whl (764 kB)
Collecting panel>=0.6.0
Using cached panel-0.13.1-py2.py3-none-any.whl (15.7 MB)
Collecting bokeh>=1.2.0
Using cached bokeh-2.4.3-py3-none-any.whl (18.5 MB)
Collecting xarray<0.12,>=0.11.0
Using cached xarray-0.11.3-py2.py3-none-any.whl (504 kB)
Requirement already satisfied: numpy>=1.16.4 in /home/jovyan/switch-power-optimization/.venv/lib/python3.8/site-packages (from pyviz) (1.23.2)
Collecting selenium
Using cached selenium-4.4.3-py3-none-any.whl (985 kB)
Collecting holoviews>=1.12.3
Using cached holoviews-1.15.0-py2.py3-none-any.whl (4.3 MB)
Collecting streamz
Using cached streamz-0.6.4-py2.py3-none-any.whl (76 kB)
Requirement already satisfied: ipywidgets in /home/jovyan/switch-power-optimization/.venv/lib/python3.8/site-packages (from pyviz) (8.0.1)
Requirement already satisfied: dask[complete]>=0.18.2 in /home/jovyan/switch-power-optimization/.venv/lib/python3.8/site-packages (from pyviz) (2022.8.1)
Collecting pandas<0.25.0,>=0.23.4
Using cached pandas-0.24.2.tar.gz (11.8 MB)
Preparing metadata (setup.py) ... done
Collecting pyct[cmd]>=0.4.6
Using cached pyct-0.4.8-py2.py3-none-any.whl (15 kB)
Collecting matplotlib==3.0.3
Using cached matplotlib-3.0.3.tar.gz (36.6 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [49 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-go5lss7q/matplotlib_1a199b31dccd43148bdafcc7f122c4bb/setup.py", line 225, in
msg = pkg.install_help_msg()
File "/tmp/pip-install-go5lss7q/matplotlib_1a199b31dccd43148bdafcc7f122c4bb/setupext.py", line 650, in install_help_msg
release = platform.linux_distribution()[0].lower()
AttributeError: module 'platform' has no attribute 'linux_distribution'
============================================================================
Edit setup.cfg to change the build options

  BUILDING MATPLOTLIB
              matplotlib: yes [3.0.3]
                  python: yes [3.8.10 (default, Jun 22 2022, 20:18:18)  [GCC
                          9.4.0]]
                platform: yes [linux]
  
  REQUIRED DEPENDENCIES AND EXTENSIONS
                   numpy: yes [version 1.23.2]
        install_requires: yes [handled by setuptools]
                  libagg: yes [pkg-config information for 'libagg' could not
                          be found. Using local copy.]
                freetype: no  [The C/C++ header for freetype2 (ft2build.h)
                          could not be found.  You may need to install the
                          development package.]
                     png: no  [pkg-config information for 'libpng' could not
                          be found.]
                   qhull: yes [pkg-config information for 'libqhull' could not
                          be found. Using local copy.]
  
  OPTIONAL SUBPACKAGES
             sample_data: yes [installing]
                toolkits: yes [installing]
                   tests: no  [skipping due to configuration]
          toolkits_tests: no  [skipping due to configuration]
  
  OPTIONAL BACKEND EXTENSIONS
                     agg: yes [installing]
                   tkagg: yes [installing; run-time loading from Python Tcl /
                          Tk]
                  macosx: no  [Mac OS-X only]
               windowing: no  [Microsoft Windows only]
  
  OPTIONAL PACKAGE DATA
                    dlls: no  [skipping due to configuration]
  
  ============================================================================
                          * The following required packages can not be built:
                          * freetype, png
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
(.venv) root@hanan-cpu-only-0:/home/jovyan/switch-power-optimization/data/msft_phx80_6_28# pip install pyviz > error.log
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [49 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-6zcq2qve/matplotlib_3648b71da76048c58960c4b61bb772d0/setup.py", line 225, in
msg = pkg.install_help_msg()
File "/tmp/pip-install-6zcq2qve/matplotlib_3648b71da76048c58960c4b61bb772d0/setupext.py", line 650, in install_help_msg
release = platform.linux_distribution()[0].lower()
AttributeError: module 'platform' has no attribute 'linux_distribution'
============================================================================
Edit setup.cfg to change the build options

  BUILDING MATPLOTLIB
              matplotlib: yes [3.0.3]
                  python: yes [3.8.10 (default, Jun 22 2022, 20:18:18)  [GCC
                          9.4.0]]
                platform: yes [linux]
  
  REQUIRED DEPENDENCIES AND EXTENSIONS
                   numpy: yes [version 1.23.2]
        install_requires: yes [handled by setuptools]
                  libagg: yes [pkg-config information for 'libagg' could not
                          be found. Using local copy.]
                freetype: no  [The C/C++ header for freetype2 (ft2build.h)
                          could not be found.  You may need to install the
                          development package.]
                     png: no  [pkg-config information for 'libpng' could not
                          be found.]
                   qhull: yes [pkg-config information for 'libqhull' could not
                          be found. Using local copy.]
  
  OPTIONAL SUBPACKAGES
             sample_data: yes [installing]
                toolkits: yes [installing]
                   tests: no  [skipping due to configuration]
          toolkits_tests: no  [skipping due to configuration]
  
  OPTIONAL BACKEND EXTENSIONS
                     agg: yes [installing]
                   tkagg: yes [installing; run-time loading from Python Tcl /
                          Tk]
                  macosx: no  [Mac OS-X only]
               windowing: no  [Microsoft Windows only]
  
  OPTIONAL PACKAGE DATA
                    dlls: no  [skipping due to configuration]
  
  ============================================================================
                          * The following required packages can not be built:
                          * freetype, png
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Missing Page/Bad Link & File on pipy for Installation

https://pypi.org/project/pyviz/ contains the text:

Installation

See pyviz.org (or doc/installation.rst for a github clone).

Which links to http://pyviz.org/installation.html and mentions doc/installation.rst - however both of these do not exist.

Suggest replacing the above with:
Installation

You can see all of the samples, etc. online at pyviz.org. If, however, you need a local copy simply clone or download from the github and follow the instructions in the README.md to run a local server.

Note that I would have submitted a PR but it seems that the above is not in the repository maybe one of the @pyviz-developers just needs to do a PyPi update to get the page re-generated.

Make conda badges using condastats

Now that condastats has been published, it would be great to change the badge creation mechanism to use that library directly (should be quicker as well, since the data download is much smaller).

Minimal shared library spec

There was discussion at SciPy sprints about having a shared API for accessing objects from various plotting libraries. We think there could be a spec for common actions such as save, show, html_repr. This issue is to start that discussion. @munkm @tacaswell @jonmmease

All Panel gallery examples currently broken

Hello. Not sure if this is the right place for this, but all the Panel gallery examples are currently broken. The interactive example at the center of the webpage only displays a "sad notebook" graphic, and trying the MyBinder ("Live app URL") link gives a "starting notebook" message, without seeming to make progress.

Here's an example URL: https://panel.pyviz.org/gallery/demos/gapminder.html#gallery-gapminder

(Installing some monitoring to learn about these problems not from GitHub issues might also be a good idea...)

Mention mpl-scatter-density in large data section?

The mpl-scatter-density is a lightweight package that makes it possible to show large (up to ~10^9 points) datasets with Matplotlib. It might be worth mentioning it in the 'Large-data rendering' section but the issue is that that section specifically mentions 'server-side' rendering. Can we relax this wording to allow tools like mpl-scatter-density to be mentioned?

More images

It would be nice to have some images on the Dashboarding, SciVis and Quick tools pages.

Open new category: Animation tools?

I very much like the comprehensive list of visualization tools that you are providing. One specific category that is really missing is animations and/or animation capabilities of the listed tools. I'd make a difference between "interactive" animations (like GUIs or dashboards that can refresh every couple of milliseconds) and videos specifically. I am more interested in the latter.

I have been building an animation framework and - as a part of it - tried to document similar-ish and related Python packages. I'd be interested in adding this information to your list.

New diagram proposal for Overviews page

Hi folks,

On and off for the past few years, I've been working on a slightly different, more up to date, more structured, diagram to the one that's currently at https://pyviz.org/overviews/index.html ... I had a chance to present my work-in-progress at a meetup this week. It's not really quite ready for prime-time, mostly because I need to figure out a reasonable default view and interaction style, but I wanted to solicit some feedback before putting a lot more work into it :)

The repo for the diagram itself is at https://github.com/nicolaskruchten/pyviz_diagram and the diagram is at https://nicolas.kruchten.com/pyviz_diagram/ (note: the default view shows all links, which is clearly not the intention! the idea is to make it less overwhelming than this!)

I'd really love some feedback on this structure, so please comment here or add issues in the repo :)

Remove the dev site from the holoviz-dev Github org and more clean up

I just noticed that the dev site (that can currently be built pushing a commit message containing website_dev) is still hosted on the holoviz-dev organization at https://github.com/holoviz-dev/website. It should be moved to this organization and the code adapted in this repository.

EDIT:

https://github.com/pyviz-developers is a service account that was used by this repository and other HoloViz repositories for pushing commits to the repo (in this case to the cache branch) from the CI. Now the CI is based on Github Actions, this account is no longer required for this, setting workflow permissions is enough and this change has already been implemented.

However, I recently discovered that GitHub service accounts can have another usage: allowing to deploy a dev site on another repository. This is a pattern that most HoloViz projects rely on, they have an associated repository (e.g. https://github.com/holoviz-dev/panel for https://github.com/holoviz/panel) whose purpose it simply to host the dev build of their documentation. The GitHub action that deploys the dev site to the other repo needs a personal access token with repo rights, generated for an account that has write access to the associated repo.

In practice, it turns out the pyviz-developers account isn't used for that purpose, it's Philipp's account+token :)

image

I think having to maintain a service account (pyviz-developers) and its personal access token is too much overhead for the PyViz project. The dev site isn't even linked properly on the README (that's the right link https://holoviz-dev.github.io/website/) so I think contributors aren't aware of its existence.

My suggestions:

  • Delete the Github pyviz-developers account
  • Delete the repository https://github.com/holoviz-dev/website and adapt the docs.yml workflow to no longer publish the doc to this repo
  • Remove Philipp's token

@jbednar if you agree with these suggestions, I won't be able to address the last one as I don't have enough rights to remove the token. I don't know if it is set at the repo or org level? So either someone with sufficient permission does it, or someone adds me/edits my role so I can do it (I'm happy to contribute to PyViz in general!).


In the future, it may be possible to re-add a dev site (in fact, a temporary dev site per PR):

Conda channel for glue/glueviz

The glue package has a repo named glue but the conda package is named glueviz. In the current code I'm not sure if there is a way to point the badge to the correct conda package, but I guess we need one.

No-code tools for python viz

Hi there! I recently wrote a short article about no-code tools for python/pandas visualization and I realized pyviz.org doesn't have a section about no-code approaches. There's another article here

Would you be open to a PR or is that our of scope for pyviz? Thanks!

Governance

To get it started, the PyViz website is being set up by the viz team at Anaconda, Inc., using Anaconda-provided resources and development time. The initial content includes the material that we think is most useful to our users and customers, and reflects our own perspective. But the PyViz name and PyViz.org website are owned by the independent NumFocus charity, and the intent is for PyViz to be open to anyone working to improve open-source data visualization capabilities, documentation, and examples in Python. Simply put, this is your site, and the future of it depends on you!

In particular, in the short term it would be great to have as much community involvement as possible, and we welcome:

  • PRs to fix typos, broken links, missing items in a list, etc. -- we should be able to merge these quickly and without much trouble.
  • PRs to make descriptions more fair, balanced, and nuanced -- please! We are only human, and may not see your favorite project in the same way you do, or know about newly added features, and so on. Please correct any issues that you see like that!
  • Additional examples, tutorials, overviews, etc. -- just submit a PR linking to these or capturing them, as long as they clearly show how to reproduce them and explain how to interpret them. E.g. it would be great to get contributions from experts in 3D/SciVis approaches, native-GUI toolkits, and other areas not very well represented so far. But note that only open-source tools will be included in PyViz.org; proprietary tools will have to rely on their own marketing with no help from us!

If there is enough community involvement that we end up having disagreements about focus, content, or intent, Anaconda is very happy to hand control over to an independent board or committee approved by NumFocus. In the meantime, we'll do our best to be as fair as we can, and please contribute!

add an explicit command to create a Conda kernel for Jupyter

when setting up using these instructions on the holoviz tutorial webpage there is a missing step required to get the first cell running. Conda stopped automatically setting environments up as jupyter kernels. So after activating the env, you need to manually add the kernel, using something like: python -m ipykernel install --user --name holoviz-tutorial --display-name "Python3 (holoviz-tutorial)". Then after running Jupyter you can select the right kernel. Otherwise Jupiter will not show that kernel and you will get import errors for already installed packages. I tried this on Mac and Jupyter lab.

New project: Python data app comparison

When learning a new framework it's very useful to have multiple implementations of the same problem in serveral frameworks. This is the motivation behind things like 7Guis and todoMVC. While these projects are great, they are not representative of Python data applications. I created an example repository where people can propose common data application scenarios and provide solutions in the various frameworks, and @jbednar thought it would be a good fit for pyviz. The repository is here:

https://github.com/pyviz/data-app-comparison

If you have any thoughts about the best way for this project to succeed I'd love to hear them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.