Skip to content

GabrielGiurgica/python-versioning-experiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Versioning Experiments

This repo is used to understand the limitations of specifying the version of a Python package and version ordering as defined in the Version Specifiers in the Python Packaging User Guide.

The table below shows the order in which the package versions were created. It is different from how the packages will be ordered in the Test Python Package Index.

Written version Normalized version Commit Notes
0.1.0 0.1.0 cd74719
0.2 0.2 6b79a04
00.03.000.00000.0 0.3.0.0.0 ca32933 Extra zeros in numeric sub-segments are removed during version normalization. We can also use as many subsegments as we want, as we are not limited.
v0.4.0 0.4.0 0f55d7e The letter "v" is removed during version normalization.
1_alpha0 1a0 b1af02a
1-a1 1a1 e1af9ea
1.b 1b0 c6be52e
1beta1 1b1 283a93d
1-preview 1rc0 03bf6cd
1-pre1 1rc1 f8a12f6
1-pre1 1rc1 f8a12f6
1b2 1b2 fa59417 Posting a beta release after a release candidate does not make the beta release to be considered greater than the release candidate already created.
1b3 1b3 15696a7 Posting a beta release after a release candidate does not make the beta release to be considered greater than the release candidate already created.
1.0_c2 1.0rc2 84ad55d Adding a new subsegment with value 0 to the final release segment does not functionally affect the package. From the TestPyPI perspective this release is equivalent to 1rc2 or 1.0.0.0.0.rc2. For installation we can use any of the mentioned versions, because the final pip redirects us to the current version.
1.0_b.5 1.0b5 7b842e1 Posting a beta release after a candidate release does not make the beta release considered higher than the candidate release already created, even if a 0 subsegment has been added at the end of the release segment.
1rc3 1rc3 fabe2fb
1.0.0 1.0.0 3fa4ef1
1.0.0.post0 1.0.0.post0 2fc8160
1.0.0rev_1 1.0.0.post1 0b892cb
1.0.0-R-2 1.0.0.post2 30657f3 All ascii letters are converted to lowercase.
1.0.0-3 1.0.0.post3 8e99bdb A post-release can also be created by omitting the “post”, if “-” is used together with a numeric value.
1.0.1.a0r 1.0.1a0.post0 b71b8f1 “Creating post-releases of pre-releases is strongly discouraged.” (Source)
1.0.1.b--01 1.0.1b0.post1 8381610 The first "-" is assigned pre-release segment, while the second one marks a post-release.
1.0.1.rc-0000_rEv-00001 1.0.1rc0.post1 cbd2839 Extra zeros are also removed from the numeric sub-segments of the pre-release and post-release segments during version normalization.
2.0.0 2.0.0 2702baf
2.0.1dev- 2.0.1.dev0 d900f68
2.0.1-dev_1 2.0.1.dev1 05ea38f
2.0.1.a--dev- 2.0.1a0.dev0 3c2fe66 "While they may be useful for continuous integration purposes, publishing developmental releases of pre-releases to general purpose public index servers is strongly discouraged, as it makes the version identifier difficult to parse for human readers." (Source)
2.0.1dev2 2.0.1.dev2 c16c1d3 Version ordering is done segment by segment, so that 2.0.1.dev2 < 2.0.1a0.dev0.
2.0.1rc0 2.0.1rc0 3e4d562
2.0.1rc0.dev0 2.0.1rc0.dev0 099f59f The version that also has the development release segment is smaller than the version without it.
2.0.1rc0.post0.dev0 2.0.1rc0.post0.dev0 f9f2a38 The version ordering is done segment by segment, so even though 2.0.1rc0.post0.dev0 is a development release, it is higher than version 2.0.1rc0 because it includes the post release segment.
2.0.1rc0.post0 2.0.1rc0.post0 0b93da1
2.0.1rc0.post0.dev1 2.0.1rc0.post0.dev1 a305a38 Development release of a post release is considered to be a smaller version than the post release version.
2.1.0 2.1.0 4d49e60
2.1.0+testlocal.001 2.1.0+testlocal.1 8477f89 Publishing local versions is not allowed in TestPyPI.
2.1.0+testlocal.002.ab0013 2.1.0+testlocal.2.ab0013 d2712d2 Publishing local versions is not allowed in TestPyPI.
2024.8.3 2024.8.3 ba0013f
2024.8.4 2024.8.4 86b9c70
1!4.0.0.dev0 1!4.0.0.dev0 530a413
1!4.0.0-rc 1!4.0.0rc0 0653097
1!4.0.0 1!4.0.0 1503f97

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages