Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
07f8eaa
Committing WIP.
hcpchris Jul 27, 2023
c5e0e27
Implemented one-shot series-to-chart creation and rendering. Closes #89.
hcpchris Aug 14, 2023
86c4cea
Implemented one-shot Chart creation. Closes #90.
hcpchris Aug 14, 2023
3aad1f9
Bumped version number and updated changelog.
hcpchris Aug 14, 2023
d855821
Merge pull request #91 from highcharts-for-python/enhancement/89-one-…
hcpchris Aug 14, 2023
31a9a12
Implemented utility functions to convert to/from ndarray.
hcpchris Aug 15, 2023
98fa34b
Converted ._get_props_from_array() to classmethod.
hcpchris Aug 15, 2023
deaa12d
Implemented passing unit tests for DataPointCollection class.
hcpchris Aug 27, 2023
2d5587a
Implemented Cartesian data collections with passing unit tests.
hcpchris Aug 27, 2023
6b10861
Implemented data collections across data point types.
hcpchris Aug 28, 2023
1cea31d
Added NumPy array manipulating functions.
hcpchris Sep 5, 2023
e390a78
Implemented .populate_from_array()
hcpchris Sep 5, 2023
8fc6df6
Implemented __getattr__ and __setattr__ for DataPointCollection.
hcpchris Sep 5, 2023
ef75ce3
Unit tests for NumPy utility functions.
hcpchris Sep 5, 2023
1a5a805
Implemented unit tests for DataPointCollection.
hcpchris Sep 6, 2023
f1d0663
Updated handling of different possible property array sizes.
hcpchris Sep 6, 2023
6271ad2
Refactored series to support DataPointCollection.
hcpchris Sep 7, 2023
759da37
Implemented data attribute propagation in series classes.
hcpchris Sep 7, 2023
d493b14
Added unit tests for DataPointCollections __getattr__ and __setattr__.
hcpchris Sep 7, 2023
3d6ce73
Implemented unit tests for series __getattr__ and __setattr__.
hcpchris Sep 8, 2023
fae85d1
Updated documentation.
hcpchris Sep 8, 2023
721c4e0
Added documentation for DataPointCollection class.
hcpchris Sep 8, 2023
c8217a9
Fixed unit test to account for NumPy dtype differences on Linux.
hcpchris Sep 8, 2023
70c533a
Merge pull request #101 from highcharts-for-python/enhancement/92-sup…
hcpchris Sep 8, 2023
4d47579
Implemented careful_validation flag on serialization to JS literals.
hcpchris Sep 14, 2023
52e3795
Optimized some validation steps needed for the .to_json() methods.
hcpchris Sep 14, 2023
32b3d26
Merge pull request #102 from highcharts-for-python/support-disabling-…
hcpchris Sep 14, 2023
1e12dbd
Preliminary implementation of simplified .from_pandas() in series.
hcpchris Sep 17, 2023
295234c
Added unit tests for .from_pandas_in_rows().
hcpchris Sep 18, 2023
02dd30b
Implemented passing unit tests on series .from_pandas() and .from_pan…
hcpchris Sep 18, 2023
27ef8a5
Refactored Chart.from_pandas() and added Chart.from_pandas_in_rows() …
hcpchris Sep 18, 2023
42a2573
Updated changelog.
hcpchris Sep 18, 2023
b9f8e43
Merge pull request #104 from highcharts-for-python/enhancement/103-si…
hcpchris Sep 18, 2023
4c4ade7
Refactored .from_csv() and .from_csv_in_rows() at series level with u…
hcpchris Sep 19, 2023
a82cc75
Refactored .from_csv() and added .from_csv_in_rows() to Chart with pa…
hcpchris Sep 19, 2023
9083198
Merge pull request #106 from highcharts-for-python/enhancement/105-si…
hcpchris Sep 19, 2023
f1d8808
Implemented SeriesBase.convert_to() with unit tests and changelog upd…
hcpchris Sep 19, 2023
19a1219
Initial implementation of .from_python() and related.
hcpchris Sep 20, 2023
5cc9b6a
Added AI dependencies.
hcpchris Sep 20, 2023
b357b1b
Added support for OpenAI Azure endpoints.
hcpchris Sep 20, 2023
e9cb059
Refactored ai.openai_moderate() to only check user-supplied content.
hcpchris Sep 20, 2023
7737bcc
Updated docs and changelog.
hcpchris Sep 20, 2023
fc242cb
Updated error docs.
hcpchris Sep 20, 2023
424c44b
Added passing unit tests for internals and OpenAI.
hcpchris Sep 20, 2023
1133908
Added passing unit tests for CallbackFunction.from_python() using Ope…
hcpchris Sep 20, 2023
8ba86df
Updated requirements.dev.txt.
hcpchris Sep 20, 2023
24637c2
Added some diagnostics for a unit test failing in TravisCI.
hcpchris Sep 20, 2023
75a6194
Adjusted test config for TravisCI.
hcpchris Sep 20, 2023
8b0e41c
Fixed broken test fixture.
hcpchris Sep 20, 2023
082655a
Added diagnostic for Python 3.11 TravisCI failure.
hcpchris Sep 20, 2023
bbbc0b4
Added additional GPT inconsistency catch.
hcpchris Sep 21, 2023
cf1adfc
Disabled genAI tests when in TravisCI.
hcpchris Sep 21, 2023
2bd0f4b
Merge branch 'v.1.4-rc-branch' of github.com:highcharts-for-python/hi…
hcpchris Sep 22, 2023
be278e8
Fixed bug in test fixtures.
hcpchris Sep 22, 2023
6fe1b43
Set of bug fixes in JS literal serialization.
hcpchris Sep 22, 2023
8601853
Fixed RequireJS conflict in Jupyter-rendering JavaScript.
hcpchris Sep 23, 2023
2d307d3
Updated changelog.
hcpchris Sep 23, 2023
24dfffc
Merge pull request #112 from highcharts-for-python/BUG/66-conflict-wi…
hcpchris Sep 23, 2023
2bb595c
Added numpy environments to the CI matrix.
hcpchris Sep 23, 2023
deaa12f
Updated TravisCI and tox configuration.
hcpchris Sep 23, 2023
738c8bd
Updated tox configuration.
hcpchris Sep 23, 2023
2d1bfcf
Added pytest to list of allowed externals.
hcpchris Sep 23, 2023
b1996ec
Added test command-line option to disable pandas-related tests.
hcpchris Sep 23, 2023
1d9bdcc
Updated CI pipeline to run tests w/o numpy.
hcpchris Sep 23, 2023
700cadf
Fixed mistaken TOXENV.
hcpchris Sep 23, 2023
ec1036e
Fixed typo.
hcpchris Sep 23, 2023
9c0f806
Fixed another typo.
hcpchris Sep 23, 2023
dae7145
Added disabling of AI functionality from TravisCI tests.
hcpchris Sep 23, 2023
eef61f4
Fixed mislabeled import in unit tests.
hcpchris Sep 23, 2023
70518bc
Updated .gitignore.
hcpchris Sep 25, 2023
95b524f
Verified consistent behavior with and without NumPy.
hcpchris Sep 25, 2023
aa52f4b
Tweaked tox.ini.
hcpchris Sep 25, 2023
7f222b9
Updated TravisCI and Tox configuration.
hcpchris Sep 25, 2023
0740ec9
Simplified CI build pipeline.
hcpchris Sep 26, 2023
8ffa2bf
Fixed bug and minor clean-up.
hcpchris Sep 30, 2023
cc63f52
Added series_index support to .from_csv() and .load_from_csv().
hcpchris Sep 30, 2023
7249581
Adjusted documentation and fixed missing series_index argument.
hcpchris Oct 3, 2023
4efae7d
Updated documentation.
hcpchris Oct 3, 2023
18e5e1b
Fixed helper methods and unit tests.
hcpchris Oct 9, 2023
b0e9520
Fixed series name handling.
hcpchris Oct 9, 2023
f34b1b4
Documented Pandas tutorial.
hcpchris Oct 9, 2023
0738fd1
Fixed image paths.
hcpchris Oct 9, 2023
5d4f395
Addressed from_csv bugs.
hcpchris Oct 9, 2023
b0742a1
Updated tutorial documentation.
hcpchris Oct 9, 2023
37e1c6b
Fixed faulty unit test assertions.
hcpchris Oct 9, 2023
1964c09
Updated documentation.
hcpchris Oct 9, 2023
99a90d6
Merge branch 'develop' into v.1.4-rc-branch
hcpchris Oct 9, 2023
7e8b7e6
Merge pull request #116 from highcharts-for-python/v.1.4-rc-branch
hcpchris Oct 9, 2023
215e998
Merge branch 'master' into develop
hcpchris Oct 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ venv/
ENV/
env.bak/
venv.bak/
.py310/
.py31*/

