Altair

Latest version: v5.5.0

Safety actively analyzes 688178 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

5.1.1

What's Changed
* Fix doctest and run doctests in altair module by jonmmease in https://github.com/altair-viz/altair/pull/3175
* infer dtype pandas fallback by jonmmease in https://github.com/altair-viz/altair/pull/3179


**Full Changelog**: https://github.com/altair-viz/altair/compare/v5.1.0...v5.1.1

5.1.0

What's Changed
* Update Vega-Lite from version 5.8.0 to version 5.14.1; see [Vega-Lite Release Notes](https://github.com/vega/vega-lite/releases).

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

For example when having an Altair chart including aggregations:
python
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](https://github.com/altair-viz/altair/assets/5186265/d2b45c35-fbf4-4ae0-9b1f-08134efc8922)
Its now possible to call the `chart.transformed_data` method to extract a pandas DataFrame containing the transformed data.
python
chart.transformed_data()

![image](https://github.com/altair-viz/altair/assets/5186265/35891190-18bd-4910-a116-5dbc36af9482)
This method is dependent on VegaFusion with the embed extras enabled.
***
2. 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:
python
import altair as alt
alt.data_transformers.enable("vegafusion") default is "default"


> cmd
> DataTransformerRegistry.enable('vegafusion')
>

And one can now visualize a very large DataFrame as histogram where the binning is done within VegaFusion:
python
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](https://github.com/altair-viz/altair/assets/5186265/773b81ab-280d-4164-9c32-99d2b9567e12)
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](https://altair-viz.github.io/user_guide/large_datasets.html#vegafusion-data-transformer) in the documentation.

***
3. 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:
python
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](https://github.com/altair-viz/altair/assets/5186265/44c2a7f6-195b-4a9d-81a8-69b8330957bf)
It is now possible to return the defined interval selection within Python using the `JupyterChart`
python
jchart.selections.interval.value


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

The selection dictionary may be converted into a pandas query to filter the source DataFrame:
python
filter = " and ".join([
f"{v[0]} <= `{k}` <= {v[1]}"
for k, v in jchart.selections.interval.value.items()
])
source.query(filter)

![image](https://github.com/altair-viz/altair/assets/5186265/be57038e-9861-4164-bf84-74f3f83e4959)
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`.
python
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](https://github.com/altair-viz/altair/assets/5186265/9297282d-5b26-4388-b74f-1f1debb5f3e9)
The `JupyterChart` class is dependent on AnyWidget. See a detailed overview in the new documentation page on [JupyterChart Interactivity](https://altair-viz.github.io/user_guide/jupyter_chart.html).
***
4. 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:
python
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](https://github.com/altair-viz/altair/assets/5186265/236aa2bf-4cda-4265-8c5b-7eb244dc3b02)
We can convert the DataFrame to a PyArrow Table and observe that the types are now equally infered when rendering the chart.
python
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](https://github.com/altair-viz/altair/assets/5186265/236aa2bf-4cda-4265-8c5b-7eb244dc3b02)
Vega-Altair support of the DataFrame Interchange Protocol is dependent on PyArrow.
***
5. A new transform method `transform_extent` is available

See the following example how this transform can be used:
python
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](https://github.com/altair-viz/altair/assets/5186265/623b36b2-1440-41dc-99bb-876210b6d642)
***
6. It is now possible to add configurable pixels-per-inch (ppi) metadata to saved and displayed PNG images
python
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](https://user-images.githubusercontent.com/15064365/263293470-dc9ce553-96b2-4e7f-8e13-1dc0c66acd0c.png)
python
alt.renderers.enable("png", ppi=144) default ppi is 72
chart

![image](https://github.com/altair-viz/altair/assets/5186265/fce90ec1-bc8b-4ebf-b830-63f535180c2a)

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 https://github.com/altair-viz/altair/pull/3086
* NickCrews made their first contribution in https://github.com/altair-viz/altair/pull/3155

Release Notes by Pull Request

<details><summary>Click to view all 52 PRs merged for this release</summary>

* Explicitly specify arguments for to_dict and to_json methods for top-level chart objects by binste in https://github.com/altair-viz/altair/pull/3073
* Add Vega-Lite to Vega compiler registry and format arg to to_dict() and to_json() by jonmmease in https://github.com/altair-viz/altair/pull/3071
* Sanitize timestamps in arrow tables by jonmmease in https://github.com/altair-viz/altair/pull/3076
* Fix ridgeline example by binste in https://github.com/altair-viz/altair/pull/3082
* Support extracting transformed chart data using VegaFusion by jonmmease in https://github.com/altair-viz/altair/pull/3081
* Improve troubleshooting docs regarding Vega-Lite 5 by binste in https://github.com/altair-viz/altair/pull/3074
* Make transformed_data public and add initial docs by jonmmease in https://github.com/altair-viz/altair/pull/3084
* MAINT: Gitignore venv folders and use gitignore for black by binste in https://github.com/altair-viz/altair/pull/3087
* Fixed Wheat and Wages case study by thomend in https://github.com/altair-viz/altair/pull/3086
* Type hints: Parts of folders "vegalite", "v5", and "utils" by binste in https://github.com/altair-viz/altair/pull/2976
* Fix CI by jonmmease in https://github.com/altair-viz/altair/pull/3095
* Add VegaFusion data transformer with mime renderer, save, and to_dict/to_json integration by jonmmease in https://github.com/altair-viz/altair/pull/3094
* Unpin vl-convert-python in dev/ci dependencies by jonmmease in https://github.com/altair-viz/altair/pull/3099
* Drop support for Python 3.7 which is end-of-life by binste in https://github.com/altair-viz/altair/pull/3100
* Add support to transformed_data for reconstructed charts (with from_dict/from_json) by binste in https://github.com/altair-viz/altair/pull/3102
* Add VegaFusion data transformer documentation by jonmmease in https://github.com/altair-viz/altair/pull/3107
* Don't call len on DataFrame interchange protocol object by jonmmease in https://github.com/altair-viz/altair/pull/3111
* copied percentage calculation in example by thomend in https://github.com/altair-viz/altair/pull/3116
* Distributions and medians of likert scale ratings by thomend in https://github.com/altair-viz/altair/pull/3120
* Support for type inference for DataFrames using the DataFrame Interchange Protocol by jonmmease in https://github.com/altair-viz/altair/pull/3114
* Add some 5.1.0 release note entries by jonmmease in https://github.com/altair-viz/altair/pull/3123
* Add a code of conduct by joelostblom in https://github.com/altair-viz/altair/pull/3124
* master -> main by jonmmease in https://github.com/altair-viz/altair/pull/3126
* Handle pyarrow-backed columns in pandas 2 DataFrames by jonmmease in https://github.com/altair-viz/altair/pull/3128
* Fix accidental requirement of Pandas 1.5. Bump minimum Pandas version to 0.25. Run tests with it by binste in https://github.com/altair-viz/altair/pull/3130
* Add Roadmap and CoC to the documentation by jonmmease in https://github.com/altair-viz/altair/pull/3129
* MAINT: Use importlib.metadata and packaging instead of deprecated pkg_resources by binste in https://github.com/altair-viz/altair/pull/3133
* Add online JupyterChart widget based on AnyWidget by jonmmease in https://github.com/altair-viz/altair/pull/3119
* feat(widget): prefer lodash-es/debounce to reduce import size by manzt in https://github.com/altair-viz/altair/pull/3135
* Fix contributing descriptions by thomend in https://github.com/altair-viz/altair/pull/3121
* Implement governance structure based on GitHub's MVG by binste in https://github.com/altair-viz/altair/pull/3139
* Type hint schemapi.py by binste in https://github.com/altair-viz/altair/pull/3142
* Add JupyterChart section to Users Guide by jonmmease in https://github.com/altair-viz/altair/pull/3137
* Add governance page to the website by jonmmease in https://github.com/altair-viz/altair/pull/3144
* MAINT: Remove altair viewer as a development dependency by binste in https://github.com/altair-viz/altair/pull/3147
* Add support for new referencing resolution in jsonschema>=4.18 by binste in https://github.com/altair-viz/altair/pull/3118
* Update Vega-Lite to 5.14.1. Add transform_extent by binste in https://github.com/altair-viz/altair/pull/3148
* MAINT: Fix type hint errors which came up with new pandas-stubs release by binste in https://github.com/altair-viz/altair/pull/3154
* JupyterChart: Add support for params defined in the extent transform by jonmmease in https://github.com/altair-viz/altair/pull/3151
* doc: Add tooltip to Line example with custom order by NickCrews in https://github.com/altair-viz/altair/pull/3155
* docs: examples: add line plot with custom order by NickCrews in https://github.com/altair-viz/altair/pull/3156
* docs: line: Improve prose on custom ordering by NickCrews in https://github.com/altair-viz/altair/pull/3158
* docs: examples: remove connected_scatterplot by NickCrews in https://github.com/altair-viz/altair/pull/3159
* Refactor optional import logic and verify minimum versions by jonmmease in https://github.com/altair-viz/altair/pull/3160
* Governance: Mark binste as committee chair by binste in https://github.com/altair-viz/altair/pull/3165
* Add ppi argument for saving and displaying charts as PNG images by jonmmease in https://github.com/altair-viz/altair/pull/3163
* Silence AnyWidget warning (and support hot-reload) in development mode by jonmmease in https://github.com/altair-viz/altair/pull/3166
* Update roadmap.rst by mattijn in https://github.com/altair-viz/altair/pull/3167
* Add return type to transform_extent by binste in https://github.com/altair-viz/altair/pull/3169
* Use import_vl_convert in _spec_to_mimebundle_with_engine for better error message by jonmmease in https://github.com/altair-viz/altair/pull/3168
* update example world projections by mattijn in https://github.com/altair-viz/altair/pull/3170
* Send initial selections to Python in JupyterChart by jonmmease in https://github.com/altair-viz/altair/pull/3172

</details>

**Full Changelog**: https://github.com/altair-viz/altair/compare/v5.0.1...v5.1.0

5.0.1

What's Changed
* Be clearer about how vegafusion works by joelostblom in https://github.com/altair-viz/altair/pull/3052
* Use altairplot Sphinx directive of sphinxext_altair package by binste in https://github.com/altair-viz/altair/pull/3056
* Fix test command in README by binste in https://github.com/altair-viz/altair/pull/3058
* Remove extra files in site-packages from wheel by jtilly in https://github.com/altair-viz/altair/pull/3057
* Add validation of Vega-Lite schema itself by binste in https://github.com/altair-viz/altair/pull/3061
* Deprecate `.ref()` instead of removing it by mattijn in https://github.com/altair-viz/altair/pull/3063
* Update area.rst by mattijn in https://github.com/altair-viz/altair/pull/3064
* Documentation: Improve homepage by binste in https://github.com/altair-viz/altair/pull/3060
* TitleParam to Title in example gallery and sync scatterplot table by joelostblom in https://github.com/altair-viz/altair/pull/3066
* Fix bug in reconstructing layered charts with from_json/from_dict by binste in https://github.com/altair-viz/altair/pull/3068


**Full Changelog**: https://github.com/altair-viz/altair/compare/v5.0.0...v5.0.1

5.0.0

What's Changed


- Update Vega-Lite from version 4.17.0 to version 5.8.0; see [Vega-Lite Release Notes](https://github.com/vega/vega-lite/releases).

Enhancements

- As described in the release notes for [Vega-Lite 5.0.0](https://github.com/vega/vega-lite/releases/tag/v5.0.0), the primary change in this release of Altair is the introduction of parameters. There are two types of parameters, selection parameters and variable parameters. Variable parameters are new to Altair, and while selections are not new, much of the old terminology has been deprecated. See [Slider Cutoff](https://altair-viz.github.io/gallery/slider_cutoff.html) for an application of variable parameters (#2528).
- Grouped bar charts and jitter are now supported using offset channels, see [Grouped Bar Chart with xOffset](https://altair-viz.github.io/gallery/grouped_bar_chart2.html) and [Strip Plot Jitter](https://altair-viz.github.io/gallery/strip_plot_jitter.html).
- [`vl-convert`](https://github.com/vega/vl-convert) is now used as the default backend for saving Altair charts as svg and png files, which simplifies saving chart as it does not require external dependencies like `altair_saver` does (#2701). Currently, `altair_saver` does not support Altair 5 and it is recommended to switch to [`vl-convert`](https://github.com/vega/vl-convert). See [PNG, SVG, and PDF format](https://altair-viz.github.io/user_guide/saving_charts.html#png-svg-and-pdf-format) for more details.
- Saving charts with HTML inline is now supported without having `altair_saver` installed (2807).
- The default chart width was changed from `400` to `300` (2785).
- Ordered pandas categorical data are now automatically encoded as sorted ordinal data (2522)
- The `Title` and `Impute` aliases were added for `TitleParams` and `ImputeParams`, respectively (2732).
- The documentation page has been revamped, both in terms of appearance and content.
- More informative autocompletion by removing deprecated methods (2814) and for editors that rely on type hints (e.g. VS Code) we added support for completion in method chains (2846) and extended keyword completion to cover additional methods (2920).
- Substantially improved error handling. Both in terms of finding the more relevant error (2842), and in terms of improving the formatting and clarity of the error messages (2824, 2568, 2979, 3009).
- Include experimental support for the DataFrame Interchange Protocol (through `__dataframe__` attribute). This requires `pyarrow>=11.0.0` (2888).
- Support data type inference for columns with special characters (2905).
- Responsive width support using `width="container"` when saving charts to html or displaying them with the default `html` renderer (2867).

Grammar Changes

- Channel options can now be set via a more convenient method-based syntax in addition to the previous attribute-based syntax. For example, instead of `alt.X(..., bin=alt.Bin(...))` it is now recommend to use `alt.X(...).bin(...)`) (2795). See [Method-Based Syntax](https://altair-viz.github.io/user_guide/encodings/index.html#method-based-attribute-setting) for details.
- `selection_single` and `selection_multi` are now deprecated; use `selection_point` instead. Similarly, `type=point` should be used instead of `type=single` and `type=multi`.
- `add_selection` is deprecated; use `add_params` instead.
- The `selection` keyword argument must in many cases be replaced by `param` (e.g., when specifying a filter transform).
- The `empty` keyword argument for a selection parameter should be specified as `True` or `False` instead of `all` or `none`, respectively.
- The `init` keyword argument for a parameter is deprecated; use `value` instead.

Bug Fixes

- Displaying a chart not longer changes the shorthand syntax of the stored spec (2813).
- Fixed `disable_debug_mode` (2851).
- Fixed issue where the webdriver was not working with Firefox's geckodriver (2466).
- Dynamically determine the jsonschema validator to avoid issues with recent jsonschema versions (2812).

Backward-Incompatible Changes

- Colons in column names must now be escaped to remove any ambiguity with encoding types. You now need to write `"column\:name"` instead of `"column:name"` (2824).
- Removed the Vega (v5) wrappers and deprecate rendering in Vega mode (save Chart as Vega format is still allowed) (2829).
- Removed the Vega-Lite 3 and 4 wrappers (2847).
- Removed the deprecated datasets.py (3010).
- In regards to the grammar changes listed above, the old terminology will still work in many basic cases. On the other hand, if that old terminology gets used at a lower level, then it most likely will not work. For example, in the current version of [Scatter Plot with Minimap](https://altair-viz.github.io/gallery/scatter_with_minimap.html), two instances of the key `param` are used in dictionaries to specify axis domains. Those used to be `selection`, but that usage is not compatible with the current Vega-Lite schema.
- Removed the ``altair.sphinxext`` module (2792). The ``altair-plot`` Sphinx directive is now part of the [sphinxext-altair](https://github.com/altair-viz/sphinxext-altair) package.

Maintenance

- Vega-Altair now uses `hatch` for package management.
- Vega-Altair now uses `ruff` for linting.

New Contributors
* robna made their first contribution in https://github.com/altair-viz/altair/pull/2559
* tempdata73 made their first contribution in https://github.com/altair-viz/altair/pull/2652
* Ckend made their first contribution in https://github.com/altair-viz/altair/pull/2667
* brahn made their first contribution in https://github.com/altair-viz/altair/pull/2681
* jonmmease made their first contribution in https://github.com/altair-viz/altair/pull/2701
* hebarton5 made their first contribution in https://github.com/altair-viz/altair/pull/2607
* dwootton made their first contribution in https://github.com/altair-viz/altair/pull/2719
* johnmarkpittman made their first contribution in https://github.com/altair-viz/altair/pull/2747
* yanghung made their first contribution in https://github.com/altair-viz/altair/pull/2621
* daylinmorgan made their first contribution in https://github.com/altair-viz/altair/pull/2686
* xujiboy made their first contribution in https://github.com/altair-viz/altair/pull/2615
* Midnighter made their first contribution in https://github.com/altair-viz/altair/pull/2466
* dylancashman made their first contribution in https://github.com/altair-viz/altair/pull/2925
* dpoznik made their first contribution in https://github.com/altair-viz/altair/pull/3001
* m-charlton made their first contribution in https://github.com/altair-viz/altair/pull/3026
* nlafleur made their first contribution in https://github.com/altair-viz/altair/pull/2867
* kunalghosh made their first contribution in https://github.com/altair-viz/altair/pull/3046

Release Notes by Pull Request

<details><summary>Click to view all 203 PRs merged in this release</summary>

* Add strict option to sphinx extension by jtilly in https://github.com/altair-viz/altair/pull/2551
* docs: correcting regression equations by robna in https://github.com/altair-viz/altair/pull/2559
* MAINT: Fix GH actions issues by joelostblom in https://github.com/altair-viz/altair/pull/2567
* WIP: update to Vega-Lite 5.2 by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2528
* MAINT: Update actions' links to use https by joelostblom in https://github.com/altair-viz/altair/pull/2575
* DOCS: Clarify steps in the contributing guidelines by joelostblom in https://github.com/altair-viz/altair/pull/2569
* MAINT: Make sure that deprecation warnings are displayed by joelostblom in https://github.com/altair-viz/altair/pull/2577
* DOCS: Revamp docs for the 5.0 release by joelostblom in https://github.com/altair-viz/altair/pull/2566
* Pin selenium to avoid doctest breakage from deprecation by joelostblom in https://github.com/altair-viz/altair/pull/2624
* Remove broken Wikipedia donations chart by palewire in https://github.com/altair-viz/altair/pull/2625
* Tidy Falkensee case study by palewire in https://github.com/altair-viz/altair/pull/2626
* Tidy up U.S. Population by Age and Sex case study by palewire in https://github.com/altair-viz/altair/pull/2628
* Move bar chart with highlighted segment chart into the bar charts section by palewire in https://github.com/altair-viz/altair/pull/2630
* No need to say "Example" in the example headline by palewire in https://github.com/altair-viz/altair/pull/2631
* Isotype charts aren't case studies and should go in the other category by palewire in https://github.com/altair-viz/altair/pull/2632
* Top k charts aren't case studies and should go with other charts by palewire in https://github.com/altair-viz/altair/pull/2633
* Add pyramid pie chart to case studies by palewire in https://github.com/altair-viz/altair/pull/2635
* Move image tooltip example to interactive charts section by palewire in https://github.com/altair-viz/altair/pull/2636
* Move window rank technique to line charts section by palewire in https://github.com/altair-viz/altair/pull/2637
* Style fix to chart headline by palewire in https://github.com/altair-viz/altair/pull/2639
* Move scatter with histogram into scatter plots section by palewire in https://github.com/altair-viz/altair/pull/2641
* Clean up airport maps by palewire in https://github.com/altair-viz/altair/pull/2634
* Example of a line chart with a label annotating the final value by palewire in https://github.com/altair-viz/altair/pull/2623
* Update ranged_dot_plot.py by palewire in https://github.com/altair-viz/altair/pull/2642
* Tidy natural_disasters.py example by palewire in https://github.com/altair-viz/altair/pull/2643
* Create a new tables section by palewire in https://github.com/altair-viz/altair/pull/2646
* Tidy multiple_marks.py by palewire in https://github.com/altair-viz/altair/pull/2640
* docs: Fix a few typos by timgates42 in https://github.com/altair-viz/altair/pull/2649
* Create a new advanced calculations section of the example gallery by palewire in https://github.com/altair-viz/altair/pull/2647
* Tidy line chart examples by palewire in https://github.com/altair-viz/altair/pull/2644
* MAINT: Update examples and tests to VL5 syntax by joelostblom in https://github.com/altair-viz/altair/pull/2576
* formatted rst list correctly by tempdata73 in https://github.com/altair-viz/altair/pull/2652
* Added argmax example by tempdata73 in https://github.com/altair-viz/altair/pull/2653
* Change naming to alt.param and alt.add_params by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2656
* minor: update readme code by Ckend in https://github.com/altair-viz/altair/pull/2667
* use 'UndefinedLike = Any' as the type hint by brahn in https://github.com/altair-viz/altair/pull/2681
* Add gallery example for empirical cumulative distribution function by binste in https://github.com/altair-viz/altair/pull/2695
* MAINT: Replace `iteritems` with `items` by joelostblom in https://github.com/altair-viz/altair/pull/2683
* Lifting parameters to the top level by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2702
* Clarify that a special field name is required to render images in tooltips by joelostblom in https://github.com/altair-viz/altair/pull/2570
* Integrate vl-convert for saving to svg and png by jonmmease in https://github.com/altair-viz/altair/pull/2701
* Documentation for each mark type by hebarton5 in https://github.com/altair-viz/altair/pull/2607
* Include marks in sidebar/TOC by mattijn in https://github.com/altair-viz/altair/pull/2709
* use default projection from vegalite by mattijn in https://github.com/altair-viz/altair/pull/2710
* Geoshape docs revamp 5.0 by mattijn in https://github.com/altair-viz/altair/pull/2699
* fix reference geoshape.rst to index.rst and some typos by mattijn in https://github.com/altair-viz/altair/pull/2711
* Create new sections in the gallery for distributions and uncertainties and trend charts by binste in https://github.com/altair-viz/altair/pull/2706
* Update docs styling based on the new pydata template by joelostblom in https://github.com/altair-viz/altair/pull/2716
* Fix missing 's' from filename in quick start by dwootton in https://github.com/altair-viz/altair/pull/2719
* Revert undefinedlike by mattijn in https://github.com/altair-viz/altair/pull/2717
* Fix some formatting issues by binste in https://github.com/altair-viz/altair/pull/2722
* Improve documentation titles by binste in https://github.com/altair-viz/altair/pull/2721
* Make vl-convert saving work when the data server is enabled by joelostblom in https://github.com/altair-viz/altair/pull/2724
* Add toggle to hidden code snippets by joelostblom in https://github.com/altair-viz/altair/pull/2725
* MAINT: Update from v4 to v5 in some additional files by joelostblom in https://github.com/altair-viz/altair/pull/2582
* Fix syntax for with statement in _spec_to_mimebundle_with_engine by binste in https://github.com/altair-viz/altair/pull/2734
* Various smaller updates to documentation (harmonizing title cases, vega version numbers, browser compatibility, ...) by binste in https://github.com/altair-viz/altair/pull/2737
* Improve mark type sections by binste in https://github.com/altair-viz/altair/pull/2720
* Fix cut off property tables by binste in https://github.com/altair-viz/altair/pull/2746
* Update _magics.py by johnmarkpittman in https://github.com/altair-viz/altair/pull/2747
* Add waterfall chart example by yanghung in https://github.com/altair-viz/altair/pull/2621
* Run tests with Python 3.11 by binste in https://github.com/altair-viz/altair/pull/2757
* Improve waterfall example by binste in https://github.com/altair-viz/altair/pull/2756
* Improve encoding section by binste in https://github.com/altair-viz/altair/pull/2735
* documentation on spatial data by mattijn in https://github.com/altair-viz/altair/pull/2750
* Address Sphinx warnings by binste in https://github.com/altair-viz/altair/pull/2758
* fix(2675): replace entrypoints with importlib.metadata by daylinmorgan in https://github.com/altair-viz/altair/pull/2686
* DOC: add dendrogram example by xujiboy in https://github.com/altair-viz/altair/pull/2615
* fix: remove duplicate / by domoritz in https://github.com/altair-viz/altair/pull/2262
* Clarify that not all channels accept additional options by binste in https://github.com/altair-viz/altair/pull/2773
* Consolidate docs and add section on Large Datasets by binste in https://github.com/altair-viz/altair/pull/2755
* fix: remove webdriver default argument to save by Midnighter in https://github.com/altair-viz/altair/pull/2466
* Fix docs for mobile devices by binste in https://github.com/altair-viz/altair/pull/2778
* Merge data pages again by binste in https://github.com/altair-viz/altair/pull/2781
* Update github actions by binste in https://github.com/altair-viz/altair/pull/2780
* enh: remove slash from base_url instead of html_template by mattijn in https://github.com/altair-viz/altair/pull/2782
* Test vl-convert engine in chart.save test by jonmmease in https://github.com/altair-viz/altair/pull/2784
* Fix altair test save if vl-convert-python is installed and altair_saver is not by binste in https://github.com/altair-viz/altair/pull/2786
* Remove update_subtraits as not used anywhere by binste in https://github.com/altair-viz/altair/pull/2787
* Run tests for both save engines altair_saver and vl-convert-python by binste in https://github.com/altair-viz/altair/pull/2791
* move tests and sphinxext outside folder application code by mattijn in https://github.com/altair-viz/altair/pull/2792
* Add method-based attribute setting by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2795
* Modify generator to move autogenerated test to tests folder by mattijn in https://github.com/altair-viz/altair/pull/2804
* Disable uri-reference format check in jsonsschema by binste in https://github.com/altair-viz/altair/pull/2771
* Aliases for ImputeParams and TitleParams by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2732
* Update and simplify README by binste in https://github.com/altair-viz/altair/pull/2774
* Add --check to black test command by binste in https://github.com/altair-viz/altair/pull/2815
* Add test for layer properties by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2811
* docs: Use SVG thumbnail for emoji example and use VlConvert to build docs on CI by jonmmease in https://github.com/altair-viz/altair/pull/2809
* Dynamically determine jsonschema validator by binste in https://github.com/altair-viz/altair/pull/2812
* Change default chart width from 400 to 300 by binste in https://github.com/altair-viz/altair/pull/2785
* Add inline argument to chart.save() for html export by jonmmease in https://github.com/altair-viz/altair/pull/2807
* Remove side-effects of calling EncodingChannelMixin.to_dict by binste in https://github.com/altair-viz/altair/pull/2813
* WIP Parameter tests by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2828
* Add missing object attributes to __dir__ by binste in https://github.com/altair-viz/altair/pull/2831
* Clean up development and documentation requirements by binste in https://github.com/altair-viz/altair/pull/2830
* Add title section to customization page by palewire in https://github.com/altair-viz/altair/pull/2838
* Fix disable_debug_mode by binste in https://github.com/altair-viz/altair/pull/2851
* Remove vegalite v3 and v4 wrappers by binste in https://github.com/altair-viz/altair/pull/2847
* Remove vega v5 wrappers by mattijn in https://github.com/altair-viz/altair/pull/2829
* Represent pandas ordered categoricals as ordinal data by joelostblom in https://github.com/altair-viz/altair/pull/2522
* Add documentation for remaining config methods by binste in https://github.com/altair-viz/altair/pull/2853
* Reformat code base with black version 23 and restrict version by binste in https://github.com/altair-viz/altair/pull/2869
* Fix Altair import in tools scripts by binste in https://github.com/altair-viz/altair/pull/2872
* Hide deprecated callables from code completion suggestions by binste in https://github.com/altair-viz/altair/pull/2814
* Add changelog entries for 5.0 by joelostblom in https://github.com/altair-viz/altair/pull/2859
* Remove deep validation and instead use error hierarchy to improve error messages by binste in https://github.com/altair-viz/altair/pull/2842
* Make layer warnings clearer by joelostblom in https://github.com/altair-viz/altair/pull/2874
* Update Large Datasets documentation with VegaFusion 1.0 information by jonmmease in https://github.com/altair-viz/altair/pull/2855
* Add return type hints to improve code completion suggestions by binste in https://github.com/altair-viz/altair/pull/2846
* Apply minor code formatting change in tools script by binste in https://github.com/altair-viz/altair/pull/2881
* Expand mark spec when using to_dict by joelostblom in https://github.com/altair-viz/altair/pull/2823
* Report filename of failing test by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2889
* Use most specific class possible in schema validation errors by binste in https://github.com/altair-viz/altair/pull/2883
* Add announcement to docs by mattijn in https://github.com/altair-viz/altair/pull/2891
* exclude `altair_saver` in `build.yml` as Github Actions tests are not passing anymore by mattijn in https://github.com/altair-viz/altair/pull/2893
* Remove the automatic sort of categoricals for channels that do not support sorting by joelostblom in https://github.com/altair-viz/altair/pull/2885
* Add Heat Lane example by palewire in https://github.com/altair-viz/altair/pull/2882
* Support DataFrame Interchange Protocol (allow Polars DataFrames) by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2888
* Parse shorthand when creating the condition 2 by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2841
* Fix wrong json schema url in a test by binste in https://github.com/altair-viz/altair/pull/2898
* Apply minor change from 2841 in correct tools script by binste in https://github.com/altair-viz/altair/pull/2899
* Fix minor formatting issues in documentation by binste in https://github.com/altair-viz/altair/pull/2897
* No longer use deprecated SelectableGroups dict interface of entry points by binste in https://github.com/altair-viz/altair/pull/2900
* Add instructions on how to install release candidate by binste in https://github.com/altair-viz/altair/pull/2902
* Add missing attribute descriptions by binste in https://github.com/altair-viz/altair/pull/2892
* Rename 'Attributes' to 'Parameters' to fix documentation formatting by binste in https://github.com/altair-viz/altair/pull/2901
* Docstring links class transform and mark methods by mattijn in https://github.com/altair-viz/altair/pull/2912
* ENH: Make the schema validation error for non-existing params more informative by joelostblom in https://github.com/altair-viz/altair/pull/2568
* Make error messages on typos and missing/incorrect data types more informative by joelostblom in https://github.com/altair-viz/altair/pull/2824
* Include `alt.ExprRef` capabilities in `alt.expr()` by mattijn in https://github.com/altair-viz/altair/pull/2886
* Move change introduced in 2824 to tools script by binste in https://github.com/altair-viz/altair/pull/2921
* MAINT: Remove inheritance from object for classes by binste in https://github.com/altair-viz/altair/pull/2922
* Update parameter docstrings and signatures by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2908
* Update from Vega-Lite 5.2.0 to 5.6.1 by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2871
* Deprecating selection by ChristopherDavisUCI in https://github.com/altair-viz/altair/pull/2923
* Improve autocompletion for arguments to objects wrapped with use_signature by binste in https://github.com/altair-viz/altair/pull/2920
* Update docs to better describe how to use checkboxes and logic-based bindings in general by joelostblom in https://github.com/altair-viz/altair/pull/2926
* Fix test_schema_validator_selection for jsonschema<4 by binste in https://github.com/altair-viz/altair/pull/2931
* Add more information about how to handle the max rows error by palewire in https://github.com/altair-viz/altair/pull/2840
* Fix deprecation warning for SelectableGroup in Python 3.7 by binste in https://github.com/altair-viz/altair/pull/2932
* include deprecation message in docstring by mattijn in https://github.com/altair-viz/altair/pull/2930
* use selection_point or selection_interval syntax by mattijn in https://github.com/altair-viz/altair/pull/2929
* Expand and document support for column names with special characters by joelostblom in https://github.com/altair-viz/altair/pull/2905
* Fix a few remaining ocurrences of `type=` by joelostblom in https://github.com/altair-viz/altair/pull/2933
* docs: Make rendering optional for tutorial by dylancashman in https://github.com/altair-viz/altair/pull/2925
* include section on expressions for interaction by mattijn in https://github.com/altair-viz/altair/pull/2928
* Add missing pandas import in docs by joelostblom in https://github.com/altair-viz/altair/pull/2934
* fix docstrings errors by mattijn in https://github.com/altair-viz/altair/pull/2936
* include issue in announcement by mattijn in https://github.com/altair-viz/altair/pull/2938
* Add vega themes 'excel', 'googlecharts', 'powerbi' by binste in https://github.com/altair-viz/altair/pull/2943
* Docs: Fix formatting of 2 links by binste in https://github.com/altair-viz/altair/pull/2942
* Apply changes of 2931 in tools folder by binste in https://github.com/altair-viz/altair/pull/2941
* Fail build workflow if generate_schema_wrapper produces changes by binste in https://github.com/altair-viz/altair/pull/2940
* Update resource section by joelostblom in https://github.com/altair-viz/altair/pull/2415
* Shorten page title by joelostblom in https://github.com/altair-viz/altair/pull/2946
* Remove $ from bash examples on installation page by palewire in https://github.com/altair-viz/altair/pull/2962
* Slight edits and trims to the overview page by palewire in https://github.com/altair-viz/altair/pull/2961
* Include all options in enum error messages by binste in https://github.com/altair-viz/altair/pull/2957
* Type hints: Improve for encoding channel attributes by binste in https://github.com/altair-viz/altair/pull/2949
* Simplify and clean up tool folder by binste in https://github.com/altair-viz/altair/pull/2944
* Temporarily use default data transformer while saving a chart by binste in https://github.com/altair-viz/altair/pull/2954
* Cut dependencies from installation page by palewire in https://github.com/altair-viz/altair/pull/2964
* Type hints: Add static type checker mypy by binste in https://github.com/altair-viz/altair/pull/2950
* Maintenance: Remove test_schemapi.py in tools folder by binste in https://github.com/altair-viz/altair/pull/2973
* Deduplicate error messages by binste in https://github.com/altair-viz/altair/pull/2975
* Move disclaimer to the bottom of the index page by palewire in https://github.com/altair-viz/altair/pull/2960
* Consolidate naming history into overview by palewire in https://github.com/altair-viz/altair/pull/2968
* Reduce line-height in the gallery thumbnail headlines by palewire in https://github.com/altair-viz/altair/pull/2969
* Add missing descriptions to tables created with altair-object-table by binste in https://github.com/altair-viz/altair/pull/2952
* Clean tests folder by mattijn in https://github.com/altair-viz/altair/pull/2974
* Trim that eliminates redundancy by palewire in https://github.com/altair-viz/altair/pull/2985
* Trim index page language by palewire in https://github.com/altair-viz/altair/pull/2970
* Add code copy button to docs by joelostblom in https://github.com/altair-viz/altair/pull/2984
* Clarify differences between pandas and other dataframe packages by joelostblom in https://github.com/altair-viz/altair/pull/2986
* Use more idiomatic `stroke` option by joelostblom in https://github.com/altair-viz/altair/pull/2992
* Display more helpful error message when two fields strings are used in condition by joelostblom in https://github.com/altair-viz/altair/pull/2979
* Restructure and clarify interactive docs by joelostblom in https://github.com/altair-viz/altair/pull/2981
* Simplify syntax by joelostblom in https://github.com/altair-viz/altair/pull/2991
* Sync `selection_*` docstrings with signatures by dpoznik in https://github.com/altair-viz/altair/pull/3001
* Prefer method-based syntax in docs and add tabbed interface for method and attribute syntax in gallery by joelostblom in https://github.com/altair-viz/altair/pull/2983
* Fix a few doc build warnings by joelostblom in https://github.com/altair-viz/altair/pull/3004
* use `ruff` as linter by mattijn in https://github.com/altair-viz/altair/pull/3008
* remove deprecated datasets.py by mattijn in https://github.com/altair-viz/altair/pull/3010
* fix writing svg to file including emojis by mattijn in https://github.com/altair-viz/altair/pull/3015
* Simplify package mangement by mattijn in https://github.com/altair-viz/altair/pull/3007
* Update from Vega-Lite 5.6.1 to 5.7.1 by binste in https://github.com/altair-viz/altair/pull/3022
* Categories transposed in data documentation by m-charlton in https://github.com/altair-viz/altair/pull/3026
* Fix typo in docs causing code blocks to not render by joelostblom in https://github.com/altair-viz/altair/pull/3029
* include underscore after view by mattijn in https://github.com/altair-viz/altair/pull/3030
* include view definitions for a layercharts containing a repeat + toplevel selection parameter by mattijn in https://github.com/altair-viz/altair/pull/3031
* Improve readme by mattijn in https://github.com/altair-viz/altair/pull/3033
* Improve error prioritisation and messages by binste in https://github.com/altair-viz/altair/pull/3009
* Enhancement of Vega-Embed CSS for Improved Display and Flexibility by nlafleur in https://github.com/altair-viz/altair/pull/2867
* update vega expressions options by mattijn in https://github.com/altair-viz/altair/pull/3034
* re-include interactive_layered_crossfilter by mattijn in https://github.com/altair-viz/altair/pull/3036
* Update from Vega-Lite 5.7.1 to 5.8.0 by mattijn in https://github.com/altair-viz/altair/pull/3037
* Increase minimum required jsonschema (`>=4.0.01`) by mattijn in https://github.com/altair-viz/altair/pull/3039
* Add info that altair_saver does not yet support Altair 5 by binste in https://github.com/altair-viz/altair/pull/3042
* geopandas.datasets is deprecated by mattijn in https://github.com/altair-viz/altair/pull/3043
* reintroduce support `jsonschema>=3.0` by mattijn in https://github.com/altair-viz/altair/pull/3044
* Update core.py by kunalghosh in https://github.com/altair-viz/altair/pull/3046
* update display.py, fix broken link by mattijn in https://github.com/altair-viz/altair/pull/3047

</details>

**Full Changelog**: https://github.com/altair-viz/altair/compare/v4.2.0...v5.0.0

4.2.2

Bug Fixes

* Fix incompatibility with jsonschema < 4.5 which got introduced in Altair 4.2.1 (2860).

**Full Changelog**: https://github.com/altair-viz/altair/compare/v4.2.1...v4.2.2

4.2.1

Note: This version requires `jsonschema>=4.5.0` see (https://github.com/altair-viz/altair/issues/2857).

Bug Fixes

- Disable uri-reference format check in jsonsschema (2771).
- Replace ``iteritems`` with ``items`` due to pandas deprecation (2683).

Maintenance

- Add deprecation and removal warnings for Vega-Lite v3 wrappers and Vega v5 wrappers (2843).

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.