selenium
selenium copied to clipboard
4.0.0 release is missing sdist tarball on pypi
🐛 Bug Report
It seems that the 4.0.0 release on pypi includes only wheels but missed the .tar.gz archive needed to build from source.
To Reproduce
Visit https://pypi.org/project/selenium/#files
Expected behavior
.tar.gz archive being present
Test script or set of commands reproducing this issue
n/a
Environment
OS: Gentoo Linux Browser: n/a Browser version: n/a Browser Driver version: n/a Language Bindings version: Python (any) Selenium Grid version (if applicable): n/a
I will need to look into this with Bazel.
I honestly thought everyone had moved to wheels for distribution of packages these days. What is the main use case for you for needing the sdist version?
Distributions still build their packages from sources.
Yes, Homebrew would need the pypi artifact to build the formula from sources.
Any update on this thread? Thanks!
everyone had moved to wheels
Can confirm this is also blocking on conda-forge, and is indeed still documented in py/README.rst:
Alternately, you can download the source distribution from PyPI (e.g. selenium-4.1.0.tar.gz), unarchive it, and run:
In the meantime, I'm investigating a full bazel build... but humorously, invoking bazel build //py:selenium naively fails because pytest-trio... doesn't distribute a whl :rofl:
If the contents of py really are enough to build a distribution, that would get us going, and will be investigating further, but a PyPI sdist would indeed be preferred!
gentle ping: everyone expects to have source distributions available. Wheels are great, and wanted but not enough.
For the record, the only two files need to run the test suite which are not in a git checkout are these:
- selenium/webdriver/remote/getAttribute.js
- selenium/webdriver/remote/isDisplayed.js
I have no idea how they come into existence (I don't use or know about Bazel, and it's been too messy for anyone to successfully package yet on GNU Guix).
bump; we should release a source distribution on pypi; I'm not sure where those *.js files are being pulled in from; but editable installs etc are a no-go atm for me locally
For the record, the only two files need to run the test suite which are not in a git checkout are these:
selenium/webdriver/remote/getAttribute.js selenium/webdriver/remote/isDisplayed.jsI have no idea how they come into existence (I don't use or know about Bazel, and it's been too messy for anyone to successfully package yet on GNU Guix).
Both seem to be minified and obfuscated JS files, e.g. generated from some other sources. This is the prefect reason why we need a source archive: these are essentially the same and as opaque as a compiled binary. For all I know these could be malicious files. It is unlikely... but I cannot tell. I surmise these have been compiled with Google's closure compiler and the unobfuscated source are likely present in the repo... but this is a supposition.
Right, these files seem to be generated or minified and copied as part of the prep Rake task: https://github.com/SeleniumHQ/selenium/blob/trunk/Rakefile#L532. Unfortunately you can't simply involve rake prep; as this requires Bazel.
Hey folks, I have linked a PR that gives us a build target that creates a sdist tarball.
Could someone please try it out for me to make sure it has everything you need?
The new build target to get an sdist is bazel build //py:selenium-sdist.
fixed in e237ced4801ea86fd79f530111f66163a2b727cf
Thank you!
The 4.1.4 and 4.1.5 releases on PyPI do not include sdist tarballs.
something stopped working for it. Will reopen this instead of creating new issue.
Let's celebrate yet another unsuccessful release.
@mgorny you are more than welcome to make a pull request for this.
Seems the publish procedure in the readme is wrong, #11375 should fix it.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.