Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FAQ answer about API stability & backwards compatibility #9855

Merged
merged 21 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
01e7518
new blank whatsnew
TomNicholas Oct 24, 2024
83e553b
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Oct 24, 2024
e44326d
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 8, 2024
4e4eeb0
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 20, 2024
d858059
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 21, 2024
d377780
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 21, 2024
3132f6a
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 23, 2024
900eef5
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Nov 29, 2024
4c4462f
Merge branch 'main' of https://github.com/pydata/xarray
TomNicholas Dec 4, 2024
aa60602
FAQ answer on API stability
TomNicholas Dec 4, 2024
2e2857e
link from API docs page
TomNicholas Dec 4, 2024
ae0275b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
330bfdb
whatsnew
TomNicholas Dec 4, 2024
e9c16a9
Merge branch 'api_stability' of https://github.com/TomNicholas/xarray…
TomNicholas Dec 4, 2024
9fcfad4
Update doc/getting-started-guide/faq.rst
TomNicholas Dec 5, 2024
f2327df
Merge branch 'main' into api_stability
kmuehlbauer Dec 16, 2024
df555e9
Merge branch 'main' into api_stability
kmuehlbauer Jan 22, 2025
ab33d46
use hyphen in target names
kmuehlbauer Jan 22, 2025
b351e5d
Merge branch 'main' into api_stability
kmuehlbauer Jan 30, 2025
bb7fe2c
Merge branch 'main' into api_stability
kmuehlbauer Jan 30, 2025
368ee00
Update doc/getting-started-guide/faq.rst
kmuehlbauer Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This page provides an auto-generated summary of xarray's API. For more details
and examples, refer to the relevant chapters in the main part of the
documentation.

See also: :ref:`public api`
See also: :ref:`public api` and :ref:`api stability`.

Top-level functions
===================
Expand Down
12 changes: 12 additions & 0 deletions doc/getting-started-guide/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,18 @@ would certainly appreciate it. We recommend two citations.
url = {https://doi.org/10.5281/zenodo.59499}
}

.. _api stability:

How stable is Xarray's API?
---------------------------

Xarray tries very hard to maintain backwards compatibility in our :ref:`api` between released versions.
Whilst we do occasionally make breaking changes in order to improve the library,
we try to `signpost changes <https://docs.xarray.dev/en/stable/contributing.html#backwards-compatibility>`_ with ``DeprecationWarnings`` for many months in advance.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
we try to `signpost changes <https://docs.xarray.dev/en/stable/contributing.html#backwards-compatibility>`_ with ``DeprecationWarnings`` for many months in advance.
we `signpost changes <https://docs.xarray.dev/en/stable/contributing.html#backwards-compatibility>`_ with ``DeprecationWarnings`` for many releases in advance.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or

Suggested change
we try to `signpost changes <https://docs.xarray.dev/en/stable/contributing.html#backwards-compatibility>`_ with ``DeprecationWarnings`` for many months in advance.
our policy is to `signpost changes <https://docs.xarray.dev/en/stable/contributing.html#backwards-compatibility>`_ with ``DeprecationWarnings`` for many releases in advance.

(An exception is bugs - whose behaviour we try to fix as soon as we notice them.)
Our `test-driven development practices <https://docs.xarray.dev/en/stable/contributing.html#test-driven-development-code-writing>`_ help to ensure any accidental regressions are caught.
kmuehlbauer marked this conversation as resolved.
Show resolved Hide resolved
This philosophy applies to everything in the `public API <https://docs.xarray.dev/en/stable/getting-started-guide/faq.html#what-parts-of-xarray-are-considered-public-api>`_.

.. _public api:

What parts of xarray are considered public API?
Expand Down
2 changes: 2 additions & 0 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ Bug fixes
Documentation
~~~~~~~~~~~~~

- Clarified xarray's policy on API stability in the FAQ. (:issue:`9854`, :pull:`9855`)
By `Tom Nicholas <https://github.com/TomNicholas>`_.

Internal Changes
~~~~~~~~~~~~~~~~
Expand Down
Loading