Support dynamic version for dev and releases.#617
Support dynamic version for dev and releases.#617ccoulombe wants to merge 1 commit intogoogle-deepmind:mainfrom
Conversation
|
Wouldn't the CMake part need to be updated as well? |
|
Which cmake part more precisely are you referring to?
…On Fri, Mar 6, 2026, 12:29 Augustin Žídek ***@***.***> wrote:
*Augustin-Zidek* left a comment (google-deepmind/alphafold3#617)
<#617 (comment)>
Wouldn't the CMake part need to be updated as well?
—
Reply to this email directly, view it on GitHub
<#617 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFMODOD4Y4J6FLI4IIFI3IL4PMDIHAVCNFSM6AAAAACUFYMWQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DAMJTGA2DCMBZGQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
Sorry for the late reply. Will this work correctly with this line in CMakeLists.txt: project(
"${SKBUILD_PROJECT_NAME}"
LANGUAGES CXX
VERSION "${SKBUILD_PROJECT_VERSION}")The |
|
With the changes from this PR, I was able to build And adding some print status from CMake: Thus, I'd say yes. Esp. since it is From the documentation, we could infer that it manages the variable |
|
Right, I am still worried about a few things:
|
|
Let me work on each point... Regarding
There is currently no argument Regarding
The section is already present in Line 1 in 87bd9e6 and setuptools-scm is already part (pulled) from scikit-build-core : scikit_build_core/metadata/setuptools_scm.py.And see: https://github.com/scikit-build/scikit-build-core/blob/fc4ea500205d0ee79b5505305a184970476abfc1/src/scikit_build_core/metadata/setuptools_scm.py#L51-L54 |
There isn't an explicit one, but I think abseil flags library adds one.
TIL, thanks for investigating! |
|
So, regarding the items from #617 (comment)
It fails with: Personally, I would bluntly let the installation fails when a user used the .zip directly instead of Else, a static version could act as a fallback mechanism: Ref: https://setuptools-scm.readthedocs.io/en/latest/config/#core-configuration What do you prefer? Also note, that one can always override the version with an env. variable:
$ python run_alphafold.py --helpfull | rg version
$ python run_alphafold.py --version
FATAL Flags parsing error: Unknown command line flag 'version'
Pass --helpshort or --helpfull to see help on flags.
Also depends on choice made for 1.
Based on the decision for 1. I would remove the file [tool.setuptools_scm]
write_to = "src/alphafold3/version.py"to the >>> from alphafold3 import version
>>> version.__version__
'3.0.1.dev224+g35955279b.d20260410' |
When installing from
HEAD, this would allow one to have traceable reproducibility.A local wheel built today from a fresh clone, would be tagged
alphafold3-3.0.2.dev113+gebfe70a27.d20260206-cp313-cp313-linux_x86_64.whl.The version is incremented from the current tag.
A
devrelease suffix which show that113commits have been made since.A local version
+gebfe70a27.d20260206which means :gebfe70a27(g+short commit)d20260206(d+date)Hence it is easy to know which build/commit a user used as it is described in the file name.
Ref: