From a11ad8079a743979008812dadf5a4e31ba9332fd Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:05:49 +0200 Subject: [PATCH 01/12] docs: deprecating a library --- doc/source/how-to/deprecating.rst | 120 ++++++++++++++++++++++++++++++ doc/source/how-to/index.rst | 7 ++ doc/source/links.rst | 10 ++- 3 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 doc/source/how-to/deprecating.rst diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst new file mode 100644 index 000000000..c046dc607 --- /dev/null +++ b/doc/source/how-to/deprecating.rst @@ -0,0 +1,120 @@ +.. _deprecating: + +Deprecating a library +===================== + +As time passes, some libraries may become outdated or replaced by better alternatives. +When this happens, it is important to deprecate the old library properly to ensure users +are aware of the change and can transition smoothly. + +In the PyAnsys ecosystem, we follow a specific process for deprecating libraries. +This process helps maintain clarity and consistency across our projects. + +Maintainer tasks +---------------- + +When a library is no longer maintained or has been replaced by a better alternative, + +If you are a maintainer of a library that is being deprecated, please follow these steps. As +an illustrative example, the deprecation of `PyAdditive Widgets `_ +is used in this guide. + +1. **Inform the PyAnsys Core team**: Before proceeding with the deprecation, it is essential to + inform the PyAnsys Core team. This can be done by sending an email to + the team at `pyansys.core@ansys.com `_. This step ensures that the + deprecation is communicated effectively and that the team can assist with any necessary + changes in the PyAnsys ecosystem. +2. **Close all open issues and pull requests**: Before deprecating the library, ensure that all + open issues and pull requests in the library's repository are closed. This helps to avoid + confusion and ensures that users are aware that the library is no longer actively maintained. + You can close issues and pull requests with a comment explaining that the library is being + deprecated and will no longer be supported. +3. **Create a deprecation issue**: Open an issue in the library's repository to announce the + deprecation. This issue should explain why the library is being deprecated, what alternatives + are available, and any relevant timelines. See a template below for the issue content. + + .. warning:: + + Make sure to adapt the template to your specific library and situation! + + .. code:: markdown + + ## ⚠️ Project Deprecation Notice + + **This repository is no longer maintained as of [DATE].** + + ### Reason for deprecation + [Explain briefly why the project is being deprecated — e.g., better alternatives, no time to maintain, outdated use case.] + + ### Alternatives + If you're looking for a maintained alternative, consider: + - [Alternative 1](https://...) + - [Alternative 2](https://...) + + ### What this means + - No further updates, bug fixes, or pull request reviews + - Issues will be closed + - The repository will be archived + + Thank you to everyone who contributed, used, or supported this project! + + This issue will serve as a permanent record of the deprecation and provide users with + necessary information about alternatives. + + Make sure to pin the issue to the top of the repository so that it is easily visible to users. + This can be done by selecting the "Pin issue" option in the issue's right-side menu, on GitHub. + + See an example at `PyAdditive Widgets deprecation issue`_. + +4. **Adapt the README**: Update the library's README file to reflect the deprecation. + This should include a clear notice at the top of the README, informing users that the + library is deprecated. See an example at `PyAdditive Widgets README`_. + +5. **(Optional) Add a warning in the code**: If applicable, add a warning in the code itself to inform users + that the library is deprecated. This can be done using Python's `warnings` module. For example: + + .. code:: python + + # At the top of your main module or package (i.e. src/ansys/<...>/__init__.py) + + import warnings + + warnings.warn( + "This library is deprecated and will no longer be maintained. " + "Please consider using alternatives.", + DeprecationWarning, + ) + + See an example at `PyAdditive Widgets deprecation warning`_. + +6. **(Optional) Make a last release**: If you carried out step 5, consider making a final release + of the library that includes the deprecation warning. This ensures that users who install + the library in the future will see the warning immediately. + +7. **Archive the repository**: Once the deprecation issue is created and the README is updated, + you can archive the repository. This will prevent any further changes to the repository and + signal to users that the library is no longer maintained. To archive a repository, go to the + repository settings and select "Archive this repository". + +These steps ensure that the deprecation process is clear and transparent, allowing users to +transition smoothly to alternatives while maintaining the integrity of the PyAnsys ecosystem. + +.. note:: + + The deprecation process may vary slightly depending on the specific library and its + context. However, the core principles should remain consistent across all deprecations. + +Core team tasks +--------------- + +The PyAnsys Core team will assist with the deprecation process by: + +- Reviewing the deprecation issue to ensure it meets the project's standards. +- Assisting with the above steps, if necessary. +- Remove from PyPI the configuration (PyPI token or trusted publisher) for the library. +- Removing the library from the `PyAnsys metapackage `_, automation project + and the ``ansys-internal/pyansys-dev`` repository. See example pull requests: + + - `Metapackage deprecation PR`_ + - `PyAnsys Dev deprecation PR`_ + - `Automation project deprecation PR`_ diff --git a/doc/source/how-to/index.rst b/doc/source/how-to/index.rst index 4fcbbec5d..8b54ed6df 100644 --- a/doc/source/how-to/index.rst +++ b/doc/source/how-to/index.rst @@ -106,6 +106,12 @@ and app APIs. How to handle vulnerabilities in PyAnsys packages. + .. grid-item-card:: :fas:`fa-solid fa-bug` Deprecating a library + :link: deprecating + :link-type: doc + :padding: 2 2 2 2 + + How to deprecate a PyAnsys library. .. toctree:: :maxdepth: 3 @@ -125,3 +131,4 @@ and app APIs. dns-configuration compatibility vulnerabilities + deprecating diff --git a/doc/source/links.rst b/doc/source/links.rst index 3b0c7c5f6..279f1844f 100644 --- a/doc/source/links.rst +++ b/doc/source/links.rst @@ -212,7 +212,7 @@ .. _PyPI API token: https://pypi.org/help/#apitoken .. #Vulnerabilities -.. _metapackage: https://github.com/pyansys/pyansys +.. _metapackage: https://github.com/ansys/pyansys .. _CVE: https://www.cve.org/ .. _Safety: https://pyup.io/safety/ .. _Bandit: https://bandit.readthedocs.io/en/latest/ @@ -220,3 +220,11 @@ .. _PyACP security considerations: https://acp.docs.pyansys.com/version/dev/user_guide/security_considerations.html .. _Github's documentation: https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability .. _PyAnsys Geometry subprocess advisory: https://github.com/ansys/pyansys-geometry/security/advisories/GHSA-38jr-29fh-w9vm + +.. #Deprecation +.. _PyAdditive Widgets README: https://github.com/ansys/pyadditive-widgets/blob/main/README.rst +.. _PyAdditive Widgets deprecation issue: https://github.com/ansys/pyadditive-widgets/issues/102 +.. _PyAdditive Widgets deprecation warning: https://github.com/ansys/pyadditive-widgets/blob/600915a8db2dbb02088266c17ba2be53584079d0/src/ansys/additive/widgets/__init__.py#L24-L31 +.. _Metapackage deprecation PR: https://github.com/ansys/pyansys/pull/968 +.. _PyAnsys Dev deprecation PR: https://github.com/ansys-internal/pyansys-dev/pull/44 +.. _Automation project deprecation PR: https://github.com/ansys-internal/pyansys-maintenance-automation/pull/79 From 06bd9eaf3eb54f7f7633ae92fe41de8cc1f69b1e Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:16:20 +0200 Subject: [PATCH 02/12] docs: missing explanation --- doc/source/how-to/deprecating.rst | 1 + doc/source/links.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index c046dc607..bcc44f813 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -112,6 +112,7 @@ The PyAnsys Core team will assist with the deprecation process by: - Reviewing the deprecation issue to ensure it meets the project's standards. - Assisting with the above steps, if necessary. - Remove from PyPI the configuration (PyPI token or trusted publisher) for the library. +- Archive the project on PyPI. See `PyAdditive Widgets PyPI archive`_. - Removing the library from the `PyAnsys metapackage `_, automation project and the ``ansys-internal/pyansys-dev`` repository. See example pull requests: diff --git a/doc/source/links.rst b/doc/source/links.rst index 279f1844f..85115ad56 100644 --- a/doc/source/links.rst +++ b/doc/source/links.rst @@ -225,6 +225,7 @@ .. _PyAdditive Widgets README: https://github.com/ansys/pyadditive-widgets/blob/main/README.rst .. _PyAdditive Widgets deprecation issue: https://github.com/ansys/pyadditive-widgets/issues/102 .. _PyAdditive Widgets deprecation warning: https://github.com/ansys/pyadditive-widgets/blob/600915a8db2dbb02088266c17ba2be53584079d0/src/ansys/additive/widgets/__init__.py#L24-L31 +.. _PyAdditive Widgets PyPI archive: https://pypi.org/project/ansys-additive-widgets/ .. _Metapackage deprecation PR: https://github.com/ansys/pyansys/pull/968 .. _PyAnsys Dev deprecation PR: https://github.com/ansys-internal/pyansys-dev/pull/44 .. _Automation project deprecation PR: https://github.com/ansys-internal/pyansys-maintenance-automation/pull/79 From fc78bc8db2594958baa07a7fd3acafbf6e8b9fa7 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:20:28 +0200 Subject: [PATCH 03/12] fix: vale issues --- doc/source/how-to/deprecating.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index bcc44f813..547b71214 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -7,8 +7,8 @@ As time passes, some libraries may become outdated or replaced by better alterna When this happens, it is important to deprecate the old library properly to ensure users are aware of the change and can transition smoothly. -In the PyAnsys ecosystem, we follow a specific process for deprecating libraries. -This process helps maintain clarity and consistency across our projects. +For the PyAnsys ecosystem, follow this specific process for deprecating libraries. +This process helps maintain clarity and consistency across the projects. Maintainer tasks ---------------- @@ -28,14 +28,14 @@ is used in this guide. open issues and pull requests in the library's repository are closed. This helps to avoid confusion and ensures that users are aware that the library is no longer actively maintained. You can close issues and pull requests with a comment explaining that the library is being - deprecated and will no longer be supported. + deprecated and is no longer be supported. 3. **Create a deprecation issue**: Open an issue in the library's repository to announce the deprecation. This issue should explain why the library is being deprecated, what alternatives are available, and any relevant timelines. See a template below for the issue content. .. warning:: - Make sure to adapt the template to your specific library and situation! + Make sure to adapt the template to your specific library and situation. .. code:: markdown @@ -58,7 +58,7 @@ is used in this guide. Thank you to everyone who contributed, used, or supported this project! - This issue will serve as a permanent record of the deprecation and provide users with + This issue serves as a permanent record of the deprecation and provide users with necessary information about alternatives. Make sure to pin the issue to the top of the repository so that it is easily visible to users. @@ -89,12 +89,12 @@ is used in this guide. 6. **(Optional) Make a last release**: If you carried out step 5, consider making a final release of the library that includes the deprecation warning. This ensures that users who install - the library in the future will see the warning immediately. + the library in the future see the warning immediately. 7. **Archive the repository**: Once the deprecation issue is created and the README is updated, - you can archive the repository. This will prevent any further changes to the repository and - signal to users that the library is no longer maintained. To archive a repository, go to the - repository settings and select "Archive this repository". + you can archive the repository. This prevents any further changes to the repository and + signals to users that the library is no longer maintained. To archive a repository, go to the + repository settings and select "Archive this repository." These steps ensure that the deprecation process is clear and transparent, allowing users to transition smoothly to alternatives while maintaining the integrity of the PyAnsys ecosystem. @@ -107,7 +107,7 @@ transition smoothly to alternatives while maintaining the integrity of the PyAns Core team tasks --------------- -The PyAnsys Core team will assist with the deprecation process by: +The PyAnsys Core team is responsbile for assisting with the deprecation process by: - Reviewing the deprecation issue to ensure it meets the project's standards. - Assisting with the above steps, if necessary. From bf46e41096f6eb9c937b9fed6a18cac3325eb301 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:21:18 +0200 Subject: [PATCH 04/12] fix: pre-commit --- .pre-commit-config.yaml | 2 +- doc/source/how-to/deprecating.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1f4b78628..0ef70085a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.11.12 hooks: - - id: ruff + - id: ruff-check - id: ruff-format - repo: https://github.com/adamchainz/blacken-docs diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 547b71214..3f379a1db 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -107,7 +107,7 @@ transition smoothly to alternatives while maintaining the integrity of the PyAns Core team tasks --------------- -The PyAnsys Core team is responsbile for assisting with the deprecation process by: +The PyAnsys Core team is responsible for assisting with the deprecation process by: - Reviewing the deprecation issue to ensure it meets the project's standards. - Assisting with the above steps, if necessary. From 56cb66655c0c655e6f08c2435f82345fc99d8a5b Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:24:23 +0200 Subject: [PATCH 05/12] Update doc/source/how-to/deprecating.rst --- doc/source/how-to/deprecating.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 3f379a1db..b91cbde05 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -24,11 +24,13 @@ is used in this guide. the team at `pyansys.core@ansys.com `_. This step ensures that the deprecation is communicated effectively and that the team can assist with any necessary changes in the PyAnsys ecosystem. + 2. **Close all open issues and pull requests**: Before deprecating the library, ensure that all open issues and pull requests in the library's repository are closed. This helps to avoid confusion and ensures that users are aware that the library is no longer actively maintained. You can close issues and pull requests with a comment explaining that the library is being deprecated and is no longer be supported. + 3. **Create a deprecation issue**: Open an issue in the library's repository to announce the deprecation. This issue should explain why the library is being deprecated, what alternatives are available, and any relevant timelines. See a template below for the issue content. From fb901ae07a7dec5aaa13c682422c8719b7891308 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:54:19 +0200 Subject: [PATCH 06/12] fix: removing ref --- doc/source/how-to/deprecating.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index b91cbde05..cf6e936ef 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -116,7 +116,7 @@ The PyAnsys Core team is responsible for assisting with the deprecation process - Remove from PyPI the configuration (PyPI token or trusted publisher) for the library. - Archive the project on PyPI. See `PyAdditive Widgets PyPI archive`_. - Removing the library from the `PyAnsys metapackage `_, automation project - and the ``ansys-internal/pyansys-dev`` repository. See example pull requests: + and the ``pyansys-dev`` repository. See example pull requests: - `Metapackage deprecation PR`_ - `PyAnsys Dev deprecation PR`_ From 436ad1961114c3d6d4664f8931459076c66e9932 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 16:02:25 +0200 Subject: [PATCH 07/12] fix: remove line --- doc/source/how-to/deprecating.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index cf6e936ef..5c4b4b77b 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -13,8 +13,6 @@ This process helps maintain clarity and consistency across the projects. Maintainer tasks ---------------- -When a library is no longer maintained or has been replaced by a better alternative, - If you are a maintainer of a library that is being deprecated, please follow these steps. As an illustrative example, the deprecation of `PyAdditive Widgets `_ is used in this guide. From 37725aa6d3da9d4c844a5c69e33a4068b72b936f Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 16:03:02 +0200 Subject: [PATCH 08/12] Apply suggestions from code review Co-authored-by: Kerry McAdams <58492561+klmcadams@users.noreply.github.com> --- doc/source/how-to/deprecating.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 5c4b4b77b..2133b132b 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -66,8 +66,8 @@ is used in this guide. See an example at `PyAdditive Widgets deprecation issue`_. -4. **Adapt the README**: Update the library's README file to reflect the deprecation. - This should include a clear notice at the top of the README, informing users that the +4. **Adapt the README**: Update the library's ``README`` file to reflect the deprecation. + This should include a clear notice at the top of the ``README``, informing users that the library is deprecated. See an example at `PyAdditive Widgets README`_. 5. **(Optional) Add a warning in the code**: If applicable, add a warning in the code itself to inform users @@ -91,7 +91,7 @@ is used in this guide. of the library that includes the deprecation warning. This ensures that users who install the library in the future see the warning immediately. -7. **Archive the repository**: Once the deprecation issue is created and the README is updated, +7. **Archive the repository**: Once the deprecation issue is created and the ``README`` is updated, you can archive the repository. This prevents any further changes to the repository and signals to users that the library is no longer maintained. To archive a repository, go to the repository settings and select "Archive this repository." From 97d6bbb5e220b1c9d26cad5368c3ea70c3cc3161 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Wed, 4 Jun 2025 16:19:18 +0200 Subject: [PATCH 09/12] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> --- doc/source/how-to/deprecating.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 2133b132b..94d2c6283 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -44,7 +44,7 @@ is used in this guide. **This repository is no longer maintained as of [DATE].** ### Reason for deprecation - [Explain briefly why the project is being deprecated — e.g., better alternatives, no time to maintain, outdated use case.] + [Explain briefly why the project is being deprecated — e.g. better alternatives, no time to maintain, outdated use case.] ### Alternatives If you're looking for a maintained alternative, consider: From 51577662f5fb5c31672ebeaf2cdd4af0e38ab96c Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 5 Jun 2025 10:33:46 +0200 Subject: [PATCH 10/12] Apply suggestions from code review --- doc/source/how-to/deprecating.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 94d2c6283..512da4d10 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -72,6 +72,10 @@ is used in this guide. 5. **(Optional) Add a warning in the code**: If applicable, add a warning in the code itself to inform users that the library is deprecated. This can be done using Python's `warnings` module. For example: + + .. note:: + + Make sure to adapt the URL in the warning message. .. code:: python @@ -81,7 +85,8 @@ is used in this guide. warnings.warn( "This library is deprecated and will no longer be maintained. " - "Please consider using alternatives.", + "Please consider using alternatives. " + "For more information check https://github.com/ansys//issues", DeprecationWarning, ) From 49b5665945385bc9549199e4db238f5ea7490d1f Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 5 Jun 2025 10:41:34 +0200 Subject: [PATCH 11/12] Update doc/source/how-to/deprecating.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> --- doc/source/how-to/deprecating.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 512da4d10..282a648a6 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -86,7 +86,7 @@ is used in this guide. warnings.warn( "This library is deprecated and will no longer be maintained. " "Please consider using alternatives. " - "For more information check https://github.com/ansys//issues", + "For more information check https://github.com/ansys//issues/", DeprecationWarning, ) From 7fe1c9deec158c42669c871ce83434a2a4bced90 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:47:42 +0200 Subject: [PATCH 12/12] docs: adding documentation banner --- doc/source/how-to/deprecating.rst | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/source/how-to/deprecating.rst b/doc/source/how-to/deprecating.rst index 282a648a6..c50bf90c6 100644 --- a/doc/source/how-to/deprecating.rst +++ b/doc/source/how-to/deprecating.rst @@ -92,11 +92,24 @@ is used in this guide. See an example at `PyAdditive Widgets deprecation warning`_. -6. **(Optional) Make a last release**: If you carried out step 5, consider making a final release +6. **(Optional) Adapt the documentation**: PyAnsys libraries host documentation in GitHub Pages through + the ``gh-pages`` branch. If your library has documentation, consider adding a deprecation notice + to the documentation as well. A similar note to the one in the ``README`` can be added at the landing + page of the documentation. If you main landing page is an ``.rst`` file, you can add the + deprecation notice as a note directive: + + .. code:: rst + + .. warning:: + + This library is deprecated and will no longer be maintained. Please consider using alternatives. + For more information, check the `deprecation issue `_. + +7. **(Optional) Make a last release**: If you carried out steps 5 and 6, consider making a final release of the library that includes the deprecation warning. This ensures that users who install the library in the future see the warning immediately. -7. **Archive the repository**: Once the deprecation issue is created and the ``README`` is updated, +8. **Archive the repository**: Once the deprecation issue is created and the ``README`` is updated, you can archive the repository. This prevents any further changes to the repository and signals to users that the library is no longer maintained. To archive a repository, go to the repository settings and select "Archive this repository."