Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
droumis committed Apr 8, 2024
0 parents commit 00d6a77
Show file tree
Hide file tree
Showing 305 changed files with 98,950 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: eb902eb616e8760aaa9ba65366a1f92b
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added .nojekyll
Empty file.
Binary file added _images/andrewscurves.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/area.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/bar1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/barh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/bivariate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/bokeh.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/contour.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/contourf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/dask.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2,075 changes: 2,075 additions & 0 deletions _images/diagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/errorbars.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/explorer.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/geo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/geopandas.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/heat_and_trees.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/heatmap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hexbin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hist1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/intake.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/interactive_hvplot.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/interactive_pandas.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/interactive_xarray.gif
Binary file added _images/kde.png
Binary file added _images/kde1.png
Binary file added _images/labels.png
Binary file added _images/lagplot.png
Binary file added _images/large_data.gif
Binary file added _images/layout.gif
Binary file added _images/line.png
Binary file added _images/line1.png
Binary file added _images/matplotlib.png
Binary file added _images/networkx.gif
Binary file added _images/ohlc.png
Binary file added _images/overlay.png
Binary file added _images/pandas.gif
Binary file added _images/parallelcoordinates.png
Binary file added _images/plotly.gif
Binary file added _images/points.png
Binary file added _images/polygons.png
Binary file added _images/portfolio.png
Binary file added _images/quadmesh.png
Binary file added _images/rgb.png
Binary file added _images/scatter.png
Binary file added _images/scattermatrix.png
Binary file added _images/step.png
Binary file added _images/streamz_demo.gif
Binary file added _images/table.png
Binary file added _images/vectorfield.png
Binary file added _images/violin.png
Binary file added _images/violin1.png
Binary file added _images/widgets.gif
Binary file added _images/xarray.gif
1 change: 1 addition & 0 deletions _rediraffe_redirected.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"reference/pandas/andrewscurves": "reference/tabular/andrewscurves", "reference/pandas/area": "reference/tabular/area", "reference/pandas/bar": "reference/tabular/bar", "reference/pandas/barh": "reference/tabular/barh", "reference/pandas/bivariate": "reference/tabular/bivariate", "reference/pandas/box": "reference/tabular/box", "reference/pandas/errorbars": "reference/tabular/errorbars", "reference/pandas/heatmap": "reference/tabular/heatmap", "reference/pandas/hexbin": "reference/tabular/hexbin", "reference/pandas/hist": "reference/tabular/hist", "reference/pandas/kde": "reference/tabular/kde", "reference/pandas/labels": "reference/tabular/labels", "reference/pandas/lagplot": "reference/tabular/lagplot", "reference/pandas/line": "reference/tabular/line", "reference/pandas/ohlc": "reference/tabular/ohlc", "reference/pandas/parallelcoordinates": "reference/tabular/parallelcoordinates", "reference/pandas/scatter": "reference/tabular/scatter", "reference/pandas/scattermatrix": "reference/tabular/scattermatrix", "reference/pandas/step": "reference/tabular/step", "reference/pandas/table": "reference/tabular/table", "reference/pandas/violin": "reference/tabular/violin", "developer_guide/testing": "developer_guide/index"}
9 changes: 9 additions & 0 deletions _sources/about.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# About