# Spyder project settings
.spyderproject
Expand Down
4 changes: 0 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
language: python
job:
include:
#- python: "3.8"
# env: TOXENV=py38
#- python: "3.9"
# env: TOXENV=py39
- python: "3.10"
dist: focal
env: TOXENV=py310
Expand Down
25 changes: 25 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@

Release 1.4.0
=========================================

* **MAJOR** performance gains in the ``.to_js_literal()`` method. Implementation seems to
improve performance by 50 - 90%. (#51)
* *SIGNIFICANT* performance gains in the ``.to_json()`` method. Implementation seems to
improve performance by 30 - 90%.
* **ENHANCEMENT:** Significantly simplified use of the ``.from_pandas()`` method to support:

* creation of multiple series from one DataFrame in one method call
* creation of series without needing to specify a full property map
* support for creating series by DataFrame row, rather than just by DataFrame column

* **ENHANCEMENT:** Added the ``.from_pandas_in_rows()`` method to support creation of
charts and series from simple two-dimensional DataFrames laid out in rows.
* **ENHANCEMENT:** Added one-shot chart creation and rendering from Series objects (#89).
* **ENHANCEMENT:** Added one-shot chart creation using ``series`` and ``data``/``series_type`` keywords. (#90).
* **ENHANCEMENT:** Added ``.convert_to()`` convenience method to Series objects (#107).
* **ENHANCEMENT:** Added ``CallbackFunction.from_python()`` method which converts a Python function
to its JavaScript equivalent using generative AI, with support for both OpenAI and Anthropic (#109).
* **BUGFIX:** Fixed instability issues in Jupyter Notebooks, both when operating as a Notebook (outside of
Jupyter Lab) and when saved to a static HTML file (#66).

--------------------

Release 1.3.7
=========================================

Expand Down
83 changes: 51 additions & 32 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -212,49 +212,53 @@ Hello World, and Basic Usage

.. code-block:: python

# from a primitive array, using keyword arguments
my_chart = Chart(data = [[1, 23], [2, 34], [3, 45]],
series_type = 'line')

# from a primitive array, using the .from_array() method
my_chart = Chart.from_array([[1, 23], [2, 34], [3, 45]],
series_type = 'line')

# from a Numpy ndarray, using keyword arguments
my_chart = Chart(data = numpy_array, series_type = 'line')

# from a Numpy ndarray, using the .from_array() method
my_chart = Chart.from_array(data = numpy_array, series_type = 'line')

# from a JavaScript file
my_chart = highcharts.Chart.from_js_literal('my_js_literal.js')
my_chart = Chart.from_js_literal('my_js_literal.js')

# from a JSON file
my_chart = highcharts.Chart.from_json('my_json.json')
my_chart = Chart.from_json('my_json.json')

# from a Python dict
my_chart = highcharts.Chart.from_dict(my_dict_obj)
my_chart = Chart.from_dict(my_dict_obj)

# from a Pandas dataframe
my_chart = highcharts.Chart.from_pandas(df,
property_map = {
'x': 'transactionDate',
'y': 'invoiceAmt',
'id': 'id'
},
series_type = 'line')
my_chart = Chart.from_pandas(df)

# from a PySpark dataframe
my_chart = highcharts.Chart.from_pyspark(df,
property_map = {
'x': 'transactionDate',
'y': 'invoiceAmt',
'id': 'id'
},
series_type = 'line')
my_chart = Chart.from_pyspark(df,
property_map = {
'x': 'transactionDate',
'y': 'invoiceAmt',
'id': 'id'
},
series_type = 'line')

# from a CSV
my_chart = highcharts.Chart.from_csv('/some_file_location/filename.csv'
column_property_map = {
'x': 0,
'y': 4,
'id': 14
},
series_type = 'line')
my_chart = Chart.from_csv('/some_file_location/filename.csv')

# from a HighchartsOptions configuration object
my_chart = highcharts.Chart.from_options(my_options)

# from a Series configuration
my_chart = highcharts.Chart.from_series(my_series)
my_chart = Chart.from_options(my_options)

# from a Series configuration, using keyword arguments
my_chart = Chart(series = my_series)

# from a Series configuration, using .from_series()
my_chart = Chart.from_series(my_series)

3. Configure Global Settings (optional)
=============================================

Expand Down Expand Up @@ -284,6 +288,7 @@ Hello World, and Basic Usage
from highcharts_core.options.title import Title
from highcharts_core.options.credits import Credits

# EXAMPLE 1.
# Using dicts
my_chart.title = {
'align': 'center'
Expand All @@ -294,7 +299,7 @@ Hello World, and Basic Usage

my_chart.credits = {
'enabled': True,
'href': 'https://www.highcharts.com/',
'href': 'https://www.highchartspython.com/',
'position': {
'align': 'center',
'vertical_align': 'bottom',
Expand All @@ -309,17 +314,21 @@ Hello World, and Basic Usage
'text': 'Chris Modzelewski'
}

# EXAMPLE 2.
# Using direct objects
from highcharts_core.options.title import Title
from highcharts_core.options.credits import Credits

my_title = Title(text = 'The Title for My Chart', floating = True, align = 'center')
my_title = Title(text = 'The Title for My Chart',
floating = True,
align = 'center')
my_chart.options.title = my_title

my_credits = Credits(text = 'Chris Modzelewski', enabled = True, href = 'https://www.highcharts.com')
my_credits = Credits(text = 'Chris Modzelewski',
enabled = True,
href = 'https://www.highchartspython.com')
my_chart.options.credits = my_credits


5. Generate the JavaScript Code for Your Chart
=================================================

Expand All @@ -328,9 +337,11 @@ that will render the chart wherever it is you want it to go:

.. code-block:: python

# EXAMPLE 1.
# as a string
js_as_str = my_chart.to_js_literal()

# EXAMPLE 2.
# to a file (and as a string)
js_as_str = my_chart.to_js_literal(filename = 'my_target_file.js')

Expand Down Expand Up @@ -359,6 +370,14 @@ that will render the chart wherever it is you want it to go:
my_image_bytes = my_chart.download_chart(filename = 'my_target_file.png',
format = 'png')


8. Render Your Chart in a Jupyter Notebook
===============================================

.. code-block:: python

my_chart.display()

--------------

***********************
Expand Down
3 changes: 3 additions & 0 deletions docs/_dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,14 @@
$ pip install highcharts-core[soft]

* `IPython <https://ipython.org/>`__ v. 8.10 or higher
* `Jupyter Notebook <https://jupyter.org/>`__ v.6.4 or higher
* `orjson <https://github.com/ijl/orjson>`__ v.3.7.7 or higher
* `NumPy <https://numpy.org>`__ v.1.19.3 or higher
* `pandas <https://pandas.pydata.org/>`_ v. 1.3 or higher
* `pyspark <https://spark.apache.org/docs/latest/api/python/index.html>`_ v.3.3 or
higher


.. tab:: Developer

.. warning::
Expand Down
Binary file added docs/_static/census-time-series.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 docs/_static/highcharts-chart-anatomy.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 docs/_static/tutorials/census-time-series-01.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 docs/_static/tutorials/census-time-series-02.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 docs/_static/tutorials/census-time-series-03.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 docs/_static/tutorials/census-time-series-04.png
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.
Binary file added docs/_static/tutorials/census-time-series-06.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 docs/_static/tutorials/census-time-series-07.png
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.
Binary file added docs/_static/tutorials/census-time-series-09.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 docs/_static/tutorials/census-time-series-10.png
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.
Binary file added docs/_static/tutorials/raw-data-as-numpy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 38 additions & 2 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -449,51 +449,81 @@ Core Components
- :class:`DataPointAccessibility <highcharts_core.options.series.data.accessibility.DataPointAccessibility>`
* - :mod:`.options.series.data.arcdiagram <highcharts_core.options.series.data.arcdiagram>`
- :class:`ArcDiagramData <highcharts_core.options.series.data.arcdiagram.ArcDiagramData>`
:class:`ArcDiagramDataCollection <highcharts_core.options.series.data.arcidagram.ArcDiagramDataCollection>`
* - :mod:`.options.series.data.bar <highcharts_core.options.series.data.bar>`
- :class:`BarData <highcharts_core.options.series.data.bar.BarData>`
:class:`BarDataCollection <highcharts_core.options.series.data.bar.BarDataCollection>`
:class:`WaterfallData <highcharts_core.options.series.data.bar.WaterfallData>`
:class:`WaterfallDataCollection <highcharts_core.options.series.data.bar.WaterfallDataCollection>`
:class:`WindBarbData <highcharts_core.options.series.data.bar.WindBarbData>`
:class:`WindBarbDataCollection <highcharts_core.options.series.data.bar.WindBarbDataCollection>`
:class:`XRangeData <highcharts_core.options.series.data.bar.XRangeData>`
:class:`XRangeDataCollection <highcharts_core.options.series.data.bar.XRangeDataCollection>`
* - :mod:`.options.series.data.base <highcharts_core.options.series.data.base>`
- :class:`DataBase <highcharts_core.options.series.data.base.DataBase>`
* - :mod:`.options.series.data.boxplot <highcharts_core.options.series.data.boxplot>`
- :class:`BoxPlotData <highcharts_core.options.series.data.boxplot.BoxPlotData>`
:class:`BoxPlotDataCollection <highcharts_core.options.series.data.boxplot.BoxPlotDataCollection>`
* - :mod:`.options.series.data.bullet <highcharts_core.options.series.data.bullet>`
- :class:`BulletData <highcharts_core.options.series.data.bullet.BulletData>`
:class:`BulletDataCollection <highcharts_core.options.series.data.bullet.BulletDataCollection>`
* - :mod:`.options.series.data.cartesian <highcharts_core.options.series.data.cartesian>`
- :class:`CartesianData <highcharts_core.options.series.data.cartesian.CartesianData>`
:class:`CartesianDataCollection <highcharts_core.options.series.data.cartesian.CartesianDataCollection>`
:class:`Cartesian3DData <highcharts_core.options.series.data.cartesian.Cartesian3DData>`
:class:`Cartesian3DDataCollection <highcharts_core.options.series.data.cartesian.Cartesian3DDataCollection>`
:class:`CartesianValueData <highcharts_core.options.series.data.cartesian.CartesianValueData>`
:class:`CartesianValueDataCollection <highcharts_core.options.series.data.cartesian.CartesianValueDataCollection>`
* - :mod:`.options.series.data.collections <highcharts_core.options.series.data.collections>`
- :class:`DataPointCollection <highcharts_core.options.series.data.collections.DataPointCollection>`
* - :mod:`.options.series.data.connections <highcharts_core.options.series.data.connections>`
- :class:`ConnectionData <highcharts_core.options.series.data.connections.ConnectionData>`
:class:`ConnectionDataCollection <highcharts_core.options.series.data.connections.ConnectionDataCollection>`
:class:`WeightedConnectionData <highcharts_core.options.series.data.connections.WeightedConnectionData>`
:class:`WeightedConnectionDataCollection <highcharts_core.options.series.data.connections.WeightedConnectionDataCollection>`
:class:`OutgoingWeightedConnectionData <highcharts_core.options.series.data.connections.OutgoingWeightedConnectionData>`
:class:`OutgoingWeightedConnectionDataCollection <highcharts_core.options.series.data.connections.OutgoingWeightedConnectionDataCollection>`
:class:`ConnectionBase <highcharts_core.options.series.data.connections.ConnectionBase>`
* - :mod:`.options.series.data.pie <highcharts_core.options.series.data.pie>`
- :class:`PieData <highcharts_core.options.series.data.pie.PieData>`
:class:`PieDataCollection <highcharts_core.options.series.data.pie.PieDataCollection>`
:class:`VariablePieData <highcharts_core.options.series.data.pie.VariablePieData>`
:class:`VariablePieDataCollection <highcharts_core.options.series.data.pie.VariablePieDataCollection>`
* - :mod:`.options.series.data.range <highcharts_core.options.series.data.range>`
- :class:`RangeData <highcharts_core.options.series.data.range.RangeData>`
:class:`RangeDataCollection <highcharts_core.options.series.data.range.RangeDataCollection>`
:class:`ConnectedRangeData <highcharts_core.options.series.data.range.ConnectedRangeData>`
:class:`ConnectedRangeDataCollection <highcharts_core.options.series.data.range.ConnectedRangeDataCollection>`
* - :mod:`.options.series.data.single_point <highcharts_core.options.series.data.single_point>`
- :class:`SinglePointData <highcharts_core.options.series.data.single_point.SinglePointData>`
:class:`SinglePointDataCollection <highcharts_core.options.series.data.single_point.SinglePointDataCollection>`
:class:`SingleValueData <highcharts_core.options.series.data.single_point.SingleValueData>`
:class:`SingleValueDataCollection <highcharts_core.options.series.data.single_point.SingleValueDataCollection>`
:class:`SingleXData <highcharts_core.options.series.data.single_point.SingleXData>`
:class:`SingleXDataCollection <highcharts_core.options.series.data.single_point.SingleXDataCollection>`
:class:`LabeledSingleXData <highcharts_core.options.series.data.single_point.LabeledSingleXData>`
:class:`LabeledSingleXDataCollection <highcharts_core.options.series.data.single_point.LabeledSingleXDataCollection>`
:class:`ConnectedSingleXData <highcharts_core.options.series.data.single_point.ConnectedSingleXData>`
:class:`ConnectedSingleXDataCollection <highcharts_core.options.series.data.single_point.ConnectedSingleXDataCollection>`
:class:`SinglePointBase <highcharts_core.options.series.data.single_point.SinglePointBase>`
* - :mod:`.options.series.data.sunburst <highcharts_core.options.series.data.sunburst>`
- :class:`SunburstData <highcharts_core.options.series.data.sunburst.SunburstData>`
:class:`SunburstDataCollection <highcharts_core.options.series.data.sunburst.SunburstDataCollection>`
* - :mod:`.options.series.data.treegraph <highcharts_core.options.series.data.treegraph>`
- :class:`TreegraphData <highcharts_core.options.series.data.treegraph.TreegraphData>`
:class:`TreegraphDataCollection <highcharts_core.options.series.data.treegraph.TreegraphDataCollection>`
* - :mod:`.options.series.data.treemap <highcharts_core.options.series.data.treemap>`
- :class:`TreemapData <highcharts_core.options.series.data.treemap.TreemapData>`
:class:`TreemapDataCollection <highcharts_core.options.series.data.treemap.TreemapDataCollection>`
* - :mod:`.options.series.data.vector <highcharts_core.options.series.data.vector>`
- :class:`VectorData <highcharts_core.options.series.data.vector.VectorData>`
:class:`VectorDataCollection <highcharts_core.options.series.data.vector.VectorDataCollection>`
* - :mod:`.options.series.data.venn <highcharts_core.options.series.data.venn>`
- :class:`VennData <highcharts_core.options.series.data.venn.VennData>`
:class:`VennDataCollection <highcharts_core.options.series.data.venn.VennDataCollection>`
* - :mod:`.options.series.data.wordcloud <highcharts_core.options.series.data.wordcloud>`
- :class:`WordcloudData <highcharts_core.options.series.data.wordcloud.WordcloudData>`
:class:`WordcloudDataCollection <highcharts_core.options.series.data.wordcloud.WordcloudDataCollection>`
* - :mod:`.options.series.dependencywheel <highcharts_core.options.series.dependencywheel>`
- :class:`DependencyWheelSeries <highcharts_core.options.series.dependencywheel.DependencyWheelSeries>`
* - :mod:`.options.series.dumbbell <highcharts_core.options.series.dumbbell>`
Expand Down Expand Up @@ -563,10 +593,10 @@ Core Components
- :class:`PointGrouping <highcharts_core.options.sonification.grouping.SonificationGrouping>`
* - :mod:`.options.sonification.mapping <highcharts_core.options.sonification.mapping>`
- :class:`SonificationMapping <highcharts_core.options.sonification.mapping.SonificationMapping>`
:class:`AudioParameter <highcahrts_core.options.sonification.mapping.AudioParameter>`
:class:`AudioParameter <highcharts_core.options.sonification.mapping.AudioParameter>`
:class:`AudioFilter <highcharts_core.options.sonification.mapping.AudioFilter>`
:class:`PitchParameter <highcharts_core.options.sonification.mapping.PitchParameter>`
:class:`TremoloEffect <highcahrts_core.options.sonification.mapping.TremoloEffect>`
:class:`TremoloEffect <highcharts_core.options.sonification.mapping.TremoloEffect>`
* - :mod:`.options.sonification.track_configurations <highcharts_core.options.sonification.track_configurations>`
- :class:`InstrumentTrackConfiguration <highcharts_core.options.sonification.track_configurations.InstrumentTrackConfiguration>`
:class:`SpeechTrackConfiguration <highcharts_core.options.sonification.track_configurations.SpeechTrackConfiguration>`
Expand Down Expand Up @@ -715,6 +745,12 @@ familiarize yourself with these internals.
:func:`to_camelCase() <highcharts_core.utility_functions.to_camelCase>`
:func:`to_snake_case() <highcharts_core.utility_functions.to_snake_case>`
:func:`parse_csv() <highcharts_core.utility_functions.parse_csv>`
* - :mod:`.ai <highcharts_core.ai>`
- :func:`convert_to_js() <highcharts_core.ai.convert_to_js>`
:func:`openai_moderate() <highcharts_core.ai.openai_moderate>`
:func:`openai_conversion() <highcharts_core.ai.openai_conversion>`
:func:`anthropic_conversion() <highcharts_core.ai.anthropic_conversion>`
:func:`get_source() <highcharts_core.ai.get_source>`

.. target-notes::

Expand Down
39 changes: 39 additions & 0 deletions docs/api/internals.rst
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,42 @@ function:: :func:`parse_csv() <highcharts_core.utility_functions.parse_csv>`
=====================================================================================================

.. autofunction:: parse_csv

--------------

.. module:: highcharts_core.ai

******************************************************************************
module: :mod:`.ai <highcharts_core.ai>`
******************************************************************************

The :mod:`.ai <highcharts_core.ai>` module contains - as one might
expect - functions that enable Highcharts for Python to communicate with
supported generative AI platforms. These functions are used to convert
Python callables to their JavaScript equivalents in the
:meth:`CallbackFunction.from_python() <highcharts_core.utility_classes.javascript_functions.CallbackFunction.from_python>` method.

function:: :func:`convert_to_js() <highcharts_core.ai.convert_to_js>`
=====================================================================================================

.. autofunction:: convert_to_js

function:: :func:`openai_moderate() <highcharts_core.ai.openai_moderate>`
=====================================================================================================

.. autofunction:: openai_moderate

function:: :func:`openai_conversion() <highcharts_core.ai.openai_conversion>`
=====================================================================================================

.. autofunction:: openai_conversion

function:: :func:`anthropic_conversion() <highcharts_core.ai.anthropic_conversion>`
=====================================================================================================

.. autofunction:: anthropic_conversion

function:: :func:`get_source() <highcharts_core.ai.get_source>`
=====================================================================================================

.. autofunction:: get_source
Loading