├── ci └── codespell-ignore-words.txt ├── .flake8 ├── .gitignore ├── docs ├── requirements.txt ├── source │ ├── index.rst │ ├── _static │ │ ├── badges │ │ │ ├── embl.png │ │ │ ├── anaconda.png │ │ │ ├── numfocus.png │ │ │ ├── nvidia.jpg │ │ │ ├── plotly.png │ │ │ ├── sandia.png │ │ │ ├── spotify.png │ │ │ ├── unidata.png │ │ │ ├── vaexio.png │ │ │ ├── jetbrains.png │ │ │ ├── metoffice.png │ │ │ ├── streamlit.png │ │ │ ├── code-gray.svg │ │ │ ├── pip-orange.svg │ │ │ ├── enthought.svg │ │ │ ├── kitware.svg │ │ │ ├── conda-blue.svg │ │ │ ├── quantstack.svg │ │ │ └── cgs.svg │ │ ├── custom.css │ │ └── dormant.svg │ ├── conf.py │ └── intro.rst └── Makefile ├── packages ├── blume.yml ├── mplcairo.yml ├── windrose.yml ├── cplot.yml ├── figpager.yml ├── gif.yml ├── colorio.yml ├── gr.yml ├── numpngw.yml ├── adjustText.yml ├── pyupset.yml ├── viscm.yml ├── mplstereonet.yml ├── ridge_map.yml ├── mpl-gui.yml ├── mplfinance.yml ├── tikzplotlib.yml ├── wxmplot.yml ├── mpl_stereo.yml ├── mpldatacursors.yml ├── plotnine.yml ├── mpl-scatter-density.yml ├── networkx.yml ├── celluloid.yml ├── geopandas.yml ├── grid-strategy.yml ├── matplotlib-scalebar.yml ├── mplinorm.yml ├── brokenaxes.yml ├── astropy.yml ├── glue.yml ├── mplcyberpunk.yml ├── sview-gui.yml ├── arviz.yml ├── cmcrameri.yml ├── cmyt.yml ├── flexitext.yml ├── mplsoccer.yml ├── mpl-template.yml ├── mplcursors.yml ├── patchworklib.yml ├── seaborn.yml ├── animatplot.yml ├── bgheatmaps.yaml ├── mpl-qtthread.yml ├── matplotlib-venn.yml ├── sunpy.yml ├── manimplotlib.yaml ├── yt.yml ├── matplotview.yml ├── mpl-table.yml ├── sphinx-gallery.yml ├── pyCircos.yml ├── s3dlib.yml ├── grplot.yml ├── metpy.yml ├── panel.yml ├── aquarel.yml ├── highlight_text.yml ├── mpl_interactions.yml ├── cmocean.yml ├── svgpath2mpl.yml ├── xmovie.yml ├── hvplot.yml ├── mpl-widget-box.yaml ├── yellowbrick.yml ├── PyNanoLab.yml ├── cartopy.yml ├── datashader.yml ├── matplotx.yml ├── mpl-point-clicker.yml ├── plottable.yml ├── farrow-and-ball.yml ├── hockey_rink.yml ├── mplsignal.yml ├── seaborn-image.yml ├── DataMapPlot.yml ├── mpl-draggable-line.yml ├── mpl-image-segmenter.yml ├── mpl-sankey.yml ├── prettymaps.yml ├── pylustrator.yml ├── geoviews.yml ├── tueplots.yml ├── geoplot.yml ├── mpl-visual-context.yaml ├── scienceplots.yml ├── lumen.yml ├── microfilm.yml ├── mpl-image-labeller.yml ├── matplotlib-label-lines.yml ├── myforestplot.yml ├── proplot.yml ├── mpl-probscale.yml ├── pytransform3d.yml ├── skunk.yml ├── mpl-multitab.yml ├── pyplutchik.yml ├── distinctipy.yml ├── eomaps.yml ├── librosa.yml ├── matplotcheck.yml ├── Quibbler.yml ├── holoviews.yml ├── pandas.yml ├── pymatviz.yml ├── mir-eval.yml ├── planetmagfields.yml ├── DnaFeaturesViewer.yml ├── cmasher.yml ├── xarray.yml ├── pygenomeviz.yml ├── mpl-animators.yml ├── pyart.yml ├── PySimpleGUI.yml ├── mpl_chord_diagram.yml ├── mplhep.yml └── colorcet.yml ├── .yamllint.yml ├── section_names.yml ├── .circleci └── config.yml ├── .github ├── pull_request_template.md └── workflows │ ├── circleci.yml │ └── gh-pages.yml ├── package-schema.json ├── .pre-commit-config.yaml ├── python ├── template.rst ├── README.md ├── conda_downloads.py └── build.py └── README.md /ci/codespell-ignore-words.txt: -------------------------------------------------------------------------------- 1 | nd 2 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 88 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | docs/build 2 | packages/all.yml 3 | .vscode 4 | docs/source/packages.rst 5 | *~ 6 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | jinja2 2 | markdown 3 | pyyaml 4 | sphinx 5 | mpl-sphinx-theme~=3.8.0 6 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. toctree:: 2 | :maxdepth: 2 3 | :caption: Contents: 4 | 5 | .. include:: ./packages.rst 6 | -------------------------------------------------------------------------------- /packages/blume.yml: -------------------------------------------------------------------------------- 1 | name: Blume 2 | repo: swfiua/blume 3 | section: plot types 4 | description: Alternate table artist. 5 | -------------------------------------------------------------------------------- /docs/source/_static/badges/embl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/embl.png -------------------------------------------------------------------------------- /docs/source/_static/badges/anaconda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/anaconda.png -------------------------------------------------------------------------------- /docs/source/_static/badges/numfocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/numfocus.png -------------------------------------------------------------------------------- /docs/source/_static/badges/nvidia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/nvidia.jpg -------------------------------------------------------------------------------- /docs/source/_static/badges/plotly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/plotly.png -------------------------------------------------------------------------------- /docs/source/_static/badges/sandia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/sandia.png -------------------------------------------------------------------------------- /docs/source/_static/badges/spotify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/spotify.png -------------------------------------------------------------------------------- /docs/source/_static/badges/unidata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/unidata.png -------------------------------------------------------------------------------- /docs/source/_static/badges/vaexio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/vaexio.png -------------------------------------------------------------------------------- /packages/mplcairo.yml: -------------------------------------------------------------------------------- 1 | name: mplcairo 2 | repo: matplotlib/mplcairo 3 | section: backends 4 | description: Improved backend for cairo. 5 | -------------------------------------------------------------------------------- /docs/source/_static/badges/jetbrains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/jetbrains.png -------------------------------------------------------------------------------- /docs/source/_static/badges/metoffice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/metoffice.png -------------------------------------------------------------------------------- /docs/source/_static/badges/streamlit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmcinnes/mpl-third-party/main/docs/source/_static/badges/streamlit.png -------------------------------------------------------------------------------- /packages/windrose.yml: -------------------------------------------------------------------------------- 1 | name: Windrose 2 | repo: python-windrose/windrose 3 | section: plot types 4 | description: Create windrose plots. 5 | -------------------------------------------------------------------------------- /packages/cplot.yml: -------------------------------------------------------------------------------- 1 | name: cplot 2 | repo: nschloe/cplot 3 | section: domain specific libraries 4 | description: Plot complex-valued functions. 5 | -------------------------------------------------------------------------------- /packages/figpager.yml: -------------------------------------------------------------------------------- 1 | name: FigPager 2 | repo: ebenp/figpager 3 | section: plotting utilities 4 | description: Save plots with single or multiple pages. 5 | -------------------------------------------------------------------------------- /packages/gif.yml: -------------------------------------------------------------------------------- 1 | name: gif 2 | repo: maxhumber/gif 3 | keywords: [animations] 4 | section: animations 5 | description: Ultra-lightweight animated GIF API. 6 | -------------------------------------------------------------------------------- /packages/colorio.yml: -------------------------------------------------------------------------------- 1 | name: colorio 2 | repo: nschloe/colorio 3 | section: domain specific libraries 4 | description: Tools for working with colors and color spaces. 5 | -------------------------------------------------------------------------------- /packages/gr.yml: -------------------------------------------------------------------------------- 1 | name: gr 2 | repo: jheinen/gr 3 | section: backends 4 | description: Graphic kernel system backend. 5 | site: https://gr-framework.org/python.html 6 | -------------------------------------------------------------------------------- /packages/numpngw.yml: -------------------------------------------------------------------------------- 1 | name: numpngw 2 | repo: WarrenWeckesser/numpngw 3 | keywords: [animations, PNG] 4 | section: animations 5 | description: Write animated pngs. 6 | -------------------------------------------------------------------------------- /packages/adjustText.yml: -------------------------------------------------------------------------------- 1 | name: adjustText 2 | repo: Phlya/adjustText 3 | section: plotting utilities 4 | description: Draw many text artists so that they do not overlap. 5 | -------------------------------------------------------------------------------- /packages/pyupset.yml: -------------------------------------------------------------------------------- 1 | name: PyUpSet 2 | repo: ImSoErgodic/py-upset 3 | section: plot types 4 | description: UpSet suite of visualization methods. 5 | pypi_name: pyupset 6 | -------------------------------------------------------------------------------- /packages/viscm.yml: -------------------------------------------------------------------------------- 1 | name: viscm 2 | repo: matplotlib/viscm 3 | section: colormaps and styles 4 | description: Tool for analyzing colormaps and creating new colormaps. 5 | -------------------------------------------------------------------------------- /packages/mplstereonet.yml: -------------------------------------------------------------------------------- 1 | name: mplsteronet 2 | repo: joferkington/mplstereonet 3 | section: mapping 4 | description: Lower-hemisphere equal-area and equal-angle stereonets. 5 | -------------------------------------------------------------------------------- /.yamllint.yml: -------------------------------------------------------------------------------- 1 | extends: default 2 | 3 | rules: 4 | document-start: 5 | present: false 6 | line-length: 7 | max: 88 8 | truthy: 9 | check-keys: false 10 | -------------------------------------------------------------------------------- /packages/ridge_map.yml: -------------------------------------------------------------------------------- 1 | name: ridge_map 2 | repo: ColCarroll/ridge_map 3 | keywords: [mapping] 4 | section: mapping 5 | description: Library for making ridge plots of... ridges. 6 | -------------------------------------------------------------------------------- /packages/mpl-gui.yml: -------------------------------------------------------------------------------- 1 | name: mpl-gui 2 | repo: tacaswell/mpl-gui 3 | section: experimental 4 | description: Prototype for a pyplot alternative. 5 | site: https://matplotlib.org/mpl-gui/ 6 | -------------------------------------------------------------------------------- /packages/mplfinance.yml: -------------------------------------------------------------------------------- 1 | name: mplfinance 2 | repo: matplotlib/mplfinance 3 | section: domain specific libraries 4 | description: Utilities for the visual analysis of financial data. 5 | -------------------------------------------------------------------------------- /packages/tikzplotlib.yml: -------------------------------------------------------------------------------- 1 | name: tikzplotlib 2 | repo: nschloe/tikzplotlib 3 | keywords: [latex, tikz] 4 | section: plotting utilities 5 | description: Save figures as TikZ/PGFplots. 6 | -------------------------------------------------------------------------------- /packages/wxmplot.yml: -------------------------------------------------------------------------------- 1 | name: wxmplot 2 | repo: newville/wxmplot 3 | section: backends 4 | description: Tighter integration with wxPython. 5 | site: https://newville.github.io/wxmplot/ 6 | -------------------------------------------------------------------------------- /packages/mpl_stereo.yml: -------------------------------------------------------------------------------- 1 | name: mpl_stereo 2 | repo: scottshambaugh/mpl_stereo 3 | section: plot types 4 | description: See your data in 3D by making stereograms. 5 | pypi_name: mpl_stereo 6 | -------------------------------------------------------------------------------- /packages/mpldatacursors.yml: -------------------------------------------------------------------------------- 1 | name: mpldatacursor 2 | repo: joferkington/mpldatacursor 3 | keywords: [cursors] 4 | section: interactivity 5 | description: Interactive data selection cursors. 6 | -------------------------------------------------------------------------------- /packages/plotnine.yml: -------------------------------------------------------------------------------- 1 | name: plotnine 2 | repo: has2k1/plotnine 3 | section: alternative apis 4 | description: A grammar of graphics for Python. 5 | site: https://plotnine.readthedocs.io 6 | -------------------------------------------------------------------------------- /packages/mpl-scatter-density.yml: -------------------------------------------------------------------------------- 1 | name: mpl-scatter-density 2 | repo: astrofrog/mpl-scatter-density 3 | section: plot types 4 | description: 2D histograms for large collections of point data. 5 | -------------------------------------------------------------------------------- /packages/networkx.yml: -------------------------------------------------------------------------------- 1 | name: NetworkX 2 | repo: networkx/networkx 3 | section: domain specific libraries 4 | site: https://networkx.org 5 | description: Working with and plotting network graphs. 6 | -------------------------------------------------------------------------------- /packages/celluloid.yml: -------------------------------------------------------------------------------- 1 | name: celluloid 2 | repo: jwkvam/celluloid 3 | section: animations 4 | description: Matplotlib animations made easy. 5 | site: https://github.com/jwkvam/celluloid#celluloid 6 | -------------------------------------------------------------------------------- /packages/geopandas.yml: -------------------------------------------------------------------------------- 1 | name: GeoPandas 2 | repo: geopandas/geopandas 3 | section: mapping 4 | site: https://geopandas.org 5 | description: Pandas extended to support geographical data and algorithms. 6 | -------------------------------------------------------------------------------- /packages/grid-strategy.yml: -------------------------------------------------------------------------------- 1 | name: grid-strategy 2 | repo: matplotlib/grid-strategy 3 | section: plotting utilities 4 | description: Create a grid of subplots based on the number of axes to be plotted. 5 | -------------------------------------------------------------------------------- /packages/matplotlib-scalebar.yml: -------------------------------------------------------------------------------- 1 | name: matplotlib-scalebar 2 | repo: ppinard/matplotlib-scalebar 3 | section: plotting utilities 4 | description: Display a scale bar. 5 | conda_channel: conda-forge 6 | -------------------------------------------------------------------------------- /packages/mplinorm.yml: -------------------------------------------------------------------------------- 1 | name: mplinorm 2 | repo: anntzer/mplinorm 3 | keywords: [images, contrast] 4 | section: interactivity 5 | description: Interactive contrast adjustment for Matplotlib images. 6 | -------------------------------------------------------------------------------- /packages/brokenaxes.yml: -------------------------------------------------------------------------------- 1 | name: brokenaxes 2 | repo: bendichter/brokenaxes 3 | keywords: [axes] 4 | section: plotting utilities 5 | description: Plots with breaks in the axes. 6 | conda_channel: conda-forge 7 | -------------------------------------------------------------------------------- /packages/astropy.yml: -------------------------------------------------------------------------------- 1 | name: Astropy 2 | repo: astropy/astropy 3 | section: domain specific libraries 4 | description: Astronomy processing and graphics (including mapping). 5 | site: https://www.astropy.org 6 | -------------------------------------------------------------------------------- /packages/glue.yml: -------------------------------------------------------------------------------- 1 | name: Glue 2 | repo: glue-viz/glue 3 | section: gui applications 4 | site: https://docs.glueviz.org 5 | description: Easily linking visualizations of scientific datasets across many files. 6 | -------------------------------------------------------------------------------- /packages/mplcyberpunk.yml: -------------------------------------------------------------------------------- 1 | name: mplcyberpunk 2 | repo: dhaitz/mplcyberpunk 3 | keywords: [styles, palettes, colormaps] 4 | section: colormaps and styles 5 | description: Cyberpunk / neon-glow look for plots. 6 | -------------------------------------------------------------------------------- /packages/sview-gui.yml: -------------------------------------------------------------------------------- 1 | name: sview-gui 2 | repo: SojiroFukuda/sview-gui 3 | section: gui applications 4 | description: PyQt5 GUI for data visualisation of CSV file or pandas DataFrames. 5 | pypi_name: sviewgui 6 | -------------------------------------------------------------------------------- /packages/arviz.yml: -------------------------------------------------------------------------------- 1 | name: ArviZ 2 | repo: arviz-devs/arviz 3 | section: domain specific libraries 4 | description: Exploratory analysis of Bayesian models with Python. 5 | site: https://arviz-devs.github.io/arviz/ 6 | -------------------------------------------------------------------------------- /packages/cmcrameri.yml: -------------------------------------------------------------------------------- 1 | name: cmcrameri 2 | repo: callumrollo/cmcrameri 3 | section: colormaps and styles 4 | description: Fabio Crameri's perceptually uniform colormaps for geosciences. 5 | keywords: [colormaps] 6 | -------------------------------------------------------------------------------- /packages/cmyt.yml: -------------------------------------------------------------------------------- 1 | name: cmyt 2 | repo: yt-project/cmyt 3 | section: colormaps and styles 4 | description: Colormaps from the yt project. 5 | keywords: [styles, palettes, colormaps] 6 | conda_channel: conda-forge 7 | -------------------------------------------------------------------------------- /packages/flexitext.yml: -------------------------------------------------------------------------------- 1 | name: Flexitext 2 | repo: tomicapretto/flexitext 3 | keywords: ["formatted text", "text styles"] 4 | section: plotting utilities 5 | description: Draw text with multiple styles in Matplotlib. 6 | -------------------------------------------------------------------------------- /packages/mplsoccer.yml: -------------------------------------------------------------------------------- 1 | name: mplsoccer 2 | repo: andrewRowlinson/mplsoccer 3 | section: domain specific libraries 4 | description: Plot soccer/football pitches and charts. 5 | keywords: [sports, soccer, football] 6 | -------------------------------------------------------------------------------- /packages/mpl-template.yml: -------------------------------------------------------------------------------- 1 | name: mpl-template 2 | repo: austinorr/mpl-template 3 | section: plotting utilities 4 | description: Templating engine for consistent plots. 5 | site: https://austinorr.github.io/mpl-template/ 6 | -------------------------------------------------------------------------------- /packages/mplcursors.yml: -------------------------------------------------------------------------------- 1 | name: mplcursors 2 | repo: anntzer/mplcursors 3 | keywords: [cursors] 4 | section: interactivity 5 | description: Interactive data selection cursors. 6 | site: https://mplcursors.readthedocs.io/ 7 | -------------------------------------------------------------------------------- /packages/patchworklib.yml: -------------------------------------------------------------------------------- 1 | name: patchworklib 2 | repo: ponnhide/patchworklib 3 | site: https://github.com/ponnhide/patchworklib 4 | section: plotting utilities 5 | description: A subplot manager for intuitive layouts. 6 | -------------------------------------------------------------------------------- /packages/seaborn.yml: -------------------------------------------------------------------------------- 1 | name: seaborn 2 | repo: mwaskom/seaborn 3 | section: domain specific libraries 4 | description: High-level interface for drawing attractive statistical graphics. 5 | site: https://seaborn.pydata.org 6 | -------------------------------------------------------------------------------- /packages/animatplot.yml: -------------------------------------------------------------------------------- 1 | name: animatplot 2 | repo: t-makaro/animatplot 3 | keywords: [animations, gif, jupyter] 4 | section: animations 5 | description: Interactive animated plots. 6 | site: https://animatplot.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/bgheatmaps.yaml: -------------------------------------------------------------------------------- 1 | name: BG Heatmaps 2 | repo: brainglobe/bg-heatmaps 3 | section: domain specific libraries 4 | description: Brain heatmap visualizations. 5 | keywords: [neuroscience, heatmaps, 3D] 6 | pypi_name: bgheatmap 7 | -------------------------------------------------------------------------------- /packages/mpl-qtthread.yml: -------------------------------------------------------------------------------- 1 | name: mpl-qtthread 2 | repo: tacaswell/mpl-qtthread 3 | section: experimental 4 | description: Prototype for an approximately thread-safe Qt backend. 5 | site: https://tacaswell.github.io/mpl-qtthread 6 | -------------------------------------------------------------------------------- /packages/matplotlib-venn.yml: -------------------------------------------------------------------------------- 1 | name: matplotlib-venn 2 | repo: konstantint/matplotlib-venn 3 | keywords: [diagrams, categories, sets] 4 | section: plot types 5 | description: Plotting area-weighted two- and three-circle Venn diagrams. 6 | -------------------------------------------------------------------------------- /packages/sunpy.yml: -------------------------------------------------------------------------------- 1 | name: sunpy 2 | repo: sunpy/sunpy 3 | section: domain specific libraries 4 | description: Solar physics processing, plotting, and colormaps. 5 | site: https://sunpy.org/ 6 | pypi_name: sunpy 7 | conda_package: sunpy 8 | -------------------------------------------------------------------------------- /packages/manimplotlib.yaml: -------------------------------------------------------------------------------- 1 | name: manimplotlib 2 | repo: kolibril13/manimplotlib 3 | section: animations 4 | description: Collection of scripts to animate Matplotlib plots with manim. 5 | site: https://manimplotlib.readthedocs.io/en/latest/ 6 | -------------------------------------------------------------------------------- /packages/yt.yml: -------------------------------------------------------------------------------- 1 | name: yt 2 | repo: yt-project/yt 3 | site: https://yt-project.org 4 | keywords: [volumetric] 5 | section: plot types 6 | description: Package for analyzing and visualizing volumetric data. 7 | conda_channel: conda-forge 8 | -------------------------------------------------------------------------------- /packages/matplotview.yml: -------------------------------------------------------------------------------- 1 | name: matplotview 2 | repo: matplotlib/matplotview 3 | section: plotting utilities 4 | description: A library for creating lightweight views of Matplotlib axes. 5 | keywords: [views, axes] 6 | pypi_name: matplotview 7 | -------------------------------------------------------------------------------- /packages/mpl-table.yml: -------------------------------------------------------------------------------- 1 | name: MPL Table 2 | repo: geo7/mpl_table 3 | site: https://github.com/geo7/mpl_table 4 | keywords: [table, tables, custom, formatting] 5 | section: plotting utilities 6 | description: Create custom table using Matplotlib. 7 | -------------------------------------------------------------------------------- /packages/sphinx-gallery.yml: -------------------------------------------------------------------------------- 1 | name: Sphinx-Gallery 2 | repo: sphinx-gallery/sphinx-gallery 3 | section: documentation 4 | description: Create Matplotlib galleries for your sphinx-built documentation. 5 | site: https://sphinx-gallery.github.io 6 | -------------------------------------------------------------------------------- /packages/pyCircos.yml: -------------------------------------------------------------------------------- 1 | name: pyCircos 2 | repo: ponnhide/pyCircos 3 | site: https://github.com/ponnhide/pycircos 4 | section: domain specific libraries 5 | description: A visualization tool for designing circos plots. 6 | pypi_name: python-circos 7 | -------------------------------------------------------------------------------- /packages/s3dlib.yml: -------------------------------------------------------------------------------- 1 | name: S3Dlib 2 | repo: fzaverl/s3dlib 3 | section: Plot types 4 | description: 3D surface and line object classes. 5 | site: https://s3dlib.org 6 | keywords: [3D-visualization, surface, lines, colormaps] 7 | pypi_name: s3dlib 8 | -------------------------------------------------------------------------------- /packages/grplot.yml: -------------------------------------------------------------------------------- 1 | name: grplot 2 | repo: 'ghiffaryr/grplot' 3 | section: 'domain specific libraries' 4 | description: 'Complete and attractive statistical graphs in one function.' 5 | site: 'https://github.com/ghiffaryr/grplot' 6 | pypi_name: 'grplot' 7 | -------------------------------------------------------------------------------- /packages/metpy.yml: -------------------------------------------------------------------------------- 1 | name: MetPy 2 | repo: Unidata/MetPy 3 | site: https://unidata.github.io/MetPy 4 | section: domain specific libraries 5 | keywords: [meteorology, atmospheric science] 6 | description: A Python toolkit for meteorological applications. 7 | -------------------------------------------------------------------------------- /packages/panel.yml: -------------------------------------------------------------------------------- 1 | name: Panel 2 | repo: holoviz/panel 3 | section: interactivity 4 | site: https://panel.holoviz.org 5 | description: Dashboards and web apps using Matplotlib and other figures. 6 | keywords: [jupyter, html, web] 7 | conda_channel: pyviz 8 | -------------------------------------------------------------------------------- /packages/aquarel.yml: -------------------------------------------------------------------------------- 1 | name: Aquarel 2 | repo: lgienapp/aquarel 3 | section: colormaps and styles 4 | description: Simplified wrapper for flexible styling and theming. 5 | site: https://github.com/lgienapp/aquarel 6 | keywords: [styles] 7 | pypi_name: aquarel 8 | -------------------------------------------------------------------------------- /packages/highlight_text.yml: -------------------------------------------------------------------------------- 1 | name: HighlightText 2 | repo: znstrider/highlight_text 3 | keywords: ["text handling", annotations] 4 | section: plotting utilities 5 | description: Make effective annotations easier in Matplotlib. 6 | conda_channel: conda-forge 7 | -------------------------------------------------------------------------------- /packages/mpl_interactions.yml: -------------------------------------------------------------------------------- 1 | name: mpl-interactions 2 | repo: mpl-extensions/mpl-interactions 3 | keywords: [widgets] 4 | section: interactivity 5 | description: Interactive widgets for responsive plots. 6 | site: https://mpl-interactions.readthedocs.io/ 7 | -------------------------------------------------------------------------------- /packages/cmocean.yml: -------------------------------------------------------------------------------- 1 | name: cmocean 2 | repo: matplotlib/cmocean 3 | site: https://matplotlib.org/cmocean/ 4 | keywords: [styles, palettes, colormaps] 5 | section: colormaps and styles 6 | description: Perceptually uniform colormaps for oceanographic variables. 7 | -------------------------------------------------------------------------------- /packages/svgpath2mpl.yml: -------------------------------------------------------------------------------- 1 | name: svgpath2mpl 2 | repo: nvictus/svgpath2mpl 3 | section: plotting utilities 4 | description: Parse SVG paths into Matplotlib Path objects for plotting. 5 | site: https://github.com/nvictus/svgpath2mpl 6 | keywords: [svg, path, parser] 7 | -------------------------------------------------------------------------------- /packages/xmovie.yml: -------------------------------------------------------------------------------- 1 | name: xmovie 2 | repo: jbusecke/xmovie 3 | section: animations 4 | description: A simple way of creating beautiful movies from Xarray objects. 5 | keywords: [xarray] 6 | pypi_name: xmovie 7 | conda_package: xmovie 8 | conda_channel: conda-forge 9 | -------------------------------------------------------------------------------- /packages/hvplot.yml: -------------------------------------------------------------------------------- 1 | name: hvPlot 2 | repo: holoviz/hvplot 3 | section: alternative apis 4 | site: https://hvplot.holoviz.org 5 | description: Composable, interactive Pandas and Xarray .plot() objects. 6 | keywords: [jupyter, pandas, xarray] 7 | conda_channel: pyviz 8 | -------------------------------------------------------------------------------- /packages/mpl-widget-box.yaml: -------------------------------------------------------------------------------- 1 | name: mpl_widget_box 2 | repo: leejjoon/mpl_widget_box 3 | keywords: [widgets] 4 | section: interactivity 5 | description: GUI-neutral widgets for Matplotlib, with legend-like layout and more. 6 | site: https://mpl-widget-box.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/yellowbrick.yml: -------------------------------------------------------------------------------- 1 | name: Yellowbrick 2 | repo: DistrictDataLabs/yellowbrick 3 | section: domain specific libraries 4 | site: https://www.scikit-yb.org 5 | description: >- 6 | Visual analysis and diagnostic tools to facilitate machine learning model selection. 7 | -------------------------------------------------------------------------------- /docs/source/_static/custom.css: -------------------------------------------------------------------------------- 1 | table#packages tr th { 2 | padding-top: 3em; 3 | padding-bottom: 1em; 4 | } 5 | 6 | table#packages tr td { 7 | vertical-align: top; 8 | } 9 | 10 | table#packages tr td a img { 11 | height: 1.4em; 12 | max-width: none; 13 | } 14 | -------------------------------------------------------------------------------- /packages/PyNanoLab.yml: -------------------------------------------------------------------------------- 1 | name: PyNanoLab 2 | repo: decacent/PyNanoLab 3 | section: gui applications 4 | description: PySide6 GUI for data analysis and visualisation with Matplotlib and Pandas. 5 | site: https://pynanolab.com 6 | keywords: [GUI, PySide6, pandas, data analysis] 7 | -------------------------------------------------------------------------------- /packages/cartopy.yml: -------------------------------------------------------------------------------- 1 | name: cartopy 2 | repo: SciTools/cartopy 3 | site: https://scitools.org.uk/cartopy 4 | keywords: [mapping, geospatial, projections] 5 | section: mapping 6 | description: Produce maps and other geospatial data analyses. 7 | conda_channel: conda-forge 8 | -------------------------------------------------------------------------------- /packages/datashader.yml: -------------------------------------------------------------------------------- 1 | name: Datashader 2 | repo: holoviz/datashader 3 | section: plot types 4 | site: https://datashader.org 5 | description: Server-side rendering of large datasets as Matplotlib figures. 6 | keywords: [rasterization, "big data"] 7 | conda_channel: pyviz 8 | -------------------------------------------------------------------------------- /packages/matplotx.yml: -------------------------------------------------------------------------------- 1 | name: matplotx 2 | repo: nschloe/matplotx 3 | section: miscellaneous 4 | description: Useful styles and extensions for Matplotlib. 5 | keywords: [styles, palettes, colormaps] 6 | pypi_name: matplotx 7 | conda_package: matplotx 8 | conda_channel: conda-forge 9 | -------------------------------------------------------------------------------- /packages/mpl-point-clicker.yml: -------------------------------------------------------------------------------- 1 | name: mpl-point-clicker 2 | repo: mpl-extensions/mpl-point-clicker 3 | keywords: [widgets] 4 | section: interactivity 5 | description: Record click locations on a figure. Supports multiple classes. 6 | site: https://mpl-point-clicker.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/plottable.yml: -------------------------------------------------------------------------------- 1 | name: plottable 2 | repo: znstrider/plottable 3 | section: plot types 4 | description: Beautifully customized tables with Matplotlib. 5 | site: https://github.com/znstrider/plottable 6 | keywords: [table, tables, custom, styling, formatting, presentation] 7 | -------------------------------------------------------------------------------- /packages/farrow-and-ball.yml: -------------------------------------------------------------------------------- 1 | name: Farrow&Ball Matplotlib 2 | repo: vork/farrowandball 3 | section: colormaps and styles 4 | description: Color palettes inspired by British paint manufacturer Farrow and Ball. 5 | keywords: [styles, palettes, colormaps] 6 | pypi_name: farrow-and-ball 7 | -------------------------------------------------------------------------------- /packages/hockey_rink.yml: -------------------------------------------------------------------------------- 1 | name: Hockey Rink 2 | repo: the-bucketless/hockey_rink 3 | site: https://github.com/the-bucketless/hockey_rink 4 | section: domain specific libraries 5 | keywords: [sports, hockey] 6 | description: A Python library for plotting hockey rinks with Matplotlib. 7 | -------------------------------------------------------------------------------- /packages/mplsignal.yml: -------------------------------------------------------------------------------- 1 | name: mplsignal 2 | repo: oscargus/mplsignal 3 | section: domain specific libraries 4 | description: Utility functions for signal processing plots. 5 | site: https://mplsignal.readthedocs.io/en/stable/ 6 | keywords: [signal processing, freqz, zplane, splane] 7 | -------------------------------------------------------------------------------- /packages/seaborn-image.yml: -------------------------------------------------------------------------------- 1 | name: seaborn-image 2 | repo: SarthakJariwala/seaborn-image 3 | section: domain specific libraries 4 | description: High-level API for drawing informative and attractive images. 5 | site: https://seaborn-image.readthedocs.io/ 6 | pypi_name: seaborn-image 7 | -------------------------------------------------------------------------------- /packages/DataMapPlot.yml: -------------------------------------------------------------------------------- 1 | name: datamapplot 2 | repo: TutteInstitute/datamapplot 3 | section: domain specific libraries 4 | description: Plotting clustered and labelled data maps. 5 | site: https://datamapplot.readthedocs.io/ 6 | keywords: [datamap, topic modelling, embedding, umap, tsne] 7 | -------------------------------------------------------------------------------- /packages/mpl-draggable-line.yml: -------------------------------------------------------------------------------- 1 | name: mpl-draggable-line 2 | repo: mpl-extensions/mpl-draggable-line 3 | keywords: [widget, draggable, draggable-line] 4 | section: interactivity 5 | description: A Draggable line widget for Matplotlib. 6 | site: https://mpl-draggable-line.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/mpl-image-segmenter.yml: -------------------------------------------------------------------------------- 1 | name: mpl-image-segmenter 2 | repo: mpl-extensions/mpl-image-segmenter 3 | keywords: [image, segment, segmentation] 4 | section: interactivity 5 | description: Manually segment images with Matplotlib. 6 | site: https://mpl-image-segmenter.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/mpl-sankey.yml: -------------------------------------------------------------------------------- 1 | name: mpl-sankey 2 | repo: toobaz/mpl_sankey 3 | section: Plot types 4 | description: Sankey "alluvial" diagrams, with a data-centric API. 5 | site: https://github.com/toobaz/mpl_sankey/ 6 | keywords: [sankey, alluvial, flows, data, nodes] 7 | pypi_name: mpl-sankey 8 | -------------------------------------------------------------------------------- /packages/prettymaps.yml: -------------------------------------------------------------------------------- 1 | name: prettymaps 2 | repo: marceloprates/prettymaps 3 | section: mapping 4 | description: Minimal Python library to draw customized maps from OpenStreetMap data. 5 | site: https://github.com/marceloprates/prettymaps 6 | keywords: [maps, cartography, OpenStreetMaps] 7 | -------------------------------------------------------------------------------- /packages/pylustrator.yml: -------------------------------------------------------------------------------- 1 | name: Pylustrator 2 | repo: rgerum/pylustrator 3 | site: https://pylustrator.readthedocs.io 4 | keywords: [interactive, GUI, code generation] 5 | section: gui applications 6 | description: Interactive editor to style Matplotlib plots. 7 | pypi_name: pylustrator 8 | -------------------------------------------------------------------------------- /packages/geoviews.yml: -------------------------------------------------------------------------------- 1 | name: GeoViews 2 | repo: holoviz/geoviews 3 | section: mapping 4 | site: https://geoviews.org 5 | description: High-level geographic plotting built on Cartopy and Matplotlib. 6 | keywords: [mapping, projection, geospatial, choropleth, jupyter] 7 | conda_channel: pyviz 8 | -------------------------------------------------------------------------------- /packages/tueplots.yml: -------------------------------------------------------------------------------- 1 | name: TUEplots 2 | repo: pnkraemer/tueplots 3 | section: colormaps and styles 4 | description: Light-weight Matplotlib styles for figures used in scientific publications. 5 | site: https://tueplots.readthedocs.io/en/latest/ 6 | keywords: [styles] 7 | pypi_name: tueplots 8 | -------------------------------------------------------------------------------- /packages/geoplot.yml: -------------------------------------------------------------------------------- 1 | name: geoplot 2 | repo: residentmario/geoplot 3 | site: https://residentmario.github.io/geoplot/index.html 4 | keywords: [mapping, geospatial] 5 | section: mapping 6 | conda_channel: conda-forge 7 | description: High-level Python geospatial plotting library based on Cartopy. 8 | -------------------------------------------------------------------------------- /packages/mpl-visual-context.yaml: -------------------------------------------------------------------------------- 1 | name: mpl-visual-context 2 | repo: leejjoon/mpl-visual-context 3 | keywords: [styles] 4 | section: colormaps and styles 5 | description: Collection of patheffects and more 6 | site: https://github.com/leejjoon/mpl-visual-context 7 | pypi_name: mpl-visual-context 8 | -------------------------------------------------------------------------------- /packages/scienceplots.yml: -------------------------------------------------------------------------------- 1 | name: SciencePlots 2 | repo: garrettj403/SciencePlots 3 | section: colormaps and styles 4 | description: >- 5 | Matplotlib styles for scientific figures. 6 | site: https://github.com/garrettj403/SciencePlots 7 | keywords: [styles, latex, science] 8 | pypi_name: SciencePlots 9 | -------------------------------------------------------------------------------- /packages/lumen.yml: -------------------------------------------------------------------------------- 1 | name: Lumen 2 | repo: holoviz/lumen 3 | section: gui applications 4 | site: https://lumen.holoviz.org 5 | description: >- 6 | Declarative YAML or GUI specification for apps/dashboards with Matplotlib and other 7 | plots. 8 | keywords: [dashboard, app] 9 | conda_channel: pyviz 10 | -------------------------------------------------------------------------------- /packages/microfilm.yml: -------------------------------------------------------------------------------- 1 | name: microfilm 2 | repo: guiwitz/microfilm 3 | section: domain specific libraries 4 | description: 2D image plots and animations for multi-channel microscopy data. 5 | site: https://guiwitz.github.io/microfilm 6 | keywords: [microscopy, animations, composite] 7 | pypi_name: microfilm 8 | -------------------------------------------------------------------------------- /packages/mpl-image-labeller.yml: -------------------------------------------------------------------------------- 1 | name: mpl-image-labeller 2 | repo: mpl-extensions/mpl-image-labeller 3 | keywords: [image, classification, label, labeler, labeller] 4 | section: interactivity 5 | description: Easily apply classification labels to images. 6 | site: https://mpl-image-labeller.readthedocs.io 7 | -------------------------------------------------------------------------------- /packages/matplotlib-label-lines.yml: -------------------------------------------------------------------------------- 1 | name: matplotlib-label-lines 2 | repo: cphyc/matplotlib-label-lines 3 | site: https://github.com/cphyc/matplotlib-label-lines 4 | keywords: [label, annotation] 5 | section: plotting utilities 6 | description: Label line using matplotlib. 7 | pypi_name: matplotlib-label-lines 8 | -------------------------------------------------------------------------------- /packages/myforestplot.yml: -------------------------------------------------------------------------------- 1 | name: MyForestPlot 2 | repo: toshiakiasakura/myforestplot 3 | section: domain specific libraries 4 | description: A flexibly-customizable Python tool to create a forest plot. 5 | site: https://toshiakiasakura.github.io/myforestplot/ 6 | keywords: [forestplot] 7 | pypi_name: myforestplot 8 | -------------------------------------------------------------------------------- /packages/proplot.yml: -------------------------------------------------------------------------------- 1 | name: ProPlot 2 | repo: lukelbd/proplot 3 | site: https://proplot.readthedocs.io/en/latest/ 4 | keywords: [wrapper] 5 | section: plotting utilities 6 | description: >- 7 | A lightweight Matplotlib wrapper for making beautiful, publication-quality graphics. 8 | conda_channel: conda-forge 9 | -------------------------------------------------------------------------------- /packages/mpl-probscale.yml: -------------------------------------------------------------------------------- 1 | name: mpl-probscale 2 | repo: matplotlib/mpl-probscale 3 | site: https://matplotlib.org/mpl-probscale/ 4 | keywords: [scales, probability, axes] 5 | section: plotting utilities 6 | description: Real probability scales for Matplotlib. 7 | pypi_name: probscale 8 | conda_channel: conda-forge 9 | -------------------------------------------------------------------------------- /packages/pytransform3d.yml: -------------------------------------------------------------------------------- 1 | name: pytransform3d 2 | repo: dfki-ric/pytransform3d 3 | section: domain specific libraries 4 | description: Work with, plot, and animate rigid transformations in 3D. 5 | site: https://dfki-ric.github.io/pytransform3d/index.html 6 | pypi_name: pytransform3d 7 | conda_package: pytransform3d 8 | -------------------------------------------------------------------------------- /packages/skunk.yml: -------------------------------------------------------------------------------- 1 | name: skunk 2 | repo: whitead/skunk 3 | section: plotting utilities 4 | description: >- 5 | Insert SVG images into Matplotlib elements. Can be used to also compose Matplotlib 6 | plots by nesting them. 7 | site: https://github.com/whitead/skunk/ 8 | keywords: [SVG] 9 | pypi_name: skunk 10 | -------------------------------------------------------------------------------- /packages/mpl-multitab.yml: -------------------------------------------------------------------------------- 1 | name: mpl-multitab 2 | repo: astromancer/mpl-multitab 3 | section: gui applications 4 | description: Tabbed figure manager for Matplotlib using PyQt. 5 | site: https://github.com/astromancer/mpl-multitab 6 | keywords: [GUI, figure manager, tabs, tabbed, pyside, pyqt] 7 | pypi_name: mpl-multitab 8 | -------------------------------------------------------------------------------- /packages/pyplutchik.yml: -------------------------------------------------------------------------------- 1 | name: PyPlutchik 2 | repo: matplotlib/pyplutchik 3 | section: domain specific libraries 4 | description: Python visualisation for Plutchik annotated corpora. 5 | site: https://github.com/alfonsosemeraro/pyplutchik 6 | pypi_name: pyplutchik 7 | conda_package: pyplutchik 8 | conda_channel: conda-forge 9 | -------------------------------------------------------------------------------- /packages/distinctipy.yml: -------------------------------------------------------------------------------- 1 | name: distinctipy 2 | repo: alan-turing-institute/distinctipy 3 | section: colormaps and styles 4 | description: Qualitative colormaps of any length, generated to be maximally distinct. 5 | site: https://distinctipy.readthedocs.io/en/latest/ 6 | keywords: [styles, palettes, colormaps, colorblind, categorical] 7 | -------------------------------------------------------------------------------- /packages/eomaps.yml: -------------------------------------------------------------------------------- 1 | name: EOmaps 2 | repo: raphaelquast/eomaps 3 | section: mapping 4 | description: A library to create interactive maps of geographical datasets. 5 | site: https://raphaelquast.github.io/EOmaps/ 6 | keywords: [interactive, mapping] 7 | pypi_name: eomaps 8 | conda_package: eomaps 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/librosa.yml: -------------------------------------------------------------------------------- 1 | name: librosa 2 | repo: librosa/librosa 3 | section: domain specific libraries 4 | description: Audio signal processing with waveform and spectrogram displays. 5 | site: https://librosa.org/ 6 | keywords: [signals, spectrograms] 7 | pypi_name: librosa 8 | conda_package: librosa 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/matplotcheck.yml: -------------------------------------------------------------------------------- 1 | name: matplotcheck 2 | repo: earthlab/matplotcheck 3 | section: miscellaneous 4 | description: A package designed to test Matplotlib plots. 5 | site: https://matplotcheck.readthedocs.io 6 | keywords: ["plot testing"] 7 | pypi_name: matplotcheck 8 | conda_package: matplotcheck 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/Quibbler.yml: -------------------------------------------------------------------------------- 1 | name: Quibbler 2 | repo: Technion-Kishony-lab/quibbler 3 | section: interactivity 4 | description: Effortlessly make your Matplotlib graphics interactive. 5 | site: https://github.com/Technion-Kishony-lab/quibbler 6 | keywords: [data, visualization, interactive, save, data analysis, plot, picker] 7 | pypi_name: pyquibbler 8 | -------------------------------------------------------------------------------- /packages/holoviews.yml: -------------------------------------------------------------------------------- 1 | name: HoloViews 2 | repo: holoviz/holoviews 3 | section: alternative apis 4 | site: https://holoviews.org 5 | description: >- 6 | High-level API providing composable multidimensional or columnar data objects that 7 | visualize themselves. 8 | keywords: [jupyter, columnar, multidimensional] 9 | conda_channel: pyviz 10 | -------------------------------------------------------------------------------- /packages/pandas.yml: -------------------------------------------------------------------------------- 1 | name: pandas 2 | repo: pandas-dev/pandas 3 | site: https://pandas.pydata.org 4 | keywords: ["structured data", columnar, tabular, tables] 5 | section: alternative apis 6 | description: >- 7 | Tabular data analysis and manipulation tool providing a .plot() API for Matplotlib 8 | plotting. 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/pymatviz.yml: -------------------------------------------------------------------------------- 1 | name: pymatviz 2 | repo: janosh/pymatviz 3 | section: domain specific libraries 4 | description: A toolkit for visualizations in materials informatics. 5 | site: https://github.com/janosh/pymatviz 6 | keywords: [materials informatics, materials discovery, uncertainty-calibration, 7 | data viz] 8 | pypi_name: pymatviz 9 | -------------------------------------------------------------------------------- /packages/mir-eval.yml: -------------------------------------------------------------------------------- 1 | name: mir_eval 2 | repo: craffel/mir_eval 3 | section: domain specific libraries 4 | description: Evaluation tools and display helpers for audio annotations. 5 | site: https://craffel.github.io/mir_eval/ 6 | keywords: [music, audio, annotation] 7 | pypi_name: mir_eval 8 | conda_package: mir_eval 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/planetmagfields.yml: -------------------------------------------------------------------------------- 1 | name: planetMagFields 2 | repo: AnkitBarik/planetMagFields 3 | section: domain specific libraries 4 | keywords: ["magnetic field", "planetary science", "solar system"] 5 | description: >- 6 | Routines to easily access information about magnetic fields of planets in our solar 7 | system and visualize them in both 2D and 3D. 8 | -------------------------------------------------------------------------------- /packages/DnaFeaturesViewer.yml: -------------------------------------------------------------------------------- 1 | name: DNA Features Viewer 2 | repo: Edinburgh-Genome-Foundry/DnaFeaturesViewer 3 | section: domain specific libraries 4 | description: >- 5 | Visualize DNA features, e.g. from GenBank or Gff files, or Biopython SeqRecords. 6 | site: https://edinburgh-genome-foundry.github.io/DnaFeaturesViewer/ 7 | pypi_name: dna-features-viewer 8 | -------------------------------------------------------------------------------- /packages/cmasher.yml: -------------------------------------------------------------------------------- 1 | name: CMasher 2 | repo: 1313e/CMasher 3 | site: https://cmasher.readthedocs.io 4 | section: colormaps and styles 5 | keywords: [styles, palettes, colormaps] 6 | description: >- 7 | Scientific colormaps for making accessible, informative and 'cmashing' plots. 8 | pypi_name: cmasher 9 | conda_package: cmasher 10 | conda_channel: conda-forge 11 | -------------------------------------------------------------------------------- /packages/xarray.yml: -------------------------------------------------------------------------------- 1 | name: Xarray 2 | repo: pydata/xarray 3 | site: https://xarray.pydata.org 4 | keywords: ["structured data", "multi-dimensional arrays", "nD arrays"] 5 | section: alternative apis 6 | description: >- 7 | Multi-dimensional data analysis and manipulation tool providing a .plot() API for 8 | Matplotlib plotting. 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/pygenomeviz.yml: -------------------------------------------------------------------------------- 1 | name: pyGenomeViz 2 | repo: moshi4/pyGenomeViz 3 | section: domain specific libraries 4 | description: A genome visualization python package for comparative genomics. 5 | site: https://moshi4.github.io/pyGenomeViz/ 6 | keywords: [bioinformatics, genomics] 7 | pypi_name: pygenomeviz 8 | conda_package: pygenomeviz 9 | conda_channel: bioconda 10 | -------------------------------------------------------------------------------- /packages/mpl-animators.yml: -------------------------------------------------------------------------------- 1 | name: mpl-animators 2 | repo: sunpy/mpl-animators 3 | section: animations 4 | description: >- 5 | Create interactive animations of N-dimensional data, 6 | and of World Coordinate System (WCS) objects from Astropy. 7 | site: https://docs.sunpy.org/projects/mpl-animators/en/stable/ 8 | pypi_name: mpl-animators 9 | conda_package: mpl_animators 10 | -------------------------------------------------------------------------------- /packages/pyart.yml: -------------------------------------------------------------------------------- 1 | name: Py-ART 2 | repo: ARM-DOE/pyart 3 | section: domain specific libraries 4 | description: The Python ARM Radar toolkit, used to analyze and plot weather radar data. 5 | site: https://github.com/ARM-DOE/pyart 6 | keywords: [radar, weather, climate, mapping, plotting] 7 | pypi_name: arm_pyart 8 | conda_package: arm_pyart 9 | conda_channel: conda-forge 10 | -------------------------------------------------------------------------------- /packages/PySimpleGUI.yml: -------------------------------------------------------------------------------- 1 | name: PySimpleGUI 2 | repo: PySimpleGUI/PySimpleGUI 3 | section: gui applications 4 | description: >- 5 | Create custom GUIs quickly & easily on top of Tkinter, Qt, wxPython or Remi. 6 | site: https://www.PySimpleGUI.com 7 | keywords: [GUI, Tkinter, pyside2, wxPython, Remi, documentation, cookbook, Trinkets, 8 | replit] 9 | pypi_name: PySimpleGUI 10 | -------------------------------------------------------------------------------- /packages/mpl_chord_diagram.yml: -------------------------------------------------------------------------------- 1 | name: mpl_chord_diagram 2 | repo: https://codeberg.org/tfardet/mpl_chord_diagram 3 | section: plot types 4 | description: Drawing chord diagrams with matplotlib. 5 | site: https://codeberg.org/tfardet/mpl_chord_diagram # optional, default repo site 6 | keywords: [chord, diagrams, chord diagram] # optional 7 | pypi_name: mpl-chord-diagram # optional, default repo name 8 | -------------------------------------------------------------------------------- /packages/mplhep.yml: -------------------------------------------------------------------------------- 1 | name: mplhep 2 | repo: scikit-hep/mplhep 3 | section: domain specific libraries 4 | description: >- 5 | Set of helpers for Matplotlib to more easily produce plots typically needed in 6 | high energy physics. 7 | site: https://mplhep.readthedocs.io/ 8 | keywords: [physics, hep, scikit-hep] 9 | pypi_name: mplhep 10 | conda_package: mplhep 11 | conda_channel: conda-forge 12 | -------------------------------------------------------------------------------- /packages/colorcet.yml: -------------------------------------------------------------------------------- 1 | name: Colorcet 2 | repo: holoviz/colorcet 3 | section: colormaps and styles 4 | description: >- 5 | Perceptually uniform continuous colormaps and perceptually distinct categorical 6 | color sets. 7 | site: https://colorcet.holoviz.org 8 | keywords: [styles, palettes, colormaps, colorblind, cyclic, diverging, categorical, 9 | continuous] 10 | conda_channel: pyviz 11 | -------------------------------------------------------------------------------- /section_names.yml: -------------------------------------------------------------------------------- 1 | section_names: 2 | alternative apis: Alternative APIs 3 | colormaps and styles: Colormaps and styles 4 | plotting utilities: Plotting utilities 5 | plot types: Plot types 6 | gui applications: GUI applications 7 | backends: Rendering backends 8 | interactivity: Interactivity 9 | animations: Animations 10 | mapping: Mapping 11 | domain specific libraries: Domain-specific libraries 12 | documentation: Documentation 13 | experimental: Experimental projects that may be merged upstream eventually 14 | miscellaneous: Miscellaneous 15 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | 3 | orbs: 4 | python: circleci/python@1.2.1 5 | 6 | jobs: 7 | build_docs: 8 | executor: python/default 9 | steps: 10 | - checkout 11 | - python/install-packages: 12 | pkg-manager: pip 13 | pip-dependency-file: docs/requirements.txt 14 | - run: 15 | name: Build docs 16 | command: make -C docs html 17 | - persist_to_workspace: 18 | root: docs/build/html 19 | paths: . 20 | - store_artifacts: 21 | path: docs/build/html/ 22 | 23 | workflows: 24 | main: 25 | jobs: 26 | - build_docs 27 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## PR Summary 2 | 3 | 4 | 16 | -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | 3 | project = "mpl-third-party" 4 | author = "matplotlib developers" 5 | 6 | project = "Matplotlib third-party packages" 7 | copyright = ( 8 | f"2012 - {datetime.datetime.now().year} The Matplotlib development team" 9 | ) 10 | 11 | source_suffix = ['.rst'] 12 | 13 | templates_path = ["_templates"] 14 | exclude_patterns = [] 15 | 16 | html_theme = "mpl_sphinx_theme" 17 | html_static_path = ["./_static"] 18 | html_theme_options = { 19 | "navbar_links": ("absolute", "server-stable"), 20 | "secondary_sidebar_items": "page-toc.html", 21 | } 22 | 23 | html_css_files = [ 24 | "custom.css", 25 | ] 26 | 27 | html_sidebars = { 28 | '**': ['localtoc.html'] 29 | } 30 | -------------------------------------------------------------------------------- /.github/workflows/circleci.yml: -------------------------------------------------------------------------------- 1 | name: "CircleCI artifact handling" 2 | on: [status] 3 | jobs: 4 | circleci_artifacts_redirector_job: 5 | if: "${{ github.event.context == 'ci/circleci: build_docs' }}" 6 | permissions: 7 | statuses: write 8 | runs-on: ubuntu-latest 9 | name: Run CircleCI artifacts redirector 10 | steps: 11 | - name: GitHub Action step 12 | uses: larsoner/circleci-artifacts-redirector-action@master 13 | with: 14 | repo-token: ${{ secrets.GITHUB_TOKEN }} 15 | api-token: ${{ secrets.CIRCLECI_TOKEN }} 16 | artifact-path: 0/docs/build/html/index.html 17 | circleci-jobs: build_docs 18 | job-title: View the built docs 19 | -------------------------------------------------------------------------------- /docs/source/intro.rst: -------------------------------------------------------------------------------- 1 | A list of packages that extend Matplotlib. These are maintained 2 | and distributed independently from Matplotlib so go to the website 3 | listed for instructions. 4 | 5 | Please contribute your package by opening a pull-request at 6 | https://github.com/matplotlib/mpl-third-party using the template in the 7 | `readme `_ 8 | 9 | If you need help making a package, see 10 | https://github.com/matplotlib/matplotlib-extension-cookiecutter 11 | where we give you a template to make it easy! 12 | 13 | You can find more packages at 14 | `PyPI `_ 15 | using the ``Framework :: Matplotlib`` trove classifier. 16 | -------------------------------------------------------------------------------- /docs/source/_static/dormant.svg: -------------------------------------------------------------------------------- 1 | dormantdormant -------------------------------------------------------------------------------- /.github/workflows/gh-pages.yml: -------------------------------------------------------------------------------- 1 | name: GitHub Pages 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | schedule: 8 | - cron: '0 9 * * *' 9 | 10 | jobs: 11 | deploy: 12 | runs-on: ubuntu-22.04 13 | steps: 14 | - name: checkout 15 | uses: actions/checkout@v3 16 | 17 | - name: Install Python 18 | uses: actions/setup-python@v4 19 | with: 20 | python-version: '3.x' 21 | 22 | - name: Install documentation requirements 23 | run: | 24 | pip install -r docs/requirements.txt 25 | 26 | - name: Make docs builds 27 | run: | 28 | make -C docs html O="-t release" 29 | 30 | - name: Deploy 31 | uses: peaceiris/actions-gh-pages@v3 32 | with: 33 | github_token: ${{ secrets.GITHUB_TOKEN }} 34 | publish_dir: ./docs/build/html 35 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | python ../python/build.py 21 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 22 | 23 | just-html: 24 | @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 25 | 26 | clean: 27 | rm -rf build/ 28 | -------------------------------------------------------------------------------- /docs/source/_static/badges/code-gray.svg: -------------------------------------------------------------------------------- 1 | codecode -------------------------------------------------------------------------------- /docs/source/_static/badges/pip-orange.svg: -------------------------------------------------------------------------------- 1 | pippip -------------------------------------------------------------------------------- /package-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft/2020-12/schema", 3 | "$id": "http://matplotlib.org/mpl-third-party/schema.yml", 4 | "type": "object", 5 | "required": ["name", "repo", "section", "description"], 6 | "properties": { 7 | "name": {"type": "string"}, 8 | "repo": { 9 | "type": "string", 10 | "pattern": "(^[^/]+/[^/]+$)|(^(https://))" 11 | }, 12 | "section": {"type": "string"}, 13 | "description": { 14 | "type": "string", 15 | "pattern": "^.+\\.$" 16 | }, 17 | 18 | "badges": { 19 | "type": "array", 20 | "items": {"type": "string"}, 21 | "uniqueItems": true 22 | }, 23 | "conda_channel": {"type": "string"}, 24 | "conda_package": {"type": "string"}, 25 | "keywords": { 26 | "type": "array", 27 | "items": {"type": "string"}, 28 | "uniqueItems": true 29 | }, 30 | "pypi_name": {"type": "string"}, 31 | "site": {"type": "string"} 32 | }, 33 | "additionalProperties": false 34 | } 35 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | ci: 2 | autofix_prs: false 3 | autoupdate_schedule: 'quarterly' 4 | repos: 5 | - repo: https://github.com/pre-commit/pre-commit-hooks 6 | rev: v4.5.0 7 | hooks: 8 | - id: check-added-large-files 9 | - id: check-docstring-first 10 | - id: end-of-file-fixer 11 | exclude_types: [svg] 12 | - id: mixed-line-ending 13 | - id: name-tests-test 14 | args: ["--pytest-test-first"] 15 | - id: trailing-whitespace 16 | exclude_types: [svg] 17 | - repo: https://github.com/pycqa/flake8 18 | rev: 6.1.0 19 | hooks: 20 | - id: flake8 21 | additional_dependencies: [flake8-force] 22 | - repo: https://github.com/codespell-project/codespell 23 | rev: v2.2.6 24 | hooks: 25 | - id: codespell 26 | files: ^.*\.(py|c|cpp|h|m|md|rst|yml)$ 27 | args: ["--ignore-words", "ci/codespell-ignore-words.txt"] 28 | - repo: https://github.com/adrienverge/yamllint 29 | rev: v1.33.0 30 | hooks: 31 | - id: yamllint 32 | - repo: https://github.com/python-jsonschema/check-jsonschema 33 | rev: 0.27.3 34 | hooks: 35 | - id: check-jsonschema 36 | files: ^packages/.*\.yml$ 37 | args: ['--schemafile', 'package-schema.json'] 38 | -------------------------------------------------------------------------------- /python/template.rst: -------------------------------------------------------------------------------- 1 | .. raw:: html 2 | 3 |
4 | 5 | {% for section, packages in config | dictsort %} 6 | 7 | 15 | 16 | 17 | {% for package in packages | sort(attribute="repo_name") %} 18 | 19 | 24 | 25 | 32 | 39 | 40 | 47 | 50 | 51 | 52 | {% endfor %} 53 | {% endfor %} 54 |
8 | {% with section_id = section | lower | replace(" ", "-") %} 9 |

