-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
Fix to version numbering so that it is in accordance with PEP 404 #456
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
Is anything else needed for this PR to be merged? |
It looks like this hasn't auto-merged because it's failing an internal lint check (lines are too long). I tried to update the PR but your branch is locked. This is what I was trying to push: $ git diff HEAD^
diff --git a/setup.py b/setup.py
index ba7cedde..3372dd02 100644
--- a/setup.py
+++ b/setup.py
@@ -35,9 +35,18 @@ project_name = 'tensorflow-examples'
# The timestamp is used so that newer commits have a higher version number
# The hash is used so that the specific commit can be identified
# The hash integer can be converted back to the hash string with: '%032x' % commit_hash_int
-commit_hash_int = int(subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode('utf-8').strip(), 16)
-commit_timestamp = subprocess.check_output(['git', 'show', '-s', '--format=%ct', 'HEAD']).decode('utf-8').strip()
-version = f"0.{commit_timestamp}.{commit_hash_int}"
+commit_hash_int = int(
+ subprocess.check_output(['git', 'rev-parse', 'HEAD'])
+ .decode('utf-8')
+ .strip(),
+ 16,
+)
+commit_timestamp = (
+ subprocess.check_output(['git', 'show', '-s', '--format=%ct', 'HEAD'])
+ .decode('utf-8')
+ .strip()
+)
+version = f'0.{commit_timestamp}.{commit_hash_int}'
if nightly:
project_name = 'tensorflow-examples-nightly' in non-diff format, that's commit_hash_int = int(
subprocess.check_output(['git', 'rev-parse', 'HEAD'])
.decode('utf-8')
.strip(),
16,
)
commit_timestamp = (
subprocess.check_output(['git', 'show', '-s', '--format=%ct', 'HEAD'])
.decode('utf-8')
.strip()
)
version = f'0.{commit_timestamp}.{commit_hash_int}' |
Thanks Mark. I'll fix it in the merge. |
…P 404 Please approve this CL. It will be submitted automatically, and its GitHub pull request will be marked as merged. Imported from GitHub PR #456 Recently I tried installing this repo through pip, and it failed with the following message: ``` raise InvalidVersion(f"Invalid version: '{version}'") pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'b4eb09b4a3d167557d999723f7c2ed0d53a1bb7d-' ``` After some googling, I found that this is by design: * pypa/setuptools#2497 * pypa/setuptools#3772 Apparently, `Setuptools` only supports version numbering in accordance with [PEP 404](https://peps.python.org/pep-0440/) from version 66 onwards. So I created a fork of this repo, changing the version numbering scheme so that it can be installed through pip. The idea is essentially the same as it is currently, with only some minor modifications. Currently, the version number is simply the hash of the most recent commit, so there isn't any pattern or sequence to be worried about. PEP 404 required the version number to be in base 10, so I changed the base 16 representation of the commit hash to base 10. By keeping the commit hash, the commit can still be retrieved through the version number. I also prepended the commit's timestamp, so that the more recent commits have higher version numbering. Copybara import of the project: - db7542d Change version numbering to be in accordance with PEP 440... by Eduardo <eduardoscsouza@gmail.com> - 94860f6 Minor changes for clarity and add explanatory comments. by Eduardo <eduardoscsouza@gmail.com> - f0d9155 Merge 94860f6 into b4eb0... by Eduardo Santos Carlos de Souza <eduardoscsouza@gmail.com> PiperOrigin-RevId: 532326489
Recently I tried installing this repo through pip, and it failed with the following message:
After some googling, I found that this is by design:
InvalidVersion
exception when invalid version used on Setuptools 66 pypa/setuptools#3772Apparently,
Setuptools
only supports version numbering in accordance with PEP 404 from version 66 onwards. So I created a fork of this repo, changing the version numbering scheme so that it can be installed through pip.The idea is essentially the same as it is currently, with only some minor modifications. Currently, the version number is simply the hash of the most recent commit, so there isn't any pattern or sequence to be worried about. PEP 404 required the version number to be in base 10, so I changed the base 16 representation of the commit hash to base 10. By keeping the commit hash, the commit can still be retrieved through the version number. I also prepended the commit's timestamp, so that the more recent commits have higher version numbering.