pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-altair: Update to 5.3.0



Module Name:	pkgsrc-wip
Committed By:	Matthew Danielson <matthewd%fastmail.us@localhost>
Pushed By:	matthewd
Date:		Fri Jun 21 12:38:51 2024 -0600
Changeset:	4268f94ecf8890ccd51d571ed4753ce9159f6202

Modified Files:
	py-altair/Makefile
	py-altair/PLIST
	py-altair/distinfo

Log Message:
py-altair: Update to 5.3.0

Version 5.3
The Vega Project is happy to announce the release of version 5.3.0 of the Vega-Altair Python visualization library. This release has been 4 months in the making and includes enhancements, fixes, and documentation improvements from 11 contributors.
What's Changed

    Update Vega-Lite from version 5.16.3 to version 5.17.0; see Vega-Lite Release Notes

Enhancements

    Add integration of VegaFusion and JupyterChart to enable scaling many interactive Vega-Altair charts to millions of rows. See VegaFusion Data Transformer for more information. Here is an example of histogram cross filtering with a 1 million row dataset.

vegafusion_widget.mov

Add "browser" renderer to support displaying Vega-Altair charts in an external web browser. See Browser Renderer for more information (#3379).
browser_renderer.mov

Support opening charts in the Vega editor with chart.open_editor() (#3358)

    open_editor.mov

    Add "jupyter" renderer which uses JupyterChart for rendering (#3283). See Displaying Altair Charts for more information.
    Add embed_options argument to JupyterChart to allow customization of Vega Embed options (#3304)
    Add offline support for JupyterChart and the new "jupyter" renderer. See JupyterChart - Offline Usage for more information.
    Add a new section to documentation on dashboards which have support for Altair (#3299)
    Support restrictive FIPS-compliant environment (#3291)
    Simplify type-hints to improve the readability of the function signature and docstring (#3307)
    Support installation of all optional dependencies via python -m pip install altair[all] and conda install altair-all -c conda-forge (#3354)
    Add privacy friendly web-analytics for the documentation (#3350)
    Additional gallery examples and documentation clarifications (#3233, #3266, #3276, #3282, #3298, #3299, #3323, #3334, #3324, #3340, #3350, #3353, #3357, #3362, #3363), including the following:

        Histogram with Gradient Color
        image

        Multi-Line Tooltip (Standard)
        image

        Interactive column selection

        altair-ex-2024-03-12_10.16.49.mp4

Bug Fixes

    Fix error when embed_options are None (#3376)
    Fix type hints for libraries such as Polars where Altair uses the dataframe interchange protocol (#3297)
    Fix anywidget deprecation warning (#3364)
    Fix handling of Date32 columns in arrow tables and Polars DataFrames (#3377)

Backward-Incompatible Changes

    Changed hash function from md5 to a truncated sha256 non-cryptograhic hash (#3291)
    Updated chart.show() method to invoke the active renderer rather than depend on altair_saver (Which was never updated for use with Altair 5) (#3379).

New Contributors

    @franzhaas made their first contribution in #3278
    @ccravens made their first contribution in #3291
    @thomascamminady made their first contribution in #3323
    @d-trigo made their first contribution in #3350
    @RobinL made their first contribution in #3383

Version 5.2.0
What's Changed

    Update Vega-Lite from version 5.15.1 to version 5.16.3; see Vega-Lite Release Notes.

Enhancements

    Support offline HTML export using vl-convert (#3251)

    You now can use:

    chart.save('chart.html', inline=True)

To create an HTML file with inline JavaScript dependencies. This enhancements takes advantage of HTML bundling support in vl-convert to replace the dependency on altair_viewer. Vega-Altair 5.2.0 expects vl-convert-python version 1.1.0 or higher for this enhancement.

Support saving charts as PDF files using the vl-convert export engine (#3244)

You now can use:

chart.save('chart.pdf')

To create an PDF representation of your chart. This enhancements takes advantage of PDF support in vl-convert to replace the dependency on altair_saver. Vega-Altair 5.2.0 expects vl-convert-python version 1.1.0 or higher for this enhancement.

Support converting charts to sharable Vega editor URLs with chart.to_url() (#3252)

You now can use:

chart.to_url()

To generate a Vega editor URL that opens the chart's specification in the online Vega editor. This enhancements takes advantage of lz-string URL-compatible compression in vl-convert. Vega-Altair 5.2.0 expects vl-convert-python version 1.1.0 or higher for this enhancement.

Example:

import altair as alt
from vega_datasets import data

chart = alt.Chart(data.cars.url).mark_point().encode(
    x='Horsepower:Q',
    y='Miles_per_Gallon:Q',
    color='Origin:N'
)

print(chart.to_url())

        https://vega.github.io/editor/#/url/vega-lite/N4Igxg9gdgZglgcxALlANzgUwO4tJKAFzigFcJSBnAdTgBNCALFAZgAY2AacaYsiygAlMiRoVYcAvpO50AhoTl4QpAE4AbFCDGEADpWQB6Q2DpQAdACtKdTOrhpV5qJkKGougLaG0mBHIBaeUVKV0oAATQARnMAJgBOczZDYLkTOVVKK0poEBkQTwyAa2VCAE9dTC1dCBJxfMwoSDoSJFQedQhVZXg7Oi0AeVVEEhBucsqtKAhPEjlNfIAPHqx1fuQQQS7QmuxMbvGKqo2AR1I5IjhFYl887jKVvq0AWTh1TEoAfUrVT4BxeadKBjEATY4gM4XYjXBxVaTcAAklDAjEwhS0On0Rh8fjk5gQV0YpAARuY4BBDMjUYUcf4AvZCJgfABWcxRABs5hY2VykiAA

    Pass format_locale and time_format_locale through to vl-convert to support locales in static image export (#3274)

    The preferred format of numbers, dates, and currencies varies by language and locale. Vega-Altair takes advantage of D3’s localization support to make it easy to configure the locale for your chart using the global alt.renderers.set_embed_options function. Vega-Altair 5.2.0 expects vl-convert-python version 1.1.0 or higher for this enhancement.

    See https://altair-viz.github.io/user_guide/customization.html#localization for more info (including the note with a caveat!).

    Vega-Altair is now a typed package, with type annotations for all public functions and classes and some of the internal code

    See #2951 for a full summary how we have implemented these. Type hints can help IDEs to provide a better development experience as well as static type checkers to catch potential errors before they appear at runtime.

Maintenance

    Vega-Altair now uses ruff for maintaining code quality & consistency (#3243)
    Vega-Altair is tested against Python 3.12 (#3235)

Bug Fixes

    None

Backward-Incompatible Changes

    None

Version 5.1.2
What's changed

    Update Vega-Lite from version 5.14.1 to version 5.15.1; see Vega-Lite Release Notes.

    Use Facet/Trellis/Repeat consistently in the documentation by @NickCrews in #3180

    Add tutorial on numpy tooltip images by @joelostblom #3202

    recording-2024-04-08_20.15.42.mp4

Bug Fixes

    Remove usage of deprecated Pandas parameter convert_dtypes by @binste in #3191
    Fix encoding type inference for boolean columns when pyarrow is installed by @jonmmease in #3210

Full Changelog: v5.1.1...v5.1.2

Version 5.1.1
What's Changed

    Fix doctest and run doctests in altair module by @jonmmease in #3175
    infer dtype pandas fallback by @jonmmease in #3179

Full Changelog: v5.1.0...v5.1.1

Version 5.1.0
What's Changed

    Update Vega-Lite from version 5.8.0 to version 5.14.1; see Vega-Lite Release Notes.

Enhancements

    The chart.transformed_data() method was added to extract transformed chart data

    For example when having an Altair chart including aggregations:

    import altair as alt
    from vega_datasets import data

    cars = data.cars.url
    chart = alt.Chart(cars).mark_bar().encode(
        y='Cylinders:O',
        x='mean_acc:Q'
    ).transform_aggregate(
        mean_acc='mean(Acceleration)',
        groupby=["Cylinders"]
    )
    chart

    image
    Its now possible to call the chart.transformed_data method to extract a pandas DataFrame containing the transformed data.

    chart.transformed_data()

    image
    This method is dependent on VegaFusion with the embed extras enabled.

    Introduction of a new data transformer named vegafusion

    VegaFusion is an external project that provides efficient Rust implementations of most of Altair's data transformations. Using VegaFusion as Data Transformer it can overcome the Altair MaxRowsError by performing data-intensive aggregations in Python and pruning unused columns from the source dataset.

    The data transformer can be enabled as such:

    import altair as alt
    alt.data_transformers.enable("vegafusion") # default is "default"

        DataTransformerRegistry.enable('vegafusion')

    And one can now visualize a very large DataFrame as histogram where the binning is done within VegaFusion:

    import pandas as pd
    import altair as alt

    # prepare dataframe with 1 million rows
    flights = pd.read_parquet(
        "https://vegafusion-datasets.s3.amazonaws.com/vega/flights_1m.parquet";
    )

    delay_hist = alt.Chart(flights).mark_bar(tooltip=True).encode(
        alt.X("delay", bin=alt.Bin(maxbins=30)),
        alt.Y("count()")
    )
    delay_hist

    image
    When the vegafusion data transformer is active, data transformations will be pre-evaluated when displaying, saving and converting charts as dictionary or JSON.

    See a detailed overview on the VegaFusion Data Transformer in the documentation.

    A JupyterChart class was added to support accessing params and selections from Python

    The JupyterChart class makes it possible to update charts after they have been displayed and access the state of interactions from Python.

    For example when having an Altair chart including a selection interval as brush:

    import altair as alt
    from vega_datasets import data

    source = data.cars()
    brush = alt.selection_interval(name="interval", value={"x": [80, 160], "y": [15, 30]})

    chart = alt.Chart(source).mark_point().encode(
        x='Horsepower:Q',
        y='Miles_per_Gallon:Q',
        color=alt.condition(brush, 'Cylinders:O', alt.value('grey')),
    ).add_params(brush)

    jchart = alt.JupyterChart(chart)
    jchart

    image
    It is now possible to return the defined interval selection within Python using the JupyterChart

    jchart.selections.interval.value

        {'Horsepower': [80, 160], 'Miles_per_Gallon': [15, 30]}

    The selection dictionary may be converted into a pandas query to filter the source DataFrame:

    filter = " and ".join([
        f"{v[0]} <= `{k}` <= {v[1]}"
        for k, v in jchart.selections.interval.value.items()
    ])
    source.query(filter)

    image
    Another possibility of the new JupyerChart class is to use IPyWidgets to control parameters in Altair. Here we use an ipywidget IntSlider to control the Altair parameter named cutoff.

    import pandas as pd
    import numpy as np
    from ipywidgets import IntSlider, link, VBox

    rand = np.random.RandomState(42)

    df = pd.DataFrame({
        'xval': range(100),
        'yval': rand.randn(100).cumsum()
    })

    cutoff = alt.param(name="cutoff", value=23)

    chart = alt.Chart(df).mark_point().encode(
        x='xval',
        y='yval',
        color=alt.condition(
            alt.datum.xval < cutoff,
            alt.value('red'), alt.value('blue')
        )
    ).add_params(
        cutoff
    )
    jchart = alt.JupyterChart(chart)

    slider = IntSlider(min=0, max=100, description='ipywidget')
    link((slider, "value"), (jchart.params, "cutoff"))

    VBox([slider, jchart])

    image
    The JupyterChart class is dependent on AnyWidget. See a detailed overview in the new documentation page on JupyterChart Interactivity.

    Support for field encoding inference for objects that support the DataFrame Interchange Protocol

    We are maturing support for objects build upon the DataFrame Interchange Protocol in Altair.
    Given the following pandas DataFrame with an ordered categorical column-type:

    import altair as alt
    from vega_datasets import data

    # Clean Title column
    movies = data.movies()
    movies["Title"] = movies["Title"].astype(str)

    # Convert MPAA rating to an ordered categorical
    rating = movies["MPAA_Rating"].astype("category")
    rating = rating.cat.reorder_categories(
        ['Open', 'G', 'PG', 'PG-13', 'R', 'NC-17', 'Not Rated']
    ).cat.as_ordered()
    movies["MPAA_Rating"] = rating

    # Build chart using pandas
    chart = alt.Chart(movies).mark_bar().encode(
        alt.X("MPAA_Rating"),
        alt.Y("count()")
    )
    chart

    image
    We can convert the DataFrame to a PyArrow Table and observe that the types are now equally infered when rendering the chart.

    import pyarrow as pa

    # Build chart using PyArrow
    chart = alt.Chart(pa.Table.from_pandas(movies)).mark_bar().encode(
        alt.X("MPAA_Rating"),
        alt.Y("count()")
    )
    chart

    image
    Vega-Altair support of the DataFrame Interchange Protocol is dependent on PyArrow.

    A new transform method transform_extent is available

    See the following example how this transform can be used:

    import pandas as pd
    import altair as alt

    df = pd.DataFrame(
        [
            {"a": "A", "b": 28},
            {"a": "B", "b": 55},
            {"a": "C", "b": 43},
            {"a": "D", "b": 91},
            {"a": "E", "b": 81},
            {"a": "F", "b": 53},
            {"a": "G", "b": 19},
            {"a": "H", "b": 87},
            {"a": "I", "b": 52},
        ]
    )

    base = alt.Chart(df, title="A Simple Bar Chart with Lines at Extents").transform_extent(
        extent="b", param="b_extent"
    )
    bars = base.mark_bar().encode(x="b", y="a")
    lower_extent_rule = base.mark_rule(stroke="firebrick").encode(
        x=alt.value(alt.expr("scale('x', b_extent[0])"))
    )
    upper_extent_rule = base.mark_rule(stroke="firebrick").encode(
        x=alt.value(alt.expr("scale('x', b_extent[1])"))
    )
    bars + lower_extent_rule + upper_extent_rule

    image

    It is now possible to add configurable pixels-per-inch (ppi) metadata to saved and displayed PNG images

    import altair as alt
    from vega_datasets import data

    source = data.cars()

    chart = alt.Chart(source).mark_boxplot(extent="min-max").encode(
        alt.X("Miles_per_Gallon:Q").scale(zero=False),
        alt.Y("Origin:N"),
    )
    chart.save("box.png", ppi=300)

    image

    alt.renderers.enable("png", ppi=144) # default ppi is 72
    chart

    image

Bug Fixes

    Don't call len on DataFrame Interchange Protocol objects (#3111)

Maintenance

    Add support for new referencing logic in version 4.18 of the jsonschema package

Backward-Incompatible Changes

    Drop support for Python 3.7 which is end-of-life (#3100)
    Hard dependencies: Increase minimum required pandas version to 0.25 (#3130)
    Soft dependencies: Increase minimum required vl-convert-python version to 0.13.0 and increase minimum required vegafusion version to 1.4.0 (#3163, #3160)

New Contributors

    @thomend made their first contribution in #3086

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=4268f94ecf8890ccd51d571ed4753ce9159f6202

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 py-altair/Makefile |  3 ++-
 py-altair/PLIST    | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 py-altair/distinfo |  6 ++---
 3 files changed, 71 insertions(+), 7 deletions(-)

diffs:
diff --git a/py-altair/Makefile b/py-altair/Makefile
index 9c24dc383e..d761bc406f 100644
--- a/py-altair/Makefile
+++ b/py-altair/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	altair-5.0.1
+DISTNAME=	altair-5.3.0
 PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=	graphics python
 MASTER_SITES=	${MASTER_SITE_PYPI:=a/altair/}
@@ -12,6 +12,7 @@ LICENSE=	2-clause-bsd
 
 TOOL_DEPENDS+=		${PYPKGPREFIX}-black>=20.8:../../textproc/py-black
 TOOL_DEPENDS+=		${PYPKGPREFIX}-docutils>=0.16:../../textproc/py-docutils
+TOOL_DEPENDS+=		${PYPKGPREFIX}-hatchling>=1.24.2:../../devel/py-hatchling
 TOOL_DEPENDS+=		${PYPKGPREFIX}-ipython>=0:../../devel/py-ipython
 TOOL_DEPENDS+=		${PYPKGPREFIX}-flake8>=3.3.0:../../devel/py-flake8
 TOOL_DEPENDS+=		${PYPKGPREFIX}-typing-extensions>=4.0.1:../../devel/py-typing-extensions
diff --git a/py-altair/PLIST b/py-altair/PLIST
index 9cdfcb5216..95d5c7bb44 100644
--- a/py-altair/PLIST
+++ b/py-altair/PLIST
@@ -1,75 +1,138 @@
 @comment $NetBSD$
-${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
-${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
 ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
-${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
 ${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
 ${PYSITELIB}/altair/__init__.py
 ${PYSITELIB}/altair/__init__.pyc
+${PYSITELIB}/altair/__init__.pyo
 ${PYSITELIB}/altair/_magics.py
 ${PYSITELIB}/altair/_magics.pyc
+${PYSITELIB}/altair/_magics.pyo
 ${PYSITELIB}/altair/expr/__init__.py
 ${PYSITELIB}/altair/expr/__init__.pyc
+${PYSITELIB}/altair/expr/__init__.pyo
 ${PYSITELIB}/altair/expr/consts.py
 ${PYSITELIB}/altair/expr/consts.pyc
+${PYSITELIB}/altair/expr/consts.pyo
 ${PYSITELIB}/altair/expr/core.py
 ${PYSITELIB}/altair/expr/core.pyc
+${PYSITELIB}/altair/expr/core.pyo
 ${PYSITELIB}/altair/expr/funcs.py
 ${PYSITELIB}/altair/expr/funcs.pyc
+${PYSITELIB}/altair/expr/funcs.pyo
+${PYSITELIB}/altair/jupyter/__init__.py
+${PYSITELIB}/altair/jupyter/__init__.pyc
+${PYSITELIB}/altair/jupyter/__init__.pyo
+${PYSITELIB}/altair/jupyter/js/README.md
+${PYSITELIB}/altair/jupyter/js/index.js
+${PYSITELIB}/altair/jupyter/jupyter_chart.py
+${PYSITELIB}/altair/jupyter/jupyter_chart.pyc
+${PYSITELIB}/altair/jupyter/jupyter_chart.pyo
+${PYSITELIB}/altair/py.typed
 ${PYSITELIB}/altair/utils/__init__.py
 ${PYSITELIB}/altair/utils/__init__.pyc
+${PYSITELIB}/altair/utils/__init__.pyo
+${PYSITELIB}/altair/utils/_dfi_types.py
+${PYSITELIB}/altair/utils/_dfi_types.pyc
+${PYSITELIB}/altair/utils/_dfi_types.pyo
+${PYSITELIB}/altair/utils/_importers.py
+${PYSITELIB}/altair/utils/_importers.pyc
+${PYSITELIB}/altair/utils/_importers.pyo
+${PYSITELIB}/altair/utils/_show.py
+${PYSITELIB}/altair/utils/_show.pyc
+${PYSITELIB}/altair/utils/_show.pyo
+${PYSITELIB}/altair/utils/_transformed_data.py
+${PYSITELIB}/altair/utils/_transformed_data.pyc
+${PYSITELIB}/altair/utils/_transformed_data.pyo
+${PYSITELIB}/altair/utils/_vegafusion_data.py
+${PYSITELIB}/altair/utils/_vegafusion_data.pyc
+${PYSITELIB}/altair/utils/_vegafusion_data.pyo
+${PYSITELIB}/altair/utils/compiler.py
+${PYSITELIB}/altair/utils/compiler.pyc
+${PYSITELIB}/altair/utils/compiler.pyo
 ${PYSITELIB}/altair/utils/core.py
 ${PYSITELIB}/altair/utils/core.pyc
+${PYSITELIB}/altair/utils/core.pyo
 ${PYSITELIB}/altair/utils/data.py
 ${PYSITELIB}/altair/utils/data.pyc
+${PYSITELIB}/altair/utils/data.pyo
 ${PYSITELIB}/altair/utils/deprecation.py
 ${PYSITELIB}/altair/utils/deprecation.pyc
+${PYSITELIB}/altair/utils/deprecation.pyo
 ${PYSITELIB}/altair/utils/display.py
 ${PYSITELIB}/altair/utils/display.pyc
+${PYSITELIB}/altair/utils/display.pyo
 ${PYSITELIB}/altair/utils/execeval.py
 ${PYSITELIB}/altair/utils/execeval.pyc
+${PYSITELIB}/altair/utils/execeval.pyo
 ${PYSITELIB}/altair/utils/html.py
 ${PYSITELIB}/altair/utils/html.pyc
+${PYSITELIB}/altair/utils/html.pyo
 ${PYSITELIB}/altair/utils/mimebundle.py
 ${PYSITELIB}/altair/utils/mimebundle.pyc
+${PYSITELIB}/altair/utils/mimebundle.pyo
 ${PYSITELIB}/altair/utils/plugin_registry.py
 ${PYSITELIB}/altair/utils/plugin_registry.pyc
+${PYSITELIB}/altair/utils/plugin_registry.pyo
 ${PYSITELIB}/altair/utils/save.py
 ${PYSITELIB}/altair/utils/save.pyc
+${PYSITELIB}/altair/utils/save.pyo
 ${PYSITELIB}/altair/utils/schemapi.py
 ${PYSITELIB}/altair/utils/schemapi.pyc
+${PYSITELIB}/altair/utils/schemapi.pyo
+${PYSITELIB}/altair/utils/selection.py
+${PYSITELIB}/altair/utils/selection.pyc
+${PYSITELIB}/altair/utils/selection.pyo
 ${PYSITELIB}/altair/utils/server.py
 ${PYSITELIB}/altair/utils/server.pyc
+${PYSITELIB}/altair/utils/server.pyo
 ${PYSITELIB}/altair/utils/theme.py
 ${PYSITELIB}/altair/utils/theme.pyc
+${PYSITELIB}/altair/utils/theme.pyo
 ${PYSITELIB}/altair/vegalite/__init__.py
 ${PYSITELIB}/altair/vegalite/__init__.pyc
+${PYSITELIB}/altair/vegalite/__init__.pyo
 ${PYSITELIB}/altair/vegalite/api.py
 ${PYSITELIB}/altair/vegalite/api.pyc
+${PYSITELIB}/altair/vegalite/api.pyo
 ${PYSITELIB}/altair/vegalite/data.py
 ${PYSITELIB}/altair/vegalite/data.pyc
+${PYSITELIB}/altair/vegalite/data.pyo
 ${PYSITELIB}/altair/vegalite/display.py
 ${PYSITELIB}/altair/vegalite/display.pyc
+${PYSITELIB}/altair/vegalite/display.pyo
 ${PYSITELIB}/altair/vegalite/schema.py
 ${PYSITELIB}/altair/vegalite/schema.pyc
+${PYSITELIB}/altair/vegalite/schema.pyo
 ${PYSITELIB}/altair/vegalite/v5/__init__.py
 ${PYSITELIB}/altair/vegalite/v5/__init__.pyc
+${PYSITELIB}/altair/vegalite/v5/__init__.pyo
 ${PYSITELIB}/altair/vegalite/v5/api.py
 ${PYSITELIB}/altair/vegalite/v5/api.pyc
+${PYSITELIB}/altair/vegalite/v5/api.pyo
+${PYSITELIB}/altair/vegalite/v5/compiler.py
+${PYSITELIB}/altair/vegalite/v5/compiler.pyc
+${PYSITELIB}/altair/vegalite/v5/compiler.pyo
 ${PYSITELIB}/altair/vegalite/v5/data.py
 ${PYSITELIB}/altair/vegalite/v5/data.pyc
+${PYSITELIB}/altair/vegalite/v5/data.pyo
 ${PYSITELIB}/altair/vegalite/v5/display.py
 ${PYSITELIB}/altair/vegalite/v5/display.pyc
+${PYSITELIB}/altair/vegalite/v5/display.pyo
 ${PYSITELIB}/altair/vegalite/v5/schema/__init__.py
 ${PYSITELIB}/altair/vegalite/v5/schema/__init__.pyc
+${PYSITELIB}/altair/vegalite/v5/schema/__init__.pyo
 ${PYSITELIB}/altair/vegalite/v5/schema/channels.py
 ${PYSITELIB}/altair/vegalite/v5/schema/channels.pyc
+${PYSITELIB}/altair/vegalite/v5/schema/channels.pyo
 ${PYSITELIB}/altair/vegalite/v5/schema/core.py
 ${PYSITELIB}/altair/vegalite/v5/schema/core.pyc
+${PYSITELIB}/altair/vegalite/v5/schema/core.pyo
 ${PYSITELIB}/altair/vegalite/v5/schema/mixins.py
 ${PYSITELIB}/altair/vegalite/v5/schema/mixins.pyc
+${PYSITELIB}/altair/vegalite/v5/schema/mixins.pyo
 ${PYSITELIB}/altair/vegalite/v5/schema/vega-lite-schema.json
 ${PYSITELIB}/altair/vegalite/v5/theme.py
 ${PYSITELIB}/altair/vegalite/v5/theme.pyc
+${PYSITELIB}/altair/vegalite/v5/theme.pyo
diff --git a/py-altair/distinfo b/py-altair/distinfo
index 9db4c8a366..18955cae81 100644
--- a/py-altair/distinfo
+++ b/py-altair/distinfo
@@ -1,5 +1,5 @@
 $NetBSD$
 
-BLAKE2s (altair-5.0.1.tar.gz) = 7210036b0674be4d719fb4d44a024b51b90ab7ef224e424b63982530c50ebc51
-SHA512 (altair-5.0.1.tar.gz) = 23f6a72e213d02de12dc506f105bf4202c2ffc61cb66601b281b0f69afc2096c89c25160c3363b24b0bf4a6c415e4c4bf20fab013c2e8e5cefc15ae05d82d9fe
-Size (altair-5.0.1.tar.gz) = 456156 bytes
+BLAKE2s (altair-5.3.0.tar.gz) = 6116984d0695f6497c27e56833dc05b9eb29783b7ab4678cf6bcc96f179c77e6
+SHA512 (altair-5.3.0.tar.gz) = 1ee6e4c801db3123163449239f4163161bef878efdf87504aec9493676e57d54caee0756371a1904db746964c1d9213e2134fa49bde52b14ad7aae331177f78f
+Size (altair-5.3.0.tar.gz) = 826846 bytes


Home | Main Index | Thread Index | Old Index