# Lets-Plot
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[](https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/LICENSE)
[](https://github.com/JetBrains/lets-plot/releases/latest)
**Lets-Plot** is a multiplatform plotting library built on the principles of the Grammar of Graphics.
The library' design is heavily influenced by Leland Wilkinson work [The Grammar of Graphics](https://www.goodreads.com/book/show/2549408.The_Grammar_of_Graphics) describing the deep features that underlie all statistical graphics.
> This grammar [...] is made up of a set of independent components that can be composed in many different ways. This makes [it] very powerful because you are not limited to a set of pre-specified graphics, but you can create new graphics that are precisely tailored for your problem.
> - Hadley Wickham, "[ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org/index.html)"
## Grammar of Graphics for Python [](https://pypi.org/project/lets-plot)
A bridge between R (ggplot2) and Python data visualization. \
To learn more see the documentation site at **[lets-plot.org](https://lets-plot.org)**.
## Grammar of Graphics for Kotlin [](https://github.com/JetBrains/lets-plot-kotlin/releases/latest)
### Notebooks
Create plots in [Kotlin Notebook](https://plugins.jetbrains.com/plugin/16340-kotlin-notebook),
[Datalore](https://datalore.jetbrains.com/report/static/HZqq77cegYd.E7get_WnChZ/aTA9lQnPkRwdCzT6uy95GZ), [Jupyter with Kotlin Kernel](https://github.com/Kotlin/kotlin-jupyter#readme) \
or any other notebook that supports `Kotlin Kernel`. \
To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
### Compose Multiplatform
Embed Lets-Plot charts in [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) applications. \
To learn more see the **[Lets-Plot Skia Frontend](https://github.com/JetBrains/lets-plot-skia)** project at GitHub.
### JVM and Kotlin/JS
Embed Lets-Plot charts in JVM (Swing, JavaFX) and Kotlin/JS applications. <br>
To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
## "Lets-Plot in SciView" plugin
[](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)
[](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)
*Scientific mode* in PyCharm and in IntelliJ IDEA provides support for interactive scientific computing and data visualization.
[*Lets-Plot in SciView*](https://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview) plugin adds
support for interactive plotting to IntelliJ-based IDEs with the *Scientific mode* enabled.
>
> **Note:** The *Scientific mode* is NOT available in communinty editions of JetBrains IDEs.
>
Also read:
- [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
- [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
## What is new in 4.7.0
- #### Time Series Plotting
- Support for Python `time` and `date` objects.
- Support for timezone-aware `datetime` objects and Pandas/Polars `Series`.
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/time_date_datetime.png" alt="f-25b/images/time_date_datetime.png" width="400" height="237">
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/time_date_datetime.ipynb).
- #### Native support for PNG and PDF exports
Exporting to PNG and PDF formats now uses the `ImageMagick` library bundled with Lets-Plot Python wheels and available out-of-the-box. <br>
This replaces the previous dependency on the `CairoSVG` library and comes with improved support for LaTeX labels rasterization. <br>
- #### `geom_sina()` Geometry
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_sina.png" alt="f-25b/images/geom_sina.png" width="400" height="276">
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/geom_sina.ipynb).
- #### `geom_text_repel()` and `geom_label_repel()` Geometries
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_repel.png" alt="f-25b/images/geom_repel.png" width="400" height="232">
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/ggrepel.ipynb).
- #### `waterfall_plot()` Chart
- Annotations support via `relative_labels` and `absolute_labels` parameters. <br>
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_annotations.png" alt="f-25b/images/waterfall_plot_annotations.png" width="400" height="253">
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_annotations.ipynb).
- Support for combining waterfall bars with other geometry layers. <br>
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_layers.png" alt="f-25b/images/waterfall_plot_layers.png" width="400" height="227">
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_layers.ipynb).
- #### Continuous Data on Discrete Scales
Continuous data when used with discrete positional scales is no longer transformed to discrete data. <br>
Instead, it remains continuous, allowing for precise positioning of continuous elements relative to discrete ones. <br>
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/combo_discrete_continuous.png" alt="f-25b/images/combo_discrete_continuous.png" width="400" height="151">
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/numeric_data_on_discrete_scale.ipynb).
> [!TIP]
> New way of handling continuous data on discrete scales could potentially break existing plots.
> If you want to restore a broken plot to its original form, you can use the [`as_discrete()`](https://lets-plot.org/python/pages/api/lets_plot.mapping.as_discrete.html) function to annotate continuous data as discrete.
- #### Plot Layout
The default plot layout has been improved to better accommodate axis labels and titles. <br>
Also, new `theme()` options `axis_text_spacing`, `axis_text_spacing_x`, and `axis_text_spacing_y` control spacing between axis ticks and labels. <br>
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/plot_layout_diagram.png" alt="f-25b/images/plot_layout_diagram.png" width="400" height="175">
See the [plot layout diagram](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/plot_layout_scheme.ipynb) showing various layout options and their effects on plot appearance.
- #### And More
See [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md) for a full list of changes.
## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/magnifier_inset.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/magnifier_inset.png" alt="f-25a/images/magnifier_inset.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/ggbunch_indonesia.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/ggbunch_indonesia.png" alt="f-25a/images/ggbunch_indonesia.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/theme_legend_scheme.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/theme_legend_scheme.png" alt="f-24g/images/theme_legend_scheme.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/interact_pan_zoom.ipynb">
<img src="https://github.com/JetBrains/lets-plot-docs/blob/4b9571b8af759574fa2db313a102069d8f8c7238/source/_static/images/changelog/4.5.0/interact_pan_zoom.png?raw=true" alt="images/changelog/4.5.0/interact_pan_zoom.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/lp_verse.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/lp_verse.png" alt="f-24g/images/lp_verse.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/us_unemployment.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24e/images/us_unemployment.png" alt="f-24e/images/us_unemployment.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/venn_diagram.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_venn_diagram.png" alt="f-24b/images/gal_venn_diagram.png" width="128" height="128">
</a>
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_spoke.png" alt="f-24b/images/gal_spoke.png" width="128" height="128">
</a>
<a href="https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_indonesia_volcanoes_on_map.png" alt="f-24b/images/gal_indonesia_volcanoes_on_map.png" width="128" height="128">
</a>
<a href="https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map">
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_japanese_volcanoes_on_map.png" alt="f-24b/images/gal_japanese_volcanoes_on_map.png" width="128" height="128">
</a>
## Change Log
[CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md)
## Code of Conduct
This project and the corresponding community are governed by the
[JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct).
Please make sure you read it.
## License
Code and documentation released under the [MIT license](https://github.com/JetBrains/lets-plot/blob/master/LICENSE).
Copyright © 2019-2025, JetBrains s.r.o.
Raw data
{
"_id": null,
"home_page": "https://lets-plot.org",
"name": "lets-plot",
"maintainer": "JetBrains",
"docs_url": null,
"requires_python": null,
"maintainer_email": "lets-plot@jetbrains.com",
"keywords": "ggplot, ggplot2, geospatial, geopandas, geocoding",
"author": "JetBrains",
"author_email": "lets-plot@jetbrains.com",
"download_url": null,
"platform": null,
"description": "# Lets-Plot\n\n[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)\n[](https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/LICENSE)\n[](https://github.com/JetBrains/lets-plot/releases/latest)\n\n\n**Lets-Plot** is a multiplatform plotting library built on the principles of the Grammar of Graphics. \n\nThe library' design is heavily influenced by Leland Wilkinson work [The Grammar of Graphics](https://www.goodreads.com/book/show/2549408.The_Grammar_of_Graphics) describing the deep features that underlie all statistical graphics.\n\n> This grammar [...] is made up of a set of independent components that can be composed in many different ways. This makes [it] very powerful because you are not limited to a set of pre-specified graphics, but you can create new graphics that are precisely tailored for your problem.\n> - Hadley Wickham, \"[ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org/index.html)\"\n\n\n## Grammar of Graphics for Python [](https://pypi.org/project/lets-plot)\n\nA bridge between R (ggplot2) and Python data visualization. \\\nTo learn more see the documentation site at **[lets-plot.org](https://lets-plot.org)**. \n\n\n## Grammar of Graphics for Kotlin [](https://github.com/JetBrains/lets-plot-kotlin/releases/latest)\n\n### Notebooks\nCreate plots in [Kotlin Notebook](https://plugins.jetbrains.com/plugin/16340-kotlin-notebook),\n[Datalore](https://datalore.jetbrains.com/report/static/HZqq77cegYd.E7get_WnChZ/aTA9lQnPkRwdCzT6uy95GZ), [Jupyter with Kotlin Kernel](https://github.com/Kotlin/kotlin-jupyter#readme) \\\nor any other notebook that supports `Kotlin Kernel`. \\\nTo learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.\n\n### Compose Multiplatform\nEmbed Lets-Plot charts in [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) applications. \\\nTo learn more see the **[Lets-Plot Skia Frontend](https://github.com/JetBrains/lets-plot-skia)** project at GitHub.\n\n### JVM and Kotlin/JS\nEmbed Lets-Plot charts in JVM (Swing, JavaFX) and Kotlin/JS applications. <br>\nTo learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.\n\n## \"Lets-Plot in SciView\" plugin\n\n[](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)\n[](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)\n\n*Scientific mode* in PyCharm and in IntelliJ IDEA provides support for interactive scientific computing and data visualization.\n\n[*Lets-Plot in SciView*](https://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview) plugin adds \nsupport for interactive plotting to IntelliJ-based IDEs with the *Scientific mode* enabled.\n \n>\n> **Note:** The *Scientific mode* is NOT available in communinty editions of JetBrains IDEs. \n>\n\nAlso read:\n\n- [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)\n- [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)\n\n## What is new in 4.7.0\n\n- #### Time Series Plotting\n - Support for Python `time` and `date` objects.\n - Support for timezone-aware `datetime` objects and Pandas/Polars `Series`.\n\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/time_date_datetime.png\" alt=\"f-25b/images/time_date_datetime.png\" width=\"400\" height=\"237\">\n \n See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/time_date_datetime.ipynb).\n\n- #### Native support for PNG and PDF exports\n Exporting to PNG and PDF formats now uses the `ImageMagick` library bundled with Lets-Plot Python wheels and available out-of-the-box. <br>\n This replaces the previous dependency on the `CairoSVG` library and comes with improved support for LaTeX labels rasterization. <br>\n\n- #### `geom_sina()` Geometry\n\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_sina.png\" alt=\"f-25b/images/geom_sina.png\" width=\"400\" height=\"276\">\n\n See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/geom_sina.ipynb).\n\n- #### `geom_text_repel()` and `geom_label_repel()` Geometries\n\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_repel.png\" alt=\"f-25b/images/geom_repel.png\" width=\"400\" height=\"232\">\n\n See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/ggrepel.ipynb).\n\n- #### `waterfall_plot()` Chart\n\n - Annotations support via `relative_labels` and `absolute_labels` parameters. <br>\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_annotations.png\" alt=\"f-25b/images/waterfall_plot_annotations.png\" width=\"400\" height=\"253\">\n\n See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_annotations.ipynb).\n \n - Support for combining waterfall bars with other geometry layers. <br>\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_layers.png\" alt=\"f-25b/images/waterfall_plot_layers.png\" width=\"400\" height=\"227\">\n\n See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_layers.ipynb).\n\n- #### Continuous Data on Discrete Scales\n\n Continuous data when used with discrete positional scales is no longer transformed to discrete data. <br>\n Instead, it remains continuous, allowing for precise positioning of continuous elements relative to discrete ones. <br>\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/combo_discrete_continuous.png\" alt=\"f-25b/images/combo_discrete_continuous.png\" width=\"400\" height=\"151\">\n\n See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/numeric_data_on_discrete_scale.ipynb).\n\n> [!TIP]\n> New way of handling continuous data on discrete scales could potentially break existing plots.\n> If you want to restore a broken plot to its original form, you can use the [`as_discrete()`](https://lets-plot.org/python/pages/api/lets_plot.mapping.as_discrete.html) function to annotate continuous data as discrete.\n\n\n- #### Plot Layout\n The default plot layout has been improved to better accommodate axis labels and titles. <br>\n Also, new `theme()` options `axis_text_spacing`, `axis_text_spacing_x`, and `axis_text_spacing_y` control spacing between axis ticks and labels. <br>\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/plot_layout_diagram.png\" alt=\"f-25b/images/plot_layout_diagram.png\" width=\"400\" height=\"175\">\n\n See the [plot layout diagram](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/plot_layout_scheme.ipynb) showing various layout options and their effects on plot appearance.\n\n\n- #### And More\n\n See [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md) for a full list of changes.\n\n\n## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)\n\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/magnifier_inset.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/magnifier_inset.png\" alt=\"f-25a/images/magnifier_inset.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/ggbunch_indonesia.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/ggbunch_indonesia.png\" alt=\"f-25a/images/ggbunch_indonesia.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/theme_legend_scheme.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/theme_legend_scheme.png\" alt=\"f-24g/images/theme_legend_scheme.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/interact_pan_zoom.ipynb\">\n <img src=\"https://github.com/JetBrains/lets-plot-docs/blob/4b9571b8af759574fa2db313a102069d8f8c7238/source/_static/images/changelog/4.5.0/interact_pan_zoom.png?raw=true\" alt=\"images/changelog/4.5.0/interact_pan_zoom.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/lp_verse.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/lp_verse.png\" alt=\"f-24g/images/lp_verse.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/us_unemployment.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24e/images/us_unemployment.png\" alt=\"f-24e/images/us_unemployment.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/venn_diagram.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_venn_diagram.png\" alt=\"f-24b/images/gal_venn_diagram.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_spoke.png\" alt=\"f-24b/images/gal_spoke.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_indonesia_volcanoes_on_map.png\" alt=\"f-24b/images/gal_indonesia_volcanoes_on_map.png\" width=\"128\" height=\"128\">\n </a>\n <a href=\"https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map\">\n <img src=\"https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_japanese_volcanoes_on_map.png\" alt=\"f-24b/images/gal_japanese_volcanoes_on_map.png\" width=\"128\" height=\"128\">\n </a>\n\n\n## Change Log\n\n[CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md)\n\n\n## Code of Conduct\n\nThis project and the corresponding community are governed by the\n[JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct).\nPlease make sure you read it.\n\n\n## License\n\nCode and documentation released under the [MIT license](https://github.com/JetBrains/lets-plot/blob/master/LICENSE).\nCopyright \u00a9 2019-2025, JetBrains s.r.o.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An open source library for statistical plotting",
"version": "4.7.0",
"project_urls": {
"Documentation": "https://lets-plot.org",
"Github": "https://github.com/JetBrains/lets-plot",
"Homepage": "https://lets-plot.org"
},
"split_keywords": [
"ggplot",
" ggplot2",
" geospatial",
" geopandas",
" geocoding"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d899b61f507dc0d8c66e8875fe6326cd28b3a5a94fd708518e6b85dc5fe70f0c",
"md5": "8df9820c9bcff175fa1bf5577ee05f90",
"sha256": "61a8a4714768f4b4fbbeff80c04b835acb4e5e6512bd21cd1d2d772bc62879b6"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp310-cp310-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "8df9820c9bcff175fa1bf5577ee05f90",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 6287301,
"upload_time": "2025-07-17T16:18:29",
"upload_time_iso_8601": "2025-07-17T16:18:29.388411Z",
"url": "https://files.pythonhosted.org/packages/d8/99/b61f507dc0d8c66e8875fe6326cd28b3a5a94fd708518e6b85dc5fe70f0c/lets_plot-4.7.0-cp310-cp310-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d1fd2faec728a62cc4b225f04ab1cfef3c26963c59fe4033ce80d2952cb261e3",
"md5": "4b2dd250c560bada663d3e9d05e05a31",
"sha256": "3e17bc8895a88dc8f0d4a22d4040729847b576e94a3bcbce37059c0a3b3f6ead"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4b2dd250c560bada663d3e9d05e05a31",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 5912152,
"upload_time": "2025-07-17T16:18:52",
"upload_time_iso_8601": "2025-07-17T16:18:52.412395Z",
"url": "https://files.pythonhosted.org/packages/d1/fd/2faec728a62cc4b225f04ab1cfef3c26963c59fe4033ce80d2952cb261e3/lets_plot-4.7.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "060428cc9d4d0d494311659a5d475954363f8f388d92b015ab33350ef7afd727",
"md5": "bd1f7f46e24b85cc7ed05a12ba08960a",
"sha256": "39d24dc2e6946aa8ff1c0d3fcce704a6b626db78508fc61f05fbe225a78ffa05"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "bd1f7f46e24b85cc7ed05a12ba08960a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 6518641,
"upload_time": "2025-07-17T16:18:54",
"upload_time_iso_8601": "2025-07-17T16:18:54.388627Z",
"url": "https://files.pythonhosted.org/packages/06/04/28cc9d4d0d494311659a5d475954363f8f388d92b015ab33350ef7afd727/lets_plot-4.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0872ad1061e5b38d4c232bfbc3fe7062518b279033eeccf273e3ae9ab10b22a2",
"md5": "a7790f48044b239e4bb66bd9fba5ff6b",
"sha256": "a1e9846cf045630e3dbb16d2e70ea7482fdfe3eb57723c0fd9e04b626aa09119"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "a7790f48044b239e4bb66bd9fba5ff6b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 6752702,
"upload_time": "2025-07-17T16:18:39",
"upload_time_iso_8601": "2025-07-17T16:18:39.416590Z",
"url": "https://files.pythonhosted.org/packages/08/72/ad1061e5b38d4c232bfbc3fe7062518b279033eeccf273e3ae9ab10b22a2/lets_plot-4.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2da26e28c87da56d6b5dd45d48fbf8c56f217ce5ce4f1b56c17fbea6189778d7",
"md5": "fcfa82897d5cc387729448bd69eaabdb",
"sha256": "8c36feaaa55851c2c3ef1d376e963c8924aabd31d2e11dd9e26b634165f929e7"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "fcfa82897d5cc387729448bd69eaabdb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 5917043,
"upload_time": "2025-07-17T16:18:36",
"upload_time_iso_8601": "2025-07-17T16:18:36.337423Z",
"url": "https://files.pythonhosted.org/packages/2d/a2/6e28c87da56d6b5dd45d48fbf8c56f217ce5ce4f1b56c17fbea6189778d7/lets_plot-4.7.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1a8d9fce506b0fd6b67f4339bb965ba5f0015697454441e81e58ad00aed6199b",
"md5": "b0c3caf55db737b480981cf2dae63e0d",
"sha256": "9dd6761bb20efc0bbfdf06ef0044db0c4f10e99e0c9492681d0588568d30de33"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp311-cp311-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "b0c3caf55db737b480981cf2dae63e0d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 6287299,
"upload_time": "2025-07-17T16:18:44",
"upload_time_iso_8601": "2025-07-17T16:18:44.261823Z",
"url": "https://files.pythonhosted.org/packages/1a/8d/9fce506b0fd6b67f4339bb965ba5f0015697454441e81e58ad00aed6199b/lets_plot-4.7.0-cp311-cp311-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e21909cb16be87d42eae68a8867de301ab9e7a5b0cfa1dcd8ffe59614b3a9ef5",
"md5": "f5fceddbebdf3b45384ba6e846d06ad9",
"sha256": "68a36aa4cc97ecf4dd3a36a0103799df4a8ffce54ec1391df989bf0051586ca1"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f5fceddbebdf3b45384ba6e846d06ad9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 5912150,
"upload_time": "2025-07-17T16:18:20",
"upload_time_iso_8601": "2025-07-17T16:18:20.797516Z",
"url": "https://files.pythonhosted.org/packages/e2/19/09cb16be87d42eae68a8867de301ab9e7a5b0cfa1dcd8ffe59614b3a9ef5/lets_plot-4.7.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e77798a8ef46d6f7859395f2ce72bab148ac733591e7e5bf4eee55ece443a75b",
"md5": "c51f01a5665851f2a31816d92176623b",
"sha256": "c3b7d03a589e3080f9816b791599c53519be8e6310d2678c7def8ae222906e4d"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "c51f01a5665851f2a31816d92176623b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 6518737,
"upload_time": "2025-07-17T16:18:19",
"upload_time_iso_8601": "2025-07-17T16:18:19.246606Z",
"url": "https://files.pythonhosted.org/packages/e7/77/98a8ef46d6f7859395f2ce72bab148ac733591e7e5bf4eee55ece443a75b/lets_plot-4.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "320ddc35b9cdf2771d1a5dfabb4baecf7da4396292ae2df6e2821909b3297802",
"md5": "135eb9dea26885edec6d41aa0bfb2b7b",
"sha256": "5bc25e793fbeb76e00cae13eec5a99ce1d8bf11e7015214c746da94827228276"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "135eb9dea26885edec6d41aa0bfb2b7b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 6752800,
"upload_time": "2025-07-17T16:18:31",
"upload_time_iso_8601": "2025-07-17T16:18:31.069656Z",
"url": "https://files.pythonhosted.org/packages/32/0d/dc35b9cdf2771d1a5dfabb4baecf7da4396292ae2df6e2821909b3297802/lets_plot-4.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7675195f309405d12cd8940204b803870583696044355c4f8059d0066397c0db",
"md5": "4cedfe479f66f22fb4cc01df2fdee700",
"sha256": "aedf8105ab079e34abedc2ea9432ea217c423c2cd2014ef66191e9bd3d98842d"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "4cedfe479f66f22fb4cc01df2fdee700",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 5917073,
"upload_time": "2025-07-17T16:18:40",
"upload_time_iso_8601": "2025-07-17T16:18:40.848010Z",
"url": "https://files.pythonhosted.org/packages/76/75/195f309405d12cd8940204b803870583696044355c4f8059d0066397c0db/lets_plot-4.7.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "72b84e4b17dd575565fc667fa5c09f018c411f12c47ed7f6792ac6c08d634b1e",
"md5": "8d9e20fcc12034b6a06558498b5f8479",
"sha256": "0c749634561926d0c8a3a699c99473a7317ed8970e0c00cb0c812312027a8104"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp312-cp312-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "8d9e20fcc12034b6a06558498b5f8479",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 6287300,
"upload_time": "2025-07-17T16:18:22",
"upload_time_iso_8601": "2025-07-17T16:18:22.553877Z",
"url": "https://files.pythonhosted.org/packages/72/b8/4e4b17dd575565fc667fa5c09f018c411f12c47ed7f6792ac6c08d634b1e/lets_plot-4.7.0-cp312-cp312-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5fe74b0dd7f82b87b87f94287244532861fa7e45c53881ce3b926f1cd8e97911",
"md5": "a7347203d1ee237cd71da6fa7addff0b",
"sha256": "0d4509ddedea5829bc53d009af1e8333e03089fed7139018e80dad4401e5c17f"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a7347203d1ee237cd71da6fa7addff0b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 5912275,
"upload_time": "2025-07-17T16:18:34",
"upload_time_iso_8601": "2025-07-17T16:18:34.420206Z",
"url": "https://files.pythonhosted.org/packages/5f/e7/4b0dd7f82b87b87f94287244532861fa7e45c53881ce3b926f1cd8e97911/lets_plot-4.7.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f46465eb0d1b48cfc80bbd1327a5c359d9f3bfb588db056fba06a4e164715101",
"md5": "fde778cf76884d5984ebaa573b7bfc43",
"sha256": "c2e7065a85cad6bd9314f2d6f8ce244a99ff1f6e9fc4a2559faddc88fe24d693"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "fde778cf76884d5984ebaa573b7bfc43",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 6518112,
"upload_time": "2025-07-17T16:18:37",
"upload_time_iso_8601": "2025-07-17T16:18:37.923953Z",
"url": "https://files.pythonhosted.org/packages/f4/64/65eb0d1b48cfc80bbd1327a5c359d9f3bfb588db056fba06a4e164715101/lets_plot-4.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "91eae737b4ba259f2fd73a3ee7fab4e1f24e461119e375b03183deb8622753ab",
"md5": "b1d54f9e3b1e91f4d484161b5ecb9c3b",
"sha256": "c559eca2235029955329e7cecba1dc5d2c090f1e4f5d595d7a0490fda3348bed"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "b1d54f9e3b1e91f4d484161b5ecb9c3b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 6753092,
"upload_time": "2025-07-17T16:18:12",
"upload_time_iso_8601": "2025-07-17T16:18:12.895016Z",
"url": "https://files.pythonhosted.org/packages/91/ea/e737b4ba259f2fd73a3ee7fab4e1f24e461119e375b03183deb8622753ab/lets_plot-4.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b9c7157ced018a913042055268992654cddf9d5e55fea588053ef8ca3ad28d56",
"md5": "481a3bf58771837f843085a18f10eeef",
"sha256": "35f55b867d65752093f3dcdebcbd1ad07936f00e89d06cc2b67a09d2bd020fb0"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "481a3bf58771837f843085a18f10eeef",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 5917378,
"upload_time": "2025-07-17T16:18:45",
"upload_time_iso_8601": "2025-07-17T16:18:45.784920Z",
"url": "https://files.pythonhosted.org/packages/b9/c7/157ced018a913042055268992654cddf9d5e55fea588053ef8ca3ad28d56/lets_plot-4.7.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1659a1b86d6a47f57760387f305070df6caa5be9fe6bed2def32d29eb68cb563",
"md5": "267297ab8179ff4b778bafbb9bb637ea",
"sha256": "f7540acfccc292cb7ecad18a6d3cad93d21bf3ef4689327efea8fa69f1520428"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp313-cp313-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "267297ab8179ff4b778bafbb9bb637ea",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 6287299,
"upload_time": "2025-07-17T16:18:50",
"upload_time_iso_8601": "2025-07-17T16:18:50.807631Z",
"url": "https://files.pythonhosted.org/packages/16/59/a1b86d6a47f57760387f305070df6caa5be9fe6bed2def32d29eb68cb563/lets_plot-4.7.0-cp313-cp313-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "acd7e9621157207dc8ec3a244fcb3d7b6ae63e5994de0daa7b0599502f8916b7",
"md5": "c60f693fda7b3999c24ea2ab48d4fd47",
"sha256": "d819f1696e757378f8ec8a4dbbcad910cc3999ad5861e62bab3596846a77c6a5"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c60f693fda7b3999c24ea2ab48d4fd47",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 5912273,
"upload_time": "2025-07-17T16:18:42",
"upload_time_iso_8601": "2025-07-17T16:18:42.304427Z",
"url": "https://files.pythonhosted.org/packages/ac/d7/e9621157207dc8ec3a244fcb3d7b6ae63e5994de0daa7b0599502f8916b7/lets_plot-4.7.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "116952e71bf811ef2a8728e04bac207737b2300bd514a2f60580cd2c37237abb",
"md5": "9b0c6fb2ec21ff35738efc2cf2b71d9b",
"sha256": "205a7236ba920616b6e8c537350c2c44c6cd9751a537bf6be5c5df3d6317fc46"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "9b0c6fb2ec21ff35738efc2cf2b71d9b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 6518061,
"upload_time": "2025-07-17T16:18:49",
"upload_time_iso_8601": "2025-07-17T16:18:49.276836Z",
"url": "https://files.pythonhosted.org/packages/11/69/52e71bf811ef2a8728e04bac207737b2300bd514a2f60580cd2c37237abb/lets_plot-4.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3b27b75e69045f570aea61a88b304bd7af82472a5dc675a686d2951c62499dd5",
"md5": "c5a3bf4b145362e979ba2e4940f4628f",
"sha256": "00ec1c4e57d0e07f1441fca7b257869c6ea7bc58ea417477033ff14709c07a27"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "c5a3bf4b145362e979ba2e4940f4628f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 6753033,
"upload_time": "2025-07-17T16:18:23",
"upload_time_iso_8601": "2025-07-17T16:18:23.999846Z",
"url": "https://files.pythonhosted.org/packages/3b/27/b75e69045f570aea61a88b304bd7af82472a5dc675a686d2951c62499dd5/lets_plot-4.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "14c4a701506c526a1df0181f6000f3e21b719a9904a3cd34eb722c877f5cc451",
"md5": "ab9f831e863fe15c009492ab7f78e4bf",
"sha256": "6047c96cc230087d269f7ab65d6f669a23191810ff24e3f08fcbf89c3226544d"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "ab9f831e863fe15c009492ab7f78e4bf",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 5917291,
"upload_time": "2025-07-17T16:18:32",
"upload_time_iso_8601": "2025-07-17T16:18:32.578669Z",
"url": "https://files.pythonhosted.org/packages/14/c4/a701506c526a1df0181f6000f3e21b719a9904a3cd34eb722c877f5cc451/lets_plot-4.7.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e4af83816fb420fe7ba9f22f2ff20027afac030eb6faf84b8306d7afcb9885c1",
"md5": "3c277922bf72aa589b3489118d2114aa",
"sha256": "2550f7d78f8137c546f7591d2f92e83865f93117e07d206949476dcc4f184ef4"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "3c277922bf72aa589b3489118d2114aa",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 6287296,
"upload_time": "2025-07-17T16:18:47",
"upload_time_iso_8601": "2025-07-17T16:18:47.636875Z",
"url": "https://files.pythonhosted.org/packages/e4/af/83816fb420fe7ba9f22f2ff20027afac030eb6faf84b8306d7afcb9885c1/lets_plot-4.7.0-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "da137844eb30e28ff718325e06d4cc11526354cd7a580a7f8fc912dbf78884a9",
"md5": "af2733ff94a8f6b98dc9a599bb1ae82b",
"sha256": "cdc2ff07c191e84744939117994a3cfb9dca343403428a7416ef5c04e44e89e7"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "af2733ff94a8f6b98dc9a599bb1ae82b",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 5912138,
"upload_time": "2025-07-17T16:18:15",
"upload_time_iso_8601": "2025-07-17T16:18:15.467250Z",
"url": "https://files.pythonhosted.org/packages/da/13/7844eb30e28ff718325e06d4cc11526354cd7a580a7f8fc912dbf78884a9/lets_plot-4.7.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3cd8a7b84c5a814ea59e5bce290455d8e669d2bcee4d8b6ae1b5e376c4d1af9b",
"md5": "9cead22415d9b9c8eafd04c96941fe97",
"sha256": "e3695e96ce1ae48431dd3f224a8938f5b4de770b4b9351902f365125200b0e43"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "9cead22415d9b9c8eafd04c96941fe97",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 6518440,
"upload_time": "2025-07-17T16:18:27",
"upload_time_iso_8601": "2025-07-17T16:18:27.672073Z",
"url": "https://files.pythonhosted.org/packages/3c/d8/a7b84c5a814ea59e5bce290455d8e669d2bcee4d8b6ae1b5e376c4d1af9b/lets_plot-4.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9b90dfdfd221d87f9a8858be35b7266f6ed1b6c861249d6922b23f24f0026bcd",
"md5": "9932a6d91c27bf8a9d65ba04225e9f24",
"sha256": "e6b1a8fb37c4c7581984cb106b7fd8db097672c9174d8c92d75ac83c86789104"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "9932a6d91c27bf8a9d65ba04225e9f24",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 6752515,
"upload_time": "2025-07-17T16:18:25",
"upload_time_iso_8601": "2025-07-17T16:18:25.827198Z",
"url": "https://files.pythonhosted.org/packages/9b/90/dfdfd221d87f9a8858be35b7266f6ed1b6c861249d6922b23f24f0026bcd/lets_plot-4.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c88529072213bcdf4a5975a4f2e92014ed41e517966bb8a5f24873248c3bc0e7",
"md5": "4084aebdd7d006e091b822a9bf2917ed",
"sha256": "ad2785ca5c17f0311d7c4514a79fcac96854265a18e709026ec712c0c1e3442d"
},
"downloads": -1,
"filename": "lets_plot-4.7.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "4084aebdd7d006e091b822a9bf2917ed",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 5917017,
"upload_time": "2025-07-17T16:18:17",
"upload_time_iso_8601": "2025-07-17T16:18:17.273822Z",
"url": "https://files.pythonhosted.org/packages/c8/85/29072213bcdf4a5975a4f2e92014ed41e517966bb8a5f24873248c3bc0e7/lets_plot-4.7.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-17 16:18:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JetBrains",
"github_project": "lets-plot",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "lets-plot"
}