Skip to content

Commit 3640abc

Browse files
Merge branch 'master' into fast-image
2 parents ff6bd6e + 4065a65 commit 3640abc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+847
-429
lines changed

Diff for: .circleci/config.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
- checkout
1010
- run:
1111
name: Install black
12-
command: "sudo pip install black"
12+
command: "sudo pip install black==19.10b0"
1313
- run:
1414
name: Check formatting with black
1515
command: "black --check ."
@@ -507,6 +507,5 @@ workflows:
507507
- python-3.7-optional
508508
- python-3.7-plot_ly
509509
- python-2-7-orca
510-
- python-3-5-orca
511510
- python-3-7-orca
512511
- build-doc

Diff for: CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
44

55
## [4.10.0] - unreleased
66

7+
### Added
78

8-
## [4.9.1] - unreleased
9+
- Added `plotly.io.full_figure_for_development()` and `plotly.graph_objects.Figure.full_figure_for_development()` ([#2737](https://github.com/plotly/plotly.py/pull/2737))
910

1011

1112
## [4.9.0] - 2020-07-16

Diff for: compatibility.md

-247
This file was deleted.

Diff for: contributing.md

+22-14
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Contributing
22

3-
Thank you for contributing to plotly.py! We are actively looking for
3+
Thank you for your interest in contributing to plotly.py! We are actively looking for
44
diverse contributors, with diverse background and skills.
55

6-
This guide start by a general description of the different ways to contribute
6+
This guide starts with a general description of the different ways to contribute
77
to plotly.py, then we explain some technical aspects of preparing your
88
contribution.
99

@@ -17,26 +17,34 @@ but the general idea is to be nice.
1717
There are many ways to contribute to plotly.py. It helps to understand first
1818
the structure of the code and of the repository.
1919

20-
- the `codegen` (package in `packages/python/plotly/codegen`): all the code
21-
inside `plotly.graph_objects` is generated from the plotly javascript API
22-
(the "schema"). The `codegen` package is where the code generation is done.
23-
Most of the codegen code concerns the generation of docstrings. Traces and
20+
- [the `plotly.graph_objects` module](https://plotly.com/python/graph-objects/) (usually imported as `go`)
21+
is [generated from the Plotly.js schema](https://plotly.com/python/figure-structure/),
22+
so changes to be made in this package need to be
23+
[contributed to Plotly.js](https://github.com/plotly/plotly.js) or to the `codegen` system
24+
in `packages/python/plotly/codegen`. Most of the codegen code concerns the generation of docstrings from
25+
the schema JSON in Plotly.js. Traces and
2426
Layout classes have a direct correspondence with their Javascript
25-
counterpart. Additional methods are defined for the `Figure` object, such as
27+
counterpart. Higher-level methods that work on on figures regardless of the current schema (e.g., `BaseFigure.for_each_trace`) are defined in `packages/python/plotly/plotly/basedatatypes.py`. Additional helper methods are defined there for the `Figure` object, such as
2628
`update_layout`, `add_trace`, etc.
2729

28-
- the `plotly.express` package (usually imported as `px`) is a high-level
29-
functional API. Its code is in `packages/python/plotly/express`. Most
30-
functions of `plotly.express` call the internal `_make_figure` function
30+
- [the `plotly.express` module](https://plotly.com/python/plotly-express/) (usually imported as `px`) is a high-level
31+
functional API that uses `graph_objects` under the hood. Its code is in `packages/python/plotly/express`.
32+
Plotly Express functions
33+
are designed to be highly consistent with each other, and to do *as little computation
34+
in Python as possible*, generally concerning themselves with formatting data and creating
35+
figures out of `plotly.graph_objects` instances. Most
36+
functions of `plotly.express` call the same internal `_make_figure` function
3137
in `_core.py`. More generally, the internals of `px` consist of general
3238
functions taking care of building the figure (defining subplots, traces
3339
or frames, for example), with special cases for different traces handled
3440
within these functions. There is also subsequent code reuse for `px`
3541
docstrings, in particular for documenting parameters.
3642

37-
- the `plotly.figure_factory` module provides Python "recipes" for building
38-
advanced visualizations, such as Gantt charts, annotated heatmaps, etc.
39-
Figure factories are one of the easiest entry points into plotly.py, since
43+
- [the `plotly.figure_factory` module](https://plotly.com/python/figure-factories/) (usually imported as `ff`)
44+
provides Python "recipes" for building
45+
advanced visualizations with involved computation done in Python, such as
46+
Hexbin maps, ternary contour plots, etc.
47+
Figure factories are one of the easiest entry points into contributing to plotly.py, since
4048
they consist of Python-only code, with standalone, well-separated functions.
4149
However, please note that some of the figure factories become less relevant
4250
as we are introducing more features into `plotly.express`. Some issues in the
@@ -132,7 +140,7 @@ conda activate plotly-dev
132140
```bash
133141
(plotly_dev) $ pip install -r packages/python/plotly/requirements.txt
134142
(plotly_dev) $ pip install -r packages/python/plotly/optional-requirements.txt
135-
```
143+
```
136144
### Install requirements - (Windows + Conda)
137145
Because Windows requires Visual Studio libraries to compile some of the optional dependencies, follow these steps to
138146
complete installation and avoid gdal-config errors.

Diff for: doc/apidoc/_static/favicon.ico

-3.88 KB
Binary file not shown.

Diff for: doc/apidoc/_static/logo.png

2.3 KB
Loading

0 commit comments

Comments
 (0)