Skip to content

Commit 42b0e84

Browse files
authored
Merge pull request #10 from highcharts-for-python/develop
PR for v.1.0.0-rc2
2 parents bf52e9d + 0bc64f1 commit 42b0e84

38 files changed

+648
-408
lines changed

.readthedocs.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ build:
1414
# nodejs: "19"
1515
# rust: "1.64"
1616
# golang: "1.19"
17+
apt_packages:
18+
- graphviz
1719

1820
# Build documentation in the docs/ directory with Sphinx
1921
sphinx:

CHANGES.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
Release 1.0.0-rc2
2+
=========================================
3+
4+
* Revised documentation.
5+
6+
--------------
7+
18
Release 1.0.0-rc1
29
=========================================
310

README.rst

Lines changed: 97 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ Highcharts Maps for Python
55
**High-end data and map visualizations for the Python ecosystem**
66

77
**Highcharts Maps for Python** is an extension to the
8-
`Highcharts Core for Python <https://core-docs.highchartspython.com>`__ library, and provides
9-
a Python wrapper for the fantastic
8+
`Highcharts Core for Python <https://core-docs.highchartspython.com>`__ library, providing
9+
a Python wrapper for the
1010
`Highcharts Maps <https://www.highcharts.com/products/maps/>`__
11-
JavaScript data visualization library. **Highcharts Maps for Python** also supports
11+
JavaScript data visualization library.
12+
13+
**Highcharts Maps for Python** also supports
1214

1315
* **Highcharts Core (JS)** - the core Highcharts data visualization library
1416
* The **Highcharts Export Server** - enabling the programmatic creation of static
1517
(downloadable) data visualizations
1618

17-
In order to integrate **Highcharts Maps for Python** into the Python ecosystem, the
18-
library features native integration with:
19+
**Highcharts Maps for Python** is fully integrated with the broader Python ecosystem,
20+
offerin gnative integrations with:
1921

2022
* **Jupyter Labs/Notebook**. You can now produce high-end and interactive plots and
2123
renders using the full suite of Highcharts visualization capabilities.
@@ -32,6 +34,40 @@ library features native integration with:
3234

3335
--------------------
3436

37+
***************************************
38+
The Highcharts for Python Toolkit
39+
***************************************
40+
41+
The **Highcharts Maps for Python** library is part of the broader
42+
`Highcharts for Python Toolkit <https://www.highcharts.com/integrations/python>`__,
43+
which together provides comprehensive support across the entire
44+
`Highcharts <https://www.highcharts.com>`__ suite of data visualization libraries:
45+
46+
.. list-table::
47+
:widths: 30 30 40
48+
:header-rows: 1
49+
50+
* - Python Library
51+
- JavaScript Library
52+
- Description
53+
* - `Highcharts Core for Python <https://core-docs.highchartspython.com/>`__
54+
- `Highcharts Core (JS) <https://www.highcharts.com/products/highcharts/>`__
55+
- (this library) the core Highcharts data visualization library
56+
* - **Highcharts Stock for Python**
57+
- `Highcharts Stock (JS) <https://www.highcharts.com/products/stock/>`__
58+
- the time series visualization extension to Highcharts Core
59+
* - `Highcharts Maps for Python <https://maps-docs.highchartspython.com/>`__
60+
- `Highcharts Maps (JS) <https://www.highcharts.com/products/maps/>`__
61+
- the map visualization extension to Highcharts Core
62+
* - `Highcharts Gantt for Python <https://gantt-docs.highchartspython.com/>`__
63+
- `Highcharts Gantt (JS) <https://www.highcharts.com/products/gantt/>`__
64+
- the Gantt charting extension to Highcharts Core
65+
* - (all libraries in the Python toolkit)
66+
- The **Highcharts Export Server**
67+
- enabling the programmatic creation of static (downloadable) data visualizations
68+
69+
--------------------
70+
3571
***************
3672
Installation
3773
***************
@@ -48,50 +84,50 @@ To install **Highcharts Maps for Python**, just execute:
4884
Why Highcharts for Python?
4985
*********************************
5086

51-
Odds are you are aware of
52-
`Highcharts Maps <https://www.highcharts.com/products/maps/>`__. If not, why not?
53-
It is the world's most popular, most powerful, category-defining JavaScript data
54-
visualization library and - in particular - for map/GIS data.
87+
`Highcharts <https://www.highcharts.com>`__ is the world's most popular, most powerful,
88+
category-defining JavaScript data visualization library. If you are building a web or
89+
mobile app/dashboard that will be visualizing data in some fashion, you should
90+
absolutely take a look at the Highcharts suite of solutions. Take a peak at some
91+
fantastic `demo visualizations <https://www.highcharts.com/demo/maps>`__.
5592

