You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/deprecation_process.md
+16-6Lines changed: 16 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,11 @@ This page describes how to mark a package deprecated on PyPI. You likely need to
6
6
they shouldn't use the package you used to release anymore.
7
7
8
8
The overall idea is that PyPI do not support an official deprecation logic. We concluded that the best way was:
9
-
- Change the classifier as Inactive, to showcase in metadata that this package is longer worked on
10
-
- Add a disclaimer on the main Readme file to explain deprecation, and guide to migration guide to other package as necessary
11
-
- Push a [post release](https://peps.python.org/pep-0440/#post-releases) to PyPI
9
+
- Change the classifier as `Inactive`, to showcase in metadata that this package is longer worked on
10
+
- Add a disclaimer on the main Readme file to explain deprecation, and guide to migration guide to other package as necessary. While a migration guide should always be written, you may decide to postpone this work based on downloads numbers (found on [pypistats](https://pypistats.org/), [pype.tech](https://www.pepy.tech/), etc.) and internal knowledge of the usage of the package.
11
+
- Push a new release to PyPI
12
+
13
+
**Important Note**: The best versioning approach would be to do a [post release](https://peps.python.org/pep-0440/#post-releases). However, due to some tooling issues at the moment, currently version should be the next beta, or the next patch version ([example](https://github.com/Azure/azure-sdk-for-python/commit/cf3bfed65a65fcbb4b5c93db89a221c2959c5bb4)). Follow those issues for details https://github.com/Azure/azure-sdk/issues/7479 and https://github.com/Azure/azure-sdk-tools/issues/5916.
12
14
13
15
# Step 1: Update in the repository
14
16
@@ -19,15 +21,23 @@ Clone the repository and udpate the following files of your package:
19
21
>
20
22
> For migration instructions, see the [migration guide](https://aka.ms/azsdk/python/migrate/my-new-package).
21
23
22
-
-`CHANGELOG.MD` add a new post version with the current date, and the same disclaimer. For instance
24
+
-`CHANGELOG.MD` add a new version with the current date, and the same disclaimer. For instance
23
25
24
26
> ## 1.2.3.post1 (2023-03-31)
25
27
>
26
28
> This package is no longer being maintained. Use the [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/) package instead.
27
29
>
28
30
> For migration instructions, see the [migration guide](https://aka.ms/azsdk/python/migrate/my-new-package).
31
+
32
+
or
33
+
34
+
> ## 1.2.4 (2023-03-31)
35
+
>
36
+
> This package is no longer being maintained. Use the [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/) package instead.
37
+
>
38
+
> For migration instructions, see the [migration guide](https://aka.ms/azsdk/python/migrate/my-new-package).
29
39
30
-
-`azure/mypackage/_version.py` : Change the version to the one used in the changelog (for instance `"1.2.3.post1"`). This file may be called `version.py` if your package is very old.
40
+
-`azure/mypackage/_version.py` : Change the version to the one used in the changelog (for instance `"1.2.3.post1"` or `"1.2.4"`). This file may be called `version.py` if your package is very old.
31
41
-`sdk_packaging.toml` : You need to add `auto_update = false` if not already present to avoid the bot overriding your changes
32
42
-`setup.py` change the `Development Status` classifier to `Development Status :: 7 - Inactive`. **Important: This needs to be your LAST commit on the PR. More on this at the bottom of this page if you want details.**.
33
43
@@ -44,5 +54,5 @@ Once the PR is merged, move to the next step.
44
54
45
55
A release here is the same as usual, triggering the release pipeline of you SDK. More instruction can be found at: https://aka.ms/azsdk/release-checklist
46
56
47
-
**Important Note**: As CI don't build Inactive projects right now, you can't build and release. This is a classical chicken and egg problem: we don't want to lose time on testing Inactive projects, but you need at least have one run of build to release the Inactive project. It's important then to pass the variable "BUILD_INACTIVE=true" while triggering the release pipeline. But doing this may uncover issues that were not seen in your initial PR as the CI was disabled. To avoid most of those problems, it's highly recommended that you put the commit with "Inactive" LAST in your PR. In other words, push all changes to Readme and ChangeLog, wait to confirm the CI is green, and when everything is clean, push finally "Inactive" in the `setup.py`
57
+
**Important Note**: As CI don't build Inactive projects right now, you can't build and release. This is a classical chicken and egg problem: we don't want to lose time on testing Inactive projects, but you need at least have one run of build to release the Inactive project. It's important then to pass the variable `"BUILD_INACTIVE=true"` while triggering the release pipeline. But doing this may uncover issues that were not seen in your initial PR as the CI was disabled. To avoid most of those problems, it's highly recommended that you put the commit with "Inactive" LAST in your PR. In other words, push all changes to Readme and ChangeLog, wait to confirm the CI is green, and when everything is clean, push finally "Inactive" in the `setup.py`
Because of security issue, maybe there is no private link to download. Since there is still auto generated PR provided, you can build the private package locally based on the PR with [guidance](https://github.com/Azure/azure-sdk-for-python/wiki/Common-issues-about-Python-SDK#build-private-package-with-pr)
38
+
39
+

40
+
35
41
# Note
36
42
37
43
## 1.private repo
38
44
39
45
In private repo [Azure/azure-rest-api-specs-pr](https://github.com/Azure/azure-rest-api-specs-pr), pipeline can be triggered **only when the target branch is `main`**
0 commit comments