selenium icon indicating copy to clipboard operation
selenium copied to clipboard

4.0.0 release is missing sdist tarball on pypi

Open mgorny opened this issue 4 years ago • 17 comments

🐛 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

mgorny avatar Oct 14 '21 06:10 mgorny

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?

AutomatedTester avatar Oct 14 '21 13:10 AutomatedTester

Distributions still build their packages from sources.

mgorny avatar Oct 14 '21 16:10 mgorny

Yes, Homebrew would need the pypi artifact to build the formula from sources.

chenrui333 avatar Oct 17 '21 18:10 chenrui333

Any update on this thread? Thanks!

chenrui333 avatar Dec 10 '21 00:12 chenrui333

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!

bollwyvl avatar Jan 09 '22 19:01 bollwyvl

gentle ping: everyone expects to have source distributions available. Wheels are great, and wanted but not enough.

pombredanne avatar Mar 03 '22 14:03 pombredanne

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).

Apteryks avatar Mar 09 '22 04:03 Apteryks

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

symonk avatar Mar 26 '22 15:03 symonk

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).

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.

pombredanne avatar Mar 26 '22 22:03 pombredanne

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.

Apteryks avatar Mar 28 '22 00:03 Apteryks

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.

AutomatedTester avatar Apr 05 '22 21:04 AutomatedTester

fixed in e237ced4801ea86fd79f530111f66163a2b727cf

AutomatedTester avatar Apr 28 '22 10:04 AutomatedTester

Thank you!

bollwyvl avatar Apr 28 '22 13:04 bollwyvl

The 4.1.4 and 4.1.5 releases on PyPI do not include sdist tarballs.

bollwyvl avatar May 06 '22 00:05 bollwyvl

something stopped working for it. Will reopen this instead of creating new issue.

titusfortner avatar May 19 '22 21:05 titusfortner

Let's celebrate yet another unsuccessful release.

mgorny avatar Jun 24 '22 04:06 mgorny

@mgorny you are more than welcome to make a pull request for this.

titusfortner avatar Jul 05 '22 12:07 titusfortner

Seems the publish procedure in the readme is wrong, #11375 should fix it.

jameshilliard avatar Dec 06 '22 19:12 jameshilliard

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.

github-actions[bot] avatar Jan 12 '23 01:01 github-actions[bot]