hvPlot is completely open source, available under a BSD license freely for both commercial and non-commercial use. hvPlot was originally developed with the support of [Anaconda Inc.](https://anaconda.com), and is now maintained by Anaconda developers and community contributors.

hvPlot is part of the [HoloViz](https://holoviz.org) family of tools. The [holoviz.org](https://holoviz.org) website shows how to use hvPlot together with other libraries to solve complex problems, with detailed tutorials and examples. You can see a variety of projects using hvPlot at [examples.holoviz.org](https://examples.holoviz.org), and you can compare hvPlot to other available tools at [pyviz.org](https://pyviz.org).

If you have any questions or usage issues visit the [hvPlot Discourse site](https://discourse.holoviz.org/c/hvplot). If you are interested in contributing to hvPlot development to help address some of the [open issues](https://github.com/holoviz/hvplot/issues), see our [developer instructions](https://hvplot.holoviz.org/developer_guide/index.html) to set up your development environment.

If you like hvPlot and have built something you want to share, tweet a link or screenshot of your latest creation at @HoloViews, along with any other library you used (@HoloViz_org, @Datashader, @BokehPlots, @Matplotlib, etc.). Thanks!
176 changes: 176 additions & 0 deletions _sources/developer_guide/index.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
(devguide-setup)=

# Developer Guide

```{contents}
:depth: 3
:local: true
```

## Set up

The hvPlot library is a complex project which provides a wide range
of data interfaces and an extensible set of plotting backends, which
means the development and testing process involves a wide set of
libraries.

If you have any problems with the steps here, please contact the developers on [Discord](https://discord.gg/AXRHnJU6sP).

### Preliminaries

#### Git

The hvPlot source code is stored in a [Git](https://git-scm.com) source control repository.
The first step to working on hvPlot is to install Git on to your system.
There are different ways to do this depending on whether, you are using
Windows, OSX, or Linux.

To install Git on any platform, refer to the [Installing Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) section of
the [Pro Git Book](https://git-scm.com/book/en/v2).

#### Conda (optional)

Developing hvPlot requires a wide range of dependencies that can all be installed with
the [conda package manager](https://conda.io). Using `conda` is sometimes the easiest way to install
a dependency (e.g. `graphviz`, Firefox drivers). However, these days most of the dependencies
required to develop hvPlot can be installed with `pip`.

Follow [these instructions](https://conda.io/projects/conda/user-guide/install/index.html) to download conda.

### Cloning the Repository

The source code for the hvPlot project is hosted on GitHub. To clone the
source repository, issue the following command:

```sh
git clone https://github.com/holoviz/hvplot.git
```

This will create a `hvplot` directory at your file system
location. This `hvplot` directory is referred to as the *source
checkout* for the remainder of this document.

(dev-guide-installing-dependencies)=

### Installing Dependencies

hvPlot requires many additional packages for development and
testing.

::::{tab-set}

:::{tab-item} pip

Start by creating a virtual environment with `venv`:

```
python -m venv .venv
```

Activate it:

```
# Linux/MacOs
source .venv/bin/activate
# Windows
.venv\Scripts\activate
```

Install the test dependencies:

``` bash
pip install -e '.[tests, examples-tests, geo, hvdev, hvdev-geo]'
```

:::

:::{tab-item} conda

Create a development conda environment using one of the environment files present
in the `./envs` folder, and activate it:

``` bash
conda env create --file envs/py3.10-tests.yaml
conda activate hvplottests
```

:::

::::


### Setting up pre-commit

hvPlot uses `pre-commit` to automatically apply linting to hvPlot code.
If you intend to contribute to hvPlot we recommend you enable it with:

```sh
pre-commit install
```

This will ensure that every time you make a commit linting will automatically be applied.


## Testing

This chapter describes how to run various tests locally in a
development environment, guidelines for writing tests, and information
regarding the continuous testing infrastructure.

### Running Tests Locally

Before attempting to run hvPlot tests, make sure you have successfully
run through all of the instructions in the {ref}`devguide-setup`
section of the Developer's Guide.

Currently hvPlot uses linting two types of tests: regular unit tests
which are run with `pytest` and notebook example tests run with `pytest` and `nbval`:

Run the unit tests with:

```bash
pytest hvplot
pytest -v hvplot --geo # include the test that require geo dependencies
```

Run the example tests with:

```sh
pytest -n auto --dist loadscope --nbval-lax -p no:python
```

### Writing Tests

In order to help keep hvPlot maintainable, all Pull Requests that touch
code should normally be accompanied by relevant tests. While
exceptions may be made for specific circumstances, the default
assumption should be that a Pull Request without tests may not be
merged.

Python unit tests maintain the basic functionality of the Python
portion of the hvPlot library. A few general guidelines will help you
write Python unit tests:

In order to ensure that hvPlot's unit tests as relocatable and unambiguous
as possible, always prefer absolute imports in test files. When convenient,
import and use the entire module under test:

- **Good**: `import hvplot.pandas`
- **Good**: `from hvplot.plotting import HvPlotTabular`
- **Bad**: `from ..plotting import HvPlotTabular`

### Continuous Integration (CI)

Every push to the `main` branch or any Pull Request branch on GitHub
automatically triggers a full test build on the [Github Action](https://github.com/holoviz/hvplot/actions) continuous
integration service. This is most often useful for running the full hvPlot
test suite continuously, but also triggers automated scripts for publishing
releases when a tagged branch is pushed.

When in doubt about what command to run, you can always inspect the Github
workflow files in the `./github/workflows` folder so see what commands
are running on the CI.

Github Action provides a limited number free build workers to Open Source projects.
Please be considerate of others and group commits into meaningful chunks of
work before pushing to GitHub (i.e. don't push on every commit).
147 changes: 147 additions & 0 deletions _sources/getting_started/explorer.ipynb.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "44877a38-b5b2-4ed4-8a59-7fe3571f03fa",
"metadata": {},
"source": [
"# explorer"
]
},
{
"cell_type": "markdown",
"id": "a8d569ea",
"metadata": {},
"source": [
"The *Explorer* is a [Panel](https://panel.holoviz.org)-based web application with which you can easily explore your data. While using `.hvplot()` is a convenient way to create plots from data, it assumes some *a piori* knowledge about the data itself and its structure, and also knowdlege about `.hvplot()`'s API itself. The *Explorer* is a graphical interface that offers a simple way to select and visualize the kind of plot you want to see your data with, and many options to customize that plot."
]
},
{
"cell_type": "markdown",
"id": "e5f15c29-1e4e-4965-88cd-b2bc844ea1a7",
"metadata": {},
"source": [
":::{note}\n",
"The Explorer has been added to hvPlot in version <code>0.8.0</code> with support for Pandas objects. Support for Xarray objects has been added in version <code>0.9.0</code>. Support for more data types will be added in future versions, in the meantime please report any issue or feature request <a href='https://github.com/holoviz/hvplot/'>on GitHub</a>.\n",
":::"
]
},
{
"cell_type": "markdown",
"id": "ddd88f96-1fe4-4990-90f6-b3ba8de51f23",
"metadata": {},
"source": [
"## Set up"
]
},
{
"cell_type": "markdown",
"id": "433023f4-5ebc-4585-9fc8-1c3f26cfd880",
"metadata": {},
"source": [
"Setting up the explorer is pretty simple in a notebook, you just need to make sure you have loaded the extension, either via a data type import (e.g. `import hvplot.pandas`) or directly (e.g. `hvplot.extension('bokeh')`)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8dad379b-fcbf-4f18-84ec-6c0a07187f4d",
"metadata": {},
"outputs": [],
"source": [
"import hvplot.pandas # noqa"
]
},
{
"cell_type": "markdown",
"id": "4ec628be-25e5-42d7-9ef5-6419c78b5140",
"metadata": {},
"source": [
"## Basic usage"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8f88635d-63a4-414c-a0ea-72605e0c896f",
"metadata": {},
"outputs": [],
"source": [
"from bokeh.sampledata.penguins import data as df\n",
"\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "8d638734-0a96-4d7a-8b9f-9c46403a0b3f",
"metadata": {},
"source": [
"The explorer is available on the `.hvplot` namespace together with the other plotting methods. It accepts most of the parameters accepted by the `.hvplot()` API. For the purpose of producing a nice example on the documentation we will instantiate an explorer with some pre-defined parameters; usually you would instantiate it without so many parameters."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e9c01a9f",
"metadata": {},
"outputs": [],
"source": [
"explorer = df.hvplot.explorer(x='bill_length_mm', y='bill_depth_mm', by=['species'])\n",
"explorer"
]
},
{
"cell_type": "markdown",
"id": "2fc85ce5-3c79-4e2f-8600-38d97122ffe7",
"metadata": {},
"source": [
"Spend some time browser the explorer and the options it offers. On this webpage it's not going to update the preview plot and code interactively, as it needs an active Python kernel, but you will get a good feeling of all you can do with it."
]
},
{
"cell_type": "markdown",
"id": "99aee979",
"metadata": {},
"source": [
"Once you are done exploring the data you may want to record the settings you have configured or save the plot. The easiest option consists of opening the *Code* tab next to *Plot* and copy/pasting the code displayed in a new notebook cell, executing it will generate exactly the same code as seen in the explorer.\n",
"\n",
"The code string is also available on the `code` attribute:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5b59f550-7d99-44a0-bc96-4e7131daafcd",
"metadata": {},
"outputs": [],
"source": [
"eval(explorer.code)"
]
},
{
"cell_type": "markdown",
"id": "2a3f891b-214f-4635-84a5-bd425df7c8db",
"metadata": {},
"source": [
"## Conclusion"
]
},
{
"cell_type": "markdown",
"id": "0dbb3916",
"metadata": {},
"source": [
"For information on using `.hvplot.explorer()` take a look at the [User Guide](../user_guide/Explorer.ipynb)."
]
}
],
"metadata": {
"language_info": {
"name": "python",
"pygments_lexer": "ipython3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading

0 comments on commit 00d6a77

Please sign in to comment.