10 | {{ section }} 11 | # 12 |

13 | {% endwith %} 14 |
20 | 21 | code badge 22 | 23 | 26 | {% if 'pypi' in package.badges %} 27 | 28 | pypi badge 29 | 30 | {% endif %} 31 | 33 | {% if 'conda' in package.badges %} 34 | 35 | conda badge 36 | 37 | {% endif %} 38 | 41 | {% if 'site' in package.badges %} 42 | {{ package.name }} 43 | {% else %} 44 | {{ package.name }} 45 | {% endif %} 46 | 48 | {{ package.description }} 49 |
55 |
56 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mpl-third-party 2 | 3 | List of Matplotlib user-contributed packages. These are served at 4 | https://matplotlib.org/mpl-third-party/. 5 | 6 | To add your package to the list, create a YAML file `your-cool-mpl-package.yml` in the `packages` 7 | directory. The file must have the following fields: 8 | 9 | ```yml 10 | name: cmocean 11 | repo: matplotlib/cmocean 12 | section: colormaps and styles 13 | description: Perceptually uniform colormaps for oceanographic variables. 14 | site: https://matplotlib.org/cmocean # optional, default repo site 15 | keywords: [colormaps, styles] # optional 16 | pypi_name: # optional, default repo name 17 | conda_package: # optional 18 | conda_channel: # optional, default conda-forge 19 | ``` 20 | Either fork this repo and add the new file there, or navigate into the `packages` directory above 21 | and use the `Add File` button at the top of the page. Then open a pull request with the new file. 22 | 23 | Note: The name of the yml file and the name of the repo should ideally match. 24 | 25 | The `section` entry should be one of the sections listed in 26 | [./section_names.yml](https://github.com/matplotlib/mpl-third-party/blob/main/section_names.yml). 27 | 28 | ### PyPI Classifier 29 | Please add the `Framework :: Matplotlib` PyPI Trove classifier to your package's [setup configuration](https://packaging.python.org/en/latest/tutorials/packaging-projects/#configuring-metadata) to be included in a listing of [Matplotlib related projects](https://pypi.org/search/?c=Framework+%3A%3A+Matplotlib) on PyPI. 30 | 31 | ## Development 32 | 33 | The list of yml files in `packages/` is parsed by `python/build.py` using `template.rst` and 34 | the result is saved to `docs/source/packages.rst`. This script is called by `docs/Makefile` 35 | using `make html`. This runs a `sphinx-build` and makes the page at `build/html/index.html`. 36 | 37 | This was heavily based on the nice work at . 38 | -------------------------------------------------------------------------------- /python/README.md: -------------------------------------------------------------------------------- 1 | ## PyViz Tools 2 | 3 | This directory is used to generate a tools dashboard for comparing various Python visualization packages. 4 | 5 | The main configuration of the dashboard is done via the ``tools.yml`` file, which can contain several sections with a list of packages, and a list of services for each section. 6 | 7 | The dashboard is created during the website build process on Travis CI and can be seen at [pyviz.org/tools.html](https://pyviz.org/tools.html). 8 | 9 | 10 | ### Introductory text 11 | 12 | The intro text is located in `doc/tools.md`, whose contents will be included immediately after the title on the page. 13 | 14 | Every section can also have an `intro` in `tools.yml`. This text should also be written as markdown. 15 | 16 | ### Adding a tool 17 | 18 | To add a tool, just create a new entry under the desired section in ``tools.yml``. At a minimum, include the GitHub org/repo for the project's source code. This will result in a project with just the badges that come from github and pypi. 19 | 20 | ** Minimal entry ** 21 | 22 | ```yaml 23 | - repo: SciTools/cartopy 24 | ``` 25 | 26 | To include more badges, add a list of sponsors, the site that the documentation can be found at. Also feel free to add the CI information, although this information isn't currently displayed, it could easily be added later. 27 | 28 | ** More complete entry ** 29 | 30 | ```yaml 31 | - repo: SciTools/cartopy 32 | sponsors: [metoffice] 33 | site: scitools.org.uk/cartopy 34 | conda_channel: conda-forge 35 | badges: travis, coveralls, pypi, conda 36 | ``` 37 | 38 | ### Adding a sponsor 39 | 40 | If you add a new tool that has a sponsor that is not yet found on the page, the name will not be linked and there won't be a logo. To get those assets, add an entry to ``sponsors.yml``. Use the same key as in ``tools.yml`` and include a `label` and optionally `url` and/or `logo`: 41 | 42 | ```yaml 43 | numfocus: 44 | label: NumFocus 45 | url: https://numfocus.org 46 | logo: _static/badges/numfocus.png 47 | ``` 48 | 49 | If using a logo, don't forget to include a small version of the logo at `doc/_static/badges/`. 50 | -------------------------------------------------------------------------------- /docs/source/_static/badges/enthought.svg: -------------------------------------------------------------------------------- 1 | enthought-blue-sized -------------------------------------------------------------------------------- /docs/source/_static/badges/kitware.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/conda_downloads.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ 3 | Run this script at the beginning of each month to build new conda downloads badges 4 | from the previous month. 5 | """ 6 | 7 | import datetime 8 | from pathlib import Path 9 | import warnings 10 | 11 | import colorcet as cc 12 | import intake 13 | import numpy as np 14 | import requests 15 | from yaml import safe_load 16 | 17 | 18 | here = Path(__file__).parent.resolve() 19 | cache_path = here.parent / 'doc/_static/cache' 20 | cat = intake.open_catalog( 21 | 'https://raw.githubusercontent.com/ContinuumIO/anaconda-package-data/' 22 | 'master/catalog/anaconda_package_data.yaml') 23 | 24 | colors = cc.palette_n.rainbow[-20:80:-1] 25 | top_of_colormap = 1e6 26 | step = len(colors) / np.log10(top_of_colormap) 27 | 28 | today = datetime.date.today() 29 | first = today.replace(day=1) 30 | last_month = first - datetime.timedelta(days=1) 31 | try: 32 | monthly = cat.anaconda_package_data_by_month( 33 | year=last_month.year, month=last_month.month, 34 | columns=['pkg_name', 'counts']).to_dask() 35 | except Exception: 36 | # if the last month isn't available, get the month before 37 | month_before = last_month.replace(day=1) - datetime.timedelta(days=1) 38 | monthly = cat.anaconda_package_data_by_month( 39 | year=month_before.year, month=month_before.month, 40 | columns=['pkg_name', 'counts']).to_dask() 41 | per_package_downloads = monthly.groupby('pkg_name').sum().compute() 42 | 43 | cache_path.mkdir(exist_ok=True) 44 | 45 | 46 | def get_conda_badge(conda_package): 47 | conda_package = conda_package.lower() 48 | if conda_package in per_package_downloads.index: 49 | downloads = per_package_downloads.counts.loc[conda_package] 50 | else: 51 | downloads = 0 52 | 53 | if downloads == 0: 54 | color_index = 0 55 | elif downloads > top_of_colormap: 56 | color_index = -1 57 | else: 58 | color_index = int(np.log10(downloads) * step) 59 | color = colors[color_index][1:] 60 | 61 | if downloads > 1e6: 62 | downloads = '{}M'.format(int(downloads/1e6)) 63 | elif downloads > 1e3: 64 | downloads = '{}k'.format(int(downloads/1e3)) 65 | else: 66 | downloads = int(downloads) 67 | 68 | return f"https://img.shields.io/badge/conda-{downloads}/month-{color}.svg" 69 | 70 | 71 | with (here / 'tools.yml').open() as f: 72 | config = safe_load(f) 73 | 74 | for section in config: 75 | print(f"Building conda downloads badge for: {section['name']}") 76 | for package in section['packages']: 77 | try: 78 | package['user'], package['repo_name'] = package['repo'].split('/') 79 | except ValueError: 80 | warnings.warn(f'Package.repo is not in correct format: {package}') 81 | continue 82 | url = get_conda_badge(package.get('conda_package', package['repo_name'])) 83 | rendered_url = url 84 | r = requests.get(rendered_url) 85 | badge = (cache_path / f"{package['repo_name']}_conda_downloads_badge.svg") 86 | badge.write_bytes(r.content) 87 | -------------------------------------------------------------------------------- /docs/source/_static/badges/conda-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | conda 53 | 57 | 62 | 66 | 67 | 69 | 75 | 76 | 79 | 84 | 90 | 95 | 96 | 103 | 112 | conda 119 | 120 | 121 | -------------------------------------------------------------------------------- /python/build.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from collections import defaultdict 4 | from pathlib import Path 5 | import pprint 6 | import re 7 | import warnings 8 | 9 | from jinja2 import Template 10 | import requests 11 | from yaml import safe_load 12 | 13 | 14 | here = Path(__file__).parent.resolve() 15 | 16 | print("Opening section names file") 17 | with (here.parent / 'section_names.yml').open() as f: 18 | section_names = safe_load(f) 19 | 20 | section_names = section_names['section_names'] 21 | 22 | print("section_names", section_names) 23 | config = defaultdict(list) 24 | for path in (here.parent / 'packages').glob('*'): 25 | with path.open('r') as fin: 26 | package = safe_load(fin) 27 | 28 | package['section'] = section_names[package.get('section', 'miscellaneous').lower()] 29 | 30 | print(f" {package['repo']} -> {package['section']}") 31 | 32 | repo_is_url = True 33 | 34 | if not package['repo'].startswith("http"): 35 | repo_is_url = False 36 | 37 | try: 38 | # try outdated GitHub user/repo_name format 39 | _, package['repo_name'] = package['repo'].split('/') 40 | # set proper repository URL 41 | package['repo'] = f"https://github.com/{package['repo']}" 42 | except ValueError: 43 | warnings.warn(f'Package.repo is not in correct format: {package}') 44 | continue 45 | 46 | if not re.match(r'^[\w-]+$', package['name']) and repo_is_url: 47 | raise ValueError('If `repo:` is a URL please use the Python package name ' 48 | 'as the `name:` field.') 49 | 50 | package.setdefault('repo_name', package['name']) 51 | package.setdefault('conda_package', package['repo_name']) 52 | package.setdefault('pypi_name', package['repo_name']) 53 | 54 | if package.get('badges'): 55 | package['badges'] = {x.strip() for x in package['badges'].split(',')} 56 | else: 57 | package['badges'] = {'pypi', 'conda'} 58 | 59 | needs_newline = False 60 | if 'pypi' in package['badges']: 61 | needs_newline = True 62 | print(' pypi: ', end='', flush=True) 63 | response = requests.get(f"https://pypi.org/pypi/{package['pypi_name']}/json/") 64 | if response.status_code == 200: 65 | print('found') 66 | else: 67 | print('not found') 68 | package['badges'].remove('pypi') 69 | if package.get('conda_channel'): 70 | package['badges'].add('conda') 71 | package.setdefault('conda_channel', 'conda-forge') 72 | if 'conda' in package['badges']: 73 | needs_newline = True 74 | print(' conda: ', end='') 75 | response = requests.get(f"https://anaconda.org/{package['conda_channel']}/" 76 | f"{package['conda_package']}/", 77 | allow_redirects=False) 78 | if response.status_code == 200: 79 | print('found', end='') 80 | else: 81 | print('not found', end='') 82 | package['badges'].remove('conda') 83 | if needs_newline: 84 | print() 85 | 86 | if package.get('sponsors'): 87 | package['badges'].add('sponsor') 88 | if package.get('site') and package['badges'].isdisjoint({'site', 'rtd'}): 89 | package['badges'].add('site') 90 | if package.get('dormant'): 91 | package['badges'].add('dormant') 92 | 93 | if 'rtd' in package['badges']: 94 | package.setdefault('rtd_name', package['repo_name']) 95 | 96 | if 'site' in package['badges']: 97 | if 'site' not in package: 98 | package['site'] = package["repo"] 99 | else: 100 | package['site'] = package['site'].rstrip('/') 101 | 102 | # Divide the yml files into sections based on the section tag... 103 | config[package['section']].append(package) 104 | 105 | # Turn defaultdict into plain dict. 106 | config = {**config} 107 | pprint.pprint(config) 108 | 109 | template = Template((here / 'template.rst').read_text(), 110 | lstrip_blocks=True, trim_blocks=True) 111 | 112 | (here.parent / 'docs/source/packages.rst').write_text(f"""\ 113 | Third-party and user-contributed packages 114 | ========================================= 115 | 116 | .. include:: intro.rst 117 | 118 | {template.render(config=config)} 119 | """) 120 | -------------------------------------------------------------------------------- /docs/source/_static/badges/quantstack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml -------------------------------------------------------------------------------- /docs/source/_static/badges/cgs.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 21 | 26 | 27 | 28 | 30 | 31 | 33 | image/svg+xml 34 | 36 | 37 | 38 | 39 | 40 | 43 | 47 | 52 | 57 | 62 | 67 | 71 | 76 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 113 | 117 | 121 | 125 | 129 | 133 | 137 | 141 | 145 | 149 | 153 | 157 | 161 | 165 | 169 | C 179 | S 189 | G 198 | 199 | 204 | 208 | 213 | 218 | 223 | 228 | 229 | 230 | --------------------------------------------------------------------------------