{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":42757577,"defaultBranch":"main","name":"altair","ownerLogin":"vega","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-09-19T03:14:04.000Z","ownerAvatar":"https://github.com/avatars/u/11796929?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718775942.0","currentOid":""},"activityList":{"items":[{"before":"15f115134e6a6d3234ccc7230f65b1fb1d10f8c8","after":"95f654fcd036069e1101883d176ec67c6f13fa25","ref":"refs/heads/main","pushedAt":"2024-08-04T14:10:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"docs: Versioning policy (#3488)\n\n* docs: create `versioning.rst` placeholder\r\n\r\n* docs: add link to `roadmap.rst`\r\n\r\n* docs: Initial `versioning.rst` draft\r\n\r\nBased on discussions in https://github.com/vega/altair/issues/3454#issuecomment-2201979525 and https://github.com/vega/altair/issues/3454#issuecomment-2232623054\r\n\r\nhttps://github.com/vega/altair/issues/3454\r\n\r\n* docs: fix version number in italics\r\n\r\n* docs: add `Version numbers` heading\r\n\r\n* docs: add `Deprecation` section\r\n\r\n* docs: Clarify upstream breaking -> warning option\r\n\r\nhttps://github.com/vega/altair/pull/3488#issuecomment-2259015194\r\n\r\n* docs: add undoc statement\r\n\r\nhttps://github.com/vega/altair/pull/3488#issuecomment-2258742629\r\n\r\n* docs: Clearly define **Public API**\r\n\r\nIntentionally simple, see linked thread for discussion\r\n\r\nhttps://github.com/vega/altair/discussions/3478#discussioncomment-10059436\r\n\r\n* docs: Tweak formatting of deprecation section","shortMessageHtmlLink":"docs: Versioning policy (#3488)"}},{"before":"c12ca27362da791a57b89e0b58d3352b75cbc8ca","after":"15f115134e6a6d3234ccc7230f65b1fb1d10f8c8","ref":"refs/heads/main","pushedAt":"2024-08-04T12:34:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"feat: Adds 4 missing `carbon` themes, provide autocomplete (#3516)\n\n* style: Sort `VEGA_THEMES` alphabetically\r\n\r\n* feat: Add missing `carbon...` themes\r\n\r\nExamples https://vega.github.io/vega-themes/?theme=carbonwhite\r\n\r\nRelated https://github.com/vega/vega-themes/pull/587\r\n\r\n* feat(typing): Support autocomplete for `themes.enable(name)`\r\n\r\nAnd provide link to `vega-themes` playground\r\n\r\n* chore: Fix `PluginRegistery` comment typo\r\n\r\n* Add comments\r\n\r\n---------\r\n\r\nCo-authored-by: Stefan Binder ","shortMessageHtmlLink":"feat: Adds 4 missing carbon themes, provide autocomplete (#3516)"}},{"before":"6c4c7856a5b134103d3db1205035d08a83fc3aa6","after":"c12ca27362da791a57b89e0b58d3352b75cbc8ca","ref":"refs/heads/main","pushedAt":"2024-08-03T21:35:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: Update link to Altair Ally (#3517)","shortMessageHtmlLink":"docs: Update link to Altair Ally (#3517)"}},{"before":"a84783359b933b371dad1d1f1233304c5daf84e5","after":"6c4c7856a5b134103d3db1205035d08a83fc3aa6","ref":"refs/heads/main","pushedAt":"2024-08-02T17:07:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"refactor(ruff): Organize imports w/ (`I001`, `TID252`) rules (#3513)","shortMessageHtmlLink":"refactor(ruff): Organize imports w/ (I001, TID252) rules (#3513)"}},{"before":"d2325e3dd2a2af9156fcb1a1e3a3ff655a31128e","after":"a84783359b933b371dad1d1f1233304c5daf84e5","ref":"refs/heads/main","pushedAt":"2024-08-02T06:26:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"feat(typing): Fully annotate `api.py` (#3508)\n\n* ci(ruff): Add `ANN` rules for `api.py` only\r\n\r\nTo highlight all the missing annotations to fix and autofix `None` return\r\n\r\n* feat(typing): Complete annotations for most `api` functions\r\n\r\nExcluding `*args` on `ChartType` wrappers. They need to be defined in alignment in multiple places, which is more complex\r\n\r\n* feat(typing): Annotate more expr/params in `api`\r\n\r\n* feat(typing): Various changes to enforce `dict[str, Any]` instead of `dict`\r\n\r\nAmong these, many locations already assume `str` keys in the implementation - without checking\r\n\r\n* feat(typing): Misc minor method annotations\r\n\r\n* feat(typing): Use `ChartType` in all `ChartType` dunder methods\r\n\r\n* fix(ruff): Ignore some `ANN` rules that won't be fixed\r\n\r\n* chore: add pyright ignore from #3492\r\n\r\n* feat(typing): Improve `ChartType` constructor/factory annotations\r\n\r\n* feat(typing): Annotate remaining functions in `api`\r\n\r\n* feat(typing): Complete `RepeatChart` annotations\r\n\r\n* fix(typing): Resolve Liskov violations\r\n\r\n```\r\naltair\\vegalite\\v5\\api.py:4368: error: Argument 1 of \"__iadd__\" is incompatible with \"__add__\" of supertype \"TopLevelMixin\"; supertype defines the argument type as \"Chart | RepeatChart | ConcatChart | HConcatChart | VConcatChart | FacetChart | LayerChart\" [override] def __iadd__(self, other: LayerChart | Chart) -> Self: ^~~~~~~~~~~~~~~~~~~~~~~~~ altair\\vegalite\\v5\\api.py:4368: note: This violates the Liskov substitution principle altair\\vegalite\\v5\\api.py:4368: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides altair\\vegalite\\v5\\api.py:4376: error: Argument 1 of \"__add__\" is incompatible with supertype \"TopLevelMixin\"; supertype defines the argument type as \"Chart | RepeatChart | ConcatChart | HConcatChart | VConcatChart | FacetChart | LayerChart\" [override] def __add__(self, other: LayerChart | Chart) -> Self: ^~~~~~~~~~~~~~~~~~~~~~~~~ altair\\vegalite\\v5\\api.py:4376: note: This violates the Liskov substitution principle altair\\vegalite\\v5\\api.py:4376: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides\r\n```\r\n\r\n* chore(typing): Update more `dict` -> `dict[str, Any]`\r\n\r\n* style(ruff): fix whitespace\r\n\r\n* chore: Remove TODO fixed in #3480\r\n\r\n* fix(typing): Enable `ANN003` and fix all in `api`\r\n\r\n* fix(typing): Enable `ANN002` and fix all in `api`\r\n\r\n* chore(ruff): Add note on `ANN`\r\n\r\nThis could later be extended to other modules, but for now `api` is complete.\r\n\r\n* fix(typing): Add missing `FacetChart` annotations\r\n\r\nTo align with the other `ChartType`s","shortMessageHtmlLink":"feat(typing): Fully annotate api.py (#3508)"}},{"before":"2c9a72780ea4fa16632cfd0fd41dc9feb6eab67e","after":"d2325e3dd2a2af9156fcb1a1e3a3ff655a31128e","ref":"refs/heads/main","pushedAt":"2024-07-31T16:12:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"fix: replace deprecated `sphinx` default (#3512)\n\nRemoves a warning from doc build","shortMessageHtmlLink":"fix: replace deprecated sphinx default (#3512)"}},{"before":"02532b6400b82f00e293753bbbaf0530651455eb","after":"2c9a72780ea4fa16632cfd0fd41dc9feb6eab67e","ref":"refs/heads/main","pushedAt":"2024-07-30T18:07:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: Remove reference to `altair_saver` in `save` (#3510)","shortMessageHtmlLink":"docs: Remove reference to altair_saver in save (#3510)"}},{"before":"e4fb2c9e716b6d8388f097480aadf40cbb5f5cc7","after":"02532b6400b82f00e293753bbbaf0530651455eb","ref":"refs/heads/main","pushedAt":"2024-07-30T15:38:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: Undoc deprecated functionality (#3509)","shortMessageHtmlLink":"docs: Undoc deprecated functionality (#3509)"}},{"before":"7fe29d30166ce1ea1d33b01efadd37ec27bdc46b","after":"e4fb2c9e716b6d8388f097480aadf40cbb5f5cc7","ref":"refs/heads/main","pushedAt":"2024-07-29T20:52:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: `when-then-otherwise` examples (#3492)\n\n* docs: adapt `empty` note for `when`, `Then.when`\r\n\r\n* docs: Add example for `Then.when`\r\n\r\n* docs: Add an example to `Then.otherwise`\r\n\r\n* chore(typing): add pyright ignore\r\n\r\nWasn't picked up in #3480\r\n\r\n* docs: Add example for `When.then`\r\n\r\nAdapted from the final example in https://vega.github.io/vega-lite/docs/condition.html\r\n\r\n* docs: Add example for `ChainedWhen.then`\r\n\r\n* docs: Add real-world examples for `alt.when`\r\n\r\nCovers everything apart from chained when\r\n\r\n* docs: Update `polars.when` references\r\n\r\nNow all link to docs, rather than source code\r\n\r\nhttps://github.com/vega/altair/pull/3492#issuecomment-2251475156\r\n\r\n* feat: Add `__repr__` for `When`, `ChainedWhen`\r\n\r\nhttps://github.com/vega/altair/pull/3492#issuecomment-2251475156\r\n\r\n* Update altair/vegalite/v5/api.py\r\n\r\nCo-authored-by: Mattijn van Hoek \r\n\r\n---------\r\n\r\nCo-authored-by: Mattijn van Hoek ","shortMessageHtmlLink":"docs: when-then-otherwise examples (#3492)"}},{"before":"1939ebda6101eae77e254c5ffb90a3cf0ad4d6b4","after":"7fe29d30166ce1ea1d33b01efadd37ec27bdc46b","ref":"refs/heads/main","pushedAt":"2024-07-29T16:47:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"build: Add `ipykernel` optional dependency to `dev` group (#3507)","shortMessageHtmlLink":"build: Add ipykernel optional dependency to dev group (#3507)"}},{"before":"ced6553cdd08929adfa32730ddc88911c639e90e","after":"1939ebda6101eae77e254c5ffb90a3cf0ad4d6b4","ref":"refs/heads/main","pushedAt":"2024-07-27T20:39:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"refactor: replace archived `m2r` with updated `mistune` (#3506)","shortMessageHtmlLink":"refactor: replace archived m2r with updated mistune (#3506)"}},{"before":"679a7ce30cb3366319bce2f4211dd62a5a80c87c","after":"ced6553cdd08929adfa32730ddc88911c639e90e","ref":"refs/heads/main","pushedAt":"2024-07-27T18:37:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"fix: Avoid `sphinx` error \"Code Execution failed:NameError: name 'format_locale' is not defined\" (#3503)","shortMessageHtmlLink":"fix: Avoid sphinx error \"Code Execution failed:NameError: name 'for…"}},{"before":"355f8883997f552d18aaf3d5b60bc16fea388fd4","after":"679a7ce30cb3366319bce2f4211dd62a5a80c87c","ref":"refs/heads/main","pushedAt":"2024-07-25T21:35:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"ci: relax `numpy<=2.0.0` constraint (#3504)\n\n* ci(ruff): add `numpy` rules\r\n\r\nhttps://docs.astral.sh/ruff/rules/#numpy-specific-rules-npy\r\n\r\n* fix(ruff): Replace legacy random `NPY002`\r\n\r\nhttps://docs.astral.sh/ruff/rules/numpy-legacy-random/\r\n\r\n* ci: remove `numpy` upper bound","shortMessageHtmlLink":"ci: relax numpy<=2.0.0 constraint (#3504)"}},{"before":"781c5079ff4e467d6b5a33dd71a5decbbd5838b9","after":"355f8883997f552d18aaf3d5b60bc16fea388fd4","ref":"refs/heads/main","pushedAt":"2024-07-25T04:29:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"ci(ruff): Remove stale `docstring-code-format` comment (#3496)\n\nI left this as a TODO during #3493 and only spotted it after merging","shortMessageHtmlLink":"ci(ruff): Remove stale docstring-code-format comment (#3496)"}},{"before":"0f16abba7befe50b82583c1a2fb20c7a05c56ebe","after":"781c5079ff4e467d6b5a33dd71a5decbbd5838b9","ref":"refs/heads/main","pushedAt":"2024-07-24T09:02:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joelostblom","name":"Joel Ostblom","path":"/joelostblom","primaryAvatarUrl":"https://github.com/avatars/u/4560057?s=80&v=4"},"commit":{"message":"ci: Add `python-version==\"3.9\"` to github action (#3498)\n\nAddresses one item in https://github.com/vega/altair/issues/3497","shortMessageHtmlLink":"ci: Add python-version==\"3.9\" to github action (#3498)"}},{"before":"f2ac0a14294da11cd29cf57753d774f9a71ff173","after":"0f16abba7befe50b82583c1a2fb20c7a05c56ebe","ref":"refs/heads/main","pushedAt":"2024-07-23T13:58:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"ci: include optional dependencies for Polars backend in ibis-framework install (#3494)","shortMessageHtmlLink":"ci: include optional dependencies for Polars backend in ibis-framewor…"}},{"before":"2b2f0b87437cadc5931362bb5a7a639b76dcbd37","after":"f2ac0a14294da11cd29cf57753d774f9a71ff173","ref":"refs/heads/main","pushedAt":"2024-07-22T21:10:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"refactor(docs, ruff): Add `pydocstyle` rules (#3493)","shortMessageHtmlLink":"refactor(docs, ruff): Add pydocstyle rules (#3493)"}},{"before":"3f96b748ec12e6d3d2ba79141695b689a51a2a3c","after":"2b2f0b87437cadc5931362bb5a7a639b76dcbd37","ref":"refs/heads/main","pushedAt":"2024-07-22T18:36:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"fix: Restrict static & runtime top-level imports (#3482)\n\n* feat: generate an `__all__` for `channels.py`\r\n\r\nThis missing is the main source of unpredictable imports.\r\n\r\nI've explicitly not included the `Mixin` classes, side effect imports (e.g. `Undefined`, `parse_shorthand`, `@overload`) and `@with_property_setters`\r\n\r\n* build: run `generate-schema-wrapper`\r\n\r\n* refactor: change the sources for some import in `api`\r\n\r\n* refactor: add explicit import for `utils.parse_shorthand`\r\n\r\nThis was the only side-effect import that I imagine was useful\r\n\r\n* build: run `update-init-file`\r\n\r\n* chore(ruff): replace blanket `noqa` with specific rules\r\n\r\n* refactor: add explicit imports in `v5.__init__.py`\r\n\r\nPreviously imported in `api` -> here\r\n\r\n* feat: define an `__all__` for `api.py` manually\r\n\r\nCurrently not included deprecations, but will probably have to revert later\r\n\r\n* refactor: add explicit imports for `Optional`, `Undefined`\r\n\r\n* build: run `update-init-file`\r\n\r\nDropped from top-level:\r\n`DataType`, `TOPLEVEL_ONLY_KEYS`, `mixins`\r\n\r\n* test: use explicit import for `Undefined`\r\n\r\n* test: use explicit import for `AltairDeprecationWarning`\r\n\r\n* fix: add deprecations to `api.py`s `__all__`\r\n\r\n* revert: Include `mixins`, `DataType`, `TOPLEVEL_ONLY_KEYS` in `api.__all__`\r\n\r\nhttps://github.com/vega/altair/pull/3482#issuecomment-2241577342\r\n\r\n* chore: remove TODO\r\n\r\n* revert: include channels mixins and `with_property_setters` in `channels.__all__`\r\n\r\n* build: run `generate-schema-wrapper`\r\n\r\n* build: run `update-init-file`","shortMessageHtmlLink":"fix: Restrict static & runtime top-level imports (#3482)"}},{"before":"c29afaa49388564ae0d1755b2bfbb259617089b8","after":"3f96b748ec12e6d3d2ba79141695b689a51a2a3c","ref":"refs/heads/main","pushedAt":"2024-07-22T08:38:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"refactor: Rename and move `is_undefined`, `OneOrSeq` (#3491)\n\n* refactor: Rename and move `is_undefined`\r\n\r\nPlanned in: https://github.com/vega/altair/pull/3480/files/419a4e944f231026322e2c4f137e7a3eb94735e8#r1679197993\r\n\r\n- `api._is_undefined` -> `schemapi.is_undefined`\r\n- Added to `utils.__all__`\r\n\r\n* refactor: Rename and move `OneOrSeq`\r\n\r\nPlanned in https://github.com/vega/altair/pull/3427#discussion_r1683242081\r\n\r\nWill allow for more reuse","shortMessageHtmlLink":"refactor: Rename and move is_undefined, OneOrSeq (#3491)"}},{"before":"24e03154fb93c26eccf72d0d31fc6bc777cc0526","after":"c29afaa49388564ae0d1755b2bfbb259617089b8","ref":"refs/heads/main","pushedAt":"2024-07-21T16:30:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: Add `empty` as a explicit `condition` kwarg (#3490)","shortMessageHtmlLink":"docs: Add empty as a explicit condition kwarg (#3490)"}},{"before":"72bd84df76b405e2e6fc96f2c323470b0cf4bd02","after":"24e03154fb93c26eccf72d0d31fc6bc777cc0526","ref":"refs/heads/main","pushedAt":"2024-07-20T20:31:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"fix: remove unsupported `sphinx` theme option `'footer_items'` (#3489)","shortMessageHtmlLink":"fix: remove unsupported sphinx theme option 'footer_items' (#3489)"}},{"before":"7f514c9e6e5ee8e8b8496efdd72b08584c8a6dc3","after":"72bd84df76b405e2e6fc96f2c323470b0cf4bd02","ref":"refs/heads/main","pushedAt":"2024-07-20T19:05:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"refactor(typing): reduce type ignores in `api.py` (#3480)\n\n* refactor(typing): reduce type ignores in `api.py`\r\n\r\n* feat(typing): adds `_is_undefined` guard\r\n\r\nDirect copy from another PR, but is helpful here https://github.com/dangotbanned/altair/blob/d607c70824860ef3478d7d3996d26dc516d69369/altair/vegalite/v5/api.py#L504\r\n\r\n* fix(typing): `ignore[index]` from #3455\r\n\r\n* fix(typing): `[ignore[arg-type]` from #3452\r\n\r\n* refactor(typing): use `_is_undefined` in some cases\r\n\r\n* refactor: reduce code duplication in `Chart.to_dict`\r\n\r\n* fix(typing): Recover `TopLevelMixin.resolve_` return types\r\n\r\nI removed these in 6adf564855f627f5d418c0b3ff73c9bb070e61a7 due to how complex they were getting, but both `mypy` and `pyright` seem happy with this solution\r\n\r\n* fix(typing): narrow annotated types for `_check_if_valid_subspec`\r\n\r\nFollowing investigation during https://github.com/vega/altair/pull/3480#discussion_r1680848075\r\n\r\n* refactor: remove unused `_wrapper_classes` argument from `SchemaBase`\r\n\r\nFixes:\r\n- https://github.com/vega/altair/pull/3480#discussion_r1681449076\r\n- https://github.com/vega/altair/pull/3480#discussion_r1679705132\r\n- https://github.com/vega/altair/pull/3480#discussion_r1679690735","shortMessageHtmlLink":"refactor(typing): reduce type ignores in api.py (#3480)"}},{"before":"b1b8c6e804ba45bb85f35ea9fc9a18e325a638c4","after":"7f514c9e6e5ee8e8b8496efdd72b08584c8a6dc3","ref":"refs/heads/main","pushedAt":"2024-07-20T19:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"docs: Add example for *Bar Chart with Highlighting on Hover and Selection on Click* (#3485)","shortMessageHtmlLink":"docs: Add example for *Bar Chart with Highlighting on Hover and Selec…"}},{"before":"b9d3fd4480461cdad4ec0317c92441de753b8ad9","after":"b1b8c6e804ba45bb85f35ea9fc9a18e325a638c4","ref":"refs/heads/main","pushedAt":"2024-07-20T18:51:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"fix(typing): Resolve `mypy==1.11.0` issues in `plugin_registry` (#3487)","shortMessageHtmlLink":"fix(typing): Resolve mypy==1.11.0 issues in plugin_registry (#3487)"}},{"before":"80939e74ef4b5b2fc2c5dbb9ea30d2478d523b9c","after":"b9d3fd4480461cdad4ec0317c92441de753b8ad9","ref":"refs/heads/main","pushedAt":"2024-07-20T12:31:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jonmmease","name":"Jon Mease","path":"/jonmmease","primaryAvatarUrl":"https://github.com/avatars/u/15064365?s=80&v=4"},"commit":{"message":"feat: Reimplement `expr` as a class that is understood by IDEs (#3466)\n\n* fix: Use absolute imports explicitly\r\n\r\nFixes the mypy issue referenced in `alt.__init__.py`\r\n\r\n* refactor: remove dynamic globals manipulation\r\n\r\nThe results of `_populate_namespace` were only visible in a `IPython` environment\r\n\r\n* feat: Reimplement `expr` as a class w/ identicial semantics as the singleton\r\n\r\n- all `ConstExpression`s are now read-only properties stored in a metaclass\r\n- `expr` subclasses `ExprRef`, replacing the `__call__` w/ `__new__`\r\n - No instances of `expr` are ever created\r\n- All `FunctionExpression`s are now classmethods\r\n- Each `Expression` can now be referenced in autocomplete, without needing `IPython`/`Jupyter`\r\n- Docstrings have been reformatted to be compatible with `sphinx`\r\n- Broken links in docstrings fixed (e.g. for d3)\r\n- class-level doc for `expr`, with references & doctest\r\n\r\n* fix: use absolute imports in `test_expr`\r\n\r\nPreviously relied on the dynamic globals\r\n\r\n* test(perf): rewrite `expr` tests to run in parallel\r\n\r\nPreviously 2 tests, now 170+\r\n\r\n* test: confirm `expr` constants stay constant\r\n\r\n* chore(typing): add ignores not flagged by mypy\r\n\r\n* docs: adds `alt.expr` to API Reference\r\n\r\nUses the section heading proposed in https://github.com/vega/altair/pull/3427#discussion_r1659965947\r\n\r\nExpands on https://github.com/vega/altair/issues/2904\r\n\r\n* test: ensure `test_expr_consts_immutable` pattern works for all versions\r\n\r\n* docs: fix typos, regex artifacts, apply some `ruff` `D` rules\r\n\r\n* docs: add doc for `_ConstExpressionType`\r\n\r\n* test: make `expr` doctest testable\r\n\r\nI left this out initially, but by adding static `Parameter` names it is now possible\r\n\r\n* fix: re-run `generate-schema-wrapper`\r\n\r\nhttps://github.com/vega/altair/actions/runs/10005909777/job/27657526013?pr=3466\r\n\r\n* refactor: Remove `expr` test dependency on constants\r\n\r\nFixes https://github.com/vega/altair/pull/3466#issuecomment-2239264620\r\n\r\n* style: remove trailing commas in `@pytest.mark.parametrize`","shortMessageHtmlLink":"feat: Reimplement expr as a class that is understood by IDEs (#3466)"}},{"before":"5f6a2ab69cd59e9655b1d269d12ab7014923f39f","after":"80939e74ef4b5b2fc2c5dbb9ea30d2478d523b9c","ref":"refs/heads/main","pushedAt":"2024-07-19T14:43:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jonmmease","name":"Jon Mease","path":"/jonmmease","primaryAvatarUrl":"https://github.com/avatars/u/15064365?s=80&v=4"},"commit":{"message":"test: skip `ibis` test on unsupported `python` version (#3486)\n\n* test: skip `ibis` test on unsupported `python` version\r\n\r\nAlways was emitting the same warning on `3.8`, `3.9`:\r\n\r\n```\r\n================================================================================================= warnings summary ================================================================================================= tests/vegalite/v5/test_api.py::test_ibis_with_date_32 /altair/altair/vegalite/v5/api.py:233: UserWarning: data of type not recognized warnings.warn(f\"data of type {type(data)} not recognized\", stacklevel=1) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ==================================================================================== 210 passed, 1 xfailed, 1 warning in 17.92s ====================================================================================\r\n```\r\n\r\n* test: lower the minimum `python` 3.10 -> 3.9 for `ibis`\r\n\r\nhttps://github.com/vega/altair/pull/3486#issuecomment-2239254956","shortMessageHtmlLink":"test: skip ibis test on unsupported python version (#3486)"}},{"before":"bdc747da566bf1c42f2a80fbf2e7a81cd656109f","after":"5f6a2ab69cd59e9655b1d269d12ab7014923f39f","ref":"refs/heads/main","pushedAt":"2024-07-18T21:20:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"ci: bump `ruff>=0.5.3` for `PLW1514` fix (#3484)","shortMessageHtmlLink":"ci: bump ruff>=0.5.3 for PLW1514 fix (#3484)"}},{"before":"f8c9776a72afa433f3e6b311bdaf5133d38f127b","after":"bdc747da566bf1c42f2a80fbf2e7a81cd656109f","ref":"refs/heads/main","pushedAt":"2024-07-18T21:09:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mattijn","name":"Mattijn van Hoek","path":"/mattijn","primaryAvatarUrl":"https://github.com/avatars/u/5186265?s=80&v=4"},"commit":{"message":"feat: Improve the syntax for conditions with multiple predicates (#3427)","shortMessageHtmlLink":"feat: Improve the syntax for conditions with multiple predicates (#3427)"}},{"before":"9afd374a83f954e79a5fd6e4f8a8a9c4e5381c04","after":"f8c9776a72afa433f3e6b311bdaf5133d38f127b","ref":"refs/heads/main","pushedAt":"2024-07-17T17:42:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"feat: Upgrade Vega-Lite from 5.17.0 to 5.19.0 (#3479)\n\n* feat: Upgrade Vega-Lite from 5.17.0 to 5.19.0\r\n\r\n* Add support for new resolve argument for density transform\r\n\r\n* Update editor url in test. Adapt to fixed typo in utcweeksdayhours\r\n\r\n* Bump VL version used for JupyterChart\r\n\r\n* Bump minimum vl-convert version to 1.5","shortMessageHtmlLink":"feat: Upgrade Vega-Lite from 5.17.0 to 5.19.0 (#3479)"}},{"before":"2036b9940234cff7b7859fba4c139d0bf8dc5027","after":"9afd374a83f954e79a5fd6e4f8a8a9c4e5381c04","ref":"refs/heads/main","pushedAt":"2024-07-16T04:43:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"binste","name":"Stefan Binder","path":"/binste","primaryAvatarUrl":"https://github.com/avatars/u/23366411?s=80&v=4"},"commit":{"message":"feat(typing): `@deprecated` versioning, IDE highlighting (#3455)\n\n* feat(typing): DRAFT `@deprecated` improvements\r\n\r\nSupporting draft PR to attach to upcoming issue\r\n\r\n* feat: adds `deprecate` function\r\n\r\nThis wrapper format seems to satisfy `pyright` enough to trigger a strikethrough\r\n\r\n* refactor: use singular `@deprecated`, export in `utils`\r\n\r\n- The export is safe and doesn't leak to top level\r\n\r\n* refactor: extract `_format_message`, add `PEP 702` reference\r\n\r\n* feat: adds `deprecated_warn`\r\n\r\nNon-decorator counterpart to `@deprecated`\r\n\r\n* test: add test for `deprecated_warn`\r\n\r\n* refactor: standardise warnings with `deprecated_warn`\r\n\r\n]\r\n\r\n* fix: add explicit top-level import `AltairDeprecationWarning`\r\n\r\nResolves https://github.com/vega/altair/pull/3455#discussion_r1678237304\r\n\r\nNote: The other imports changes are simply to align with my other PRs in review","shortMessageHtmlLink":"feat(typing): @deprecated versioning, IDE highlighting (#3455)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEkVHhfgA","startCursor":null,"endCursor":null}},"title":"Activity · vega/altair"}