-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 00d6a77
Showing
305 changed files
with
98,950 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |
Oops, something went wrong.