56-
If you are building a web or mobile app/dashboard that will be
57-
visualizing data in a geographic context, you should absolutely take a
58-
look at the Highcharts suite of solutions. Just take a look at some of their fantastic
59-
`Highcharts Maps demo visualizations <https://www.highcharts.com/demo/maps>`__.
93+
As a suite of JavaScript libraries, `Highcharts <https://www.highcharts.com>`__ is
94+
written in JavaScript, and is used to configure and render data visualizations in a
95+
web browser (or other JavaScript-executing) environment. As a set of JavaScript
96+
libraries, its audience is JavaScript developers. But what about the broader ecosystem of
97+
Python developers and data scientists?
6098

61-
Highcharts Maps is a JavaScript library, and is an extension of the
62-
`Highcharts JS <https://www.highcharts.com/products/highcharts/>`__ JavaScript library. It
63-
is written in JavaScript, and is specifically used to configure and render data
64-
visualizations in a web browser (or other JavaScript-executing, like mobile app)
65-
environment. As a JavaScript library, its audience is JavaScript developers. But what
66-
about the broader ecosystem of Python developers and data scientists?
67-
68-
Python is increasingly used as the technology of choice for data science and for
69-
the backends of leading enterprise-grade applications. In other words, Python is
70-
often the backend that delivers data and content to the front-end...which then renders it
71-
using JavaScript and HTML.
99+
Given Python's increasing adoption as the technology of choice for data science and for
100+
the backends of leading enterprise-grade applications, Python is often the backend that
101+
delivers data and content to the front-end...which then renders it using JavaScript and
102+
HTML.
72103

73104
There are numerous Python frameworks (Django, Flask, Tornado, etc.) with specific
74105
capabilities to simplify integration with Javascript frontend frameworks (React, Angular,
75106
VueJS, etc.). But facilitating that with Highcharts has historically been very difficult.
76-
Part of this difficulty is because the Highcharts JavaScript suite - while supporting JSON
77-
as a serialization/deserialization format - leverages
78-
JavaScript object literals to expose the
107+
Part of this difficulty is because the Highcharts JavaScript suite - while supporting JSON as a
108+
serialization/deserialization format - leverages JavaScript object literals to expose the
79109
full power and interactivity of its data visualizations. And while it's easy to serialize
80110
JSON from Python, serializing and deserializing to/from JavaScript object literal notation
81-
is much more complicated. This means that Python developers looking to integrate with
82-
Highcharts typically had to either invest a lot of effort, or were only able to leverage
83-
a small portion of Highcharts' rich functionality.
111+
is much more complicated.
112+
113+
This means that Python developers looking to integrate with Highcharts typically had to
114+
either invest a lot of effort, or were only able to leverage a small portion of Highcharts'
115+
rich functionality.
116+
117+
So we wrote the **Highcharts for Python Toolkit** to bridge that gap.
84118

85-
So I wrote the **Highcharts for Python** toolkit to bridge that gap, and
86-
**Highcharts Maps for Python** to provide full support for the
87-
`Highcharts Maps <https://www.highcharts.com/products/maps/>`__ library extension.
119+
**Highcharts for Python** provides Python object representation for *all* of the
120+
JavaScript objects defined in the
121+
`Highcharts (JavaScript) API <https://api.highcharts.com/highcharts/>`__. It provides automatic
122+
data validation, and exposes simple and standardized methods for serializing those Python
123+
objects back-and-forth to JavaScript object literal notation.
88124

89-
**Highcharts Maps for Python** provides support for
125+
**Highcharts Maps for Python** in particular provides support for
90126
the `Highcharts Maps <https://www.highcharts.com/products/maps/>`__ extension, which is
91-
designed to provide extensive time series data visualization capabilities optimized for
127+
designed to provide extensive map and data visualization capabilities optimized for
92128
GIS (Geographic Information System) data visualization, with
93129
robust interactivity. For ease of use, it also includes the full functionality of
94-
**Highcharts Core for Python** as well.
130+
`Highcharts Core for Python <https://core-docs.highchartspython.com>`__ as well.
95131

96132
Key Highcharts Maps for Python Features
97133
==============================================
@@ -101,12 +137,13 @@ Key Highcharts Maps for Python Features
101137
* **Comprehensive Highcharts support**. Every single Highcharts chart type and every
102138
single configuration option is supported in **Highcharts Maps for Python**. This
103139
includes the over 70 data visualization types supported by
104-
`Highcharts Core <https://www.highcharts.com/product/highcharts/>`__ and the
105-
four core map visualizations available in
106-
`Highcharts Maps <https://www.highcharts.com/product/maps/>`__, with full support for
107-
the rich JavaScript formatter (JS callback functions)
108-
capabilities that are often needed to get the most out of Highcharts' visualization and
109-
interaction capabilities.
140+
`Highcharts Core <https://www.highcharts.com/product/highcharts/>`__ and the four
141+
core map visualizations available in
142+
`Highcharts Maps <https://www.highcharts.com/product/maps/>`__.
143+
144+
Every Highcharts for Python library provides full support for the rich JavaScript
145+
formatter (JS callback functions) capabilities that are often needed to get the most
146+
out of Highcharts' visualization and interaction capabilities.
110147

111148
.. note::
112149

@@ -119,8 +156,8 @@ Key Highcharts Maps for Python Features
119156
capabilities.
120157
* **Easy Chart Download**. With one method call, produce high-end static
121158
visualizations that can be downloaded or shared as files with your audience. Produce
122-
static charts using the Highsoft-provided **Highcharts Export Server**, or using your own private export
123-
server as needed.
159+
static charts using the Highsoft-provided **Highcharts Export Server**, or using your
160+
own private export server as needed.
124161
* **Asynchronous Map Data Retrieval**. To minimize the amount of data transferred over
125162
the wire, **Highcharts Maps for Python** has built-in support for the configuration of
126163
asynchronous client-side retrieval of your map data.
@@ -130,9 +167,9 @@ Key Highcharts Maps for Python Features
130167
still allowing you to work with GeoJSON data if you choose to.
131168
* **Integration with GeoPandas, Pandas, and PySpark**. With two lines of code, produce a
132169
high-end interactive visualization of your GeoPandas, Pandas, or PySpark dataframes.
133-
* **Consistent Code Style**. For Python developers, switching between Pythonic code
170+
* **Consistent code style**. For Python developers, switching between Pythonic code
134171
conventions and JavaScript code conventions can be...annoying. So
135-
**Highcharts for Python** applies Pythonic syntax with automatic conversion between
172+
the Highcharts for Python toolkit applies Pythonic syntax with automatic conversion between
136173
Pythonic ``snake_case`` notation and JavaScript ``camelCase`` styles.
137174

138175
|
@@ -349,17 +386,19 @@ that will render the chart wherever it is you want it to go:
349386
Getting Help/Support
350387
***********************
351388

352-
The **Highcharts for Python** toolkit comes with all of the great support that you are used to from working with the
353-
Highcharts JavaScript libraries. When you license the toolkit, you are welcome to use any of the following tools to get
354-
help using the toolkit. In particular, you can:
389+
The **Highcharts for Python Toolkit** comes with all of the great support that
390+
you are used to from working with the Highcharts JavaScript libraries. When you
391+
license the toolkit, you are welcome to use any of the following channels to get
392+
help using the toolkit:
355393

356394
* Use the `Highcharts Forums <https://highcharts.com/forum>`__
357-
* Use `Stack Overflow <https://stackoverflow.com/questions/tagged/highcharts-for-python>`__ with the
358-
``highcharts-for-python`` tag
359-
* `Report bugs or request features <https://github.com/highcharts-for-python/highcharts-maps/issues>`__ in the
360-
library's Github repository
395+
* Use `Stack Overflow <https://stackoverflow.com/questions/tagged/highcharts-for-python>`__
396+
with the ``highcharts-for-python`` tag
397+
* `Report bugs or request features <https://github.com/highcharts-for-python/highcharts-maps/issues>`__
398+
in the library's Github repository
361399
* `File a support ticket <https://www.highchartspython.com/get-help>`__ with us
362-
* `Schedule a live chat or video call <https://www.highchartspython.com/get-help>`__ with us
400+
* `Schedule a live chat or video call <https://www.highchartspython.com/get-help>`__
401+
with us
363402

364403
**FOR MORE INFORMATION:** https://www.highchartspython.com/get-help
365404

@@ -370,16 +409,17 @@ Contributing
370409
*********************
371410

372411
We welcome contributions and pull requests! For more information, please see the
373-
`Contributor Guide <https://maps-docs.highchartspython.com/en/latest/contributing.html>`__. And thanks to all those who've already contributed!
412+
`Contributor Guide <https://maps-docs.highchartspython.com/en/latest/contributing.html>`__.
413+
And thanks to all those who've already contributed!
374414

375415
-------------------
376416

377417
*********************
378418
Testing
379419
*********************
380420

381-
We use `TravisCI <https://travisci.org>`_ for our build automation and
382-
`ReadTheDocs <https://readthedocs.org>`_ for our documentation.
421+
We use `TravisCI <https://travisci.com>`_ for our build automation and
422+
`ReadTheDocs <https://readthedocs.com>`_ for our documentation.
383423

384424
Detailed information about our test suite and how to run tests locally can be
385425
found in our Testing Reference.

docs/_dependencies.rst

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
**Highcharts Maps for Python** has several types of dependencies:
44

5-
* "hard" dependencies, without which you will not be able to use the library at all,
6-
* "soft" dependencies, which will not produce errors but which may limit the value you
5+
* *hard* dependencies, without which you will not be able to use the library at all,
6+
* *soft* dependencies, which will not produce errors but which may limit the value you
77
get from the library,
8-
* "developer" dependencies that contributors will need in their local environment, and
9-
* "documentation" dependencies that are necessary if you wish to generate (this)
8+
* *developer* dependencies that contributors will need in their local environment, and
9+
* *documentation* dependencies that are necessary if you wish to generate (this)
1010
documentation
1111

1212
.. tabs::
@@ -16,13 +16,14 @@
1616
.. warning::
1717

1818
If these hard dependencies are not available in the environment where
19-
**Highcharts Maps for Python** is running, then the library will simply not work. Besides
20-
Highcharts JS itself, all of the other hard dependencies are automatically installed
21-
when installing **Highcharts Maps for Python** using:
19+
**Highcharts Maps for Python** is running, then the library will simply not work.
20+
Besides `Highcharts Maps <https://www.highcharts.com/products/maps>`__ itself, all
21+
of the other hard dependencies are automatically installed when installing
22+
**Highcharts Stock for Python** using:
2223

2324
.. code-block:: bash
2425
25-
$ pip install highcharts-core
26+
$ pip install highcharts-maps
2627
2728
* `Highcharts Maps <https://www.highcharts.com/products/maps/>`__ v.10.2 or higher
2829

@@ -56,7 +57,7 @@
5657

5758
.. code-block:: bash
5859
59-
$ pip install highcharts-core[soft]
60+
$ pip install highcharts-maps[soft]
6061
6162
* `geopandas <https://geopandas.org/en/stable/>`__ v.0.11 or higher
6263
* `IPython <https://ipython.org/>`__ v. 8.10 or higher
@@ -71,7 +72,7 @@
7172
.. warning::
7273

7374
You will not be able to run unit tests without the Pytest test framework and a
74-
number of necessary extensions. To install the developer (and documentation)
75+
number of necessary extensions. To install the developer (and soft, and documentation)
7576
dependencies, execute:
7677

7778
.. code-block:: bash

docs/_support.rst

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
The **Highcharts for Python** toolkit comes with all of the great support that you are used to from working with the
2-
Highcharts JavaScript libraries. When you license the toolkit, you are welcome to use any of the following tools to get
3-
help using the toolkit. In particular, you can:
1+
The **Highcharts for Python Toolkit** comes with all of the great support that
2+
you are used to from working with the Highcharts JavaScript libraries. When you
3+
license the toolkit, you are welcome to use any of the following channels to get
4+
help using the toolkit:
45

56
* Use the `Highcharts Forums <https://highcharts.com/forum>`__
6-
* Use `Stack Overflow <https://stackoverflow.com/questions/tagged/highcharts-for-python>`__ with the
7-
``highcharts-for-python`` tag
8-
* `Report bugs or request features <https://github.com/highcharts-for-python/highcharts-maps/issues>`__ in the
9-
library's Github repository
7+
* Use `Stack Overflow <https://stackoverflow.com/questions/tagged/highcharts-for-python>`__
8+
with the ``highcharts-for-python`` tag
9+
* `Report bugs or request features <https://github.com/highcharts-for-python/highcharts-maps/issues>`__
10+
in the library's Github repository
1011
* `File a support ticket <https://www.highchartspython.com/get-help>`__ with us
11-
* `Schedule a live chat or video call <https://www.highchartspython.com/get-help>`__ with us
12+
* `Schedule a live chat or video call <https://www.highchartspython.com/get-help>`__
13+
with us
1214

1315
**FOR MORE INFORMATION:** `https://www.highchartspython.com/get-help <https://www.highchartspython.com/get-help>`__

0 commit comments

Comments
 (0)