Skip to content
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

2.4.1 release removed from PyPi? #105

Closed
orthanc opened this issue Jul 24, 2019 · 14 comments
Closed

2.4.1 release removed from PyPi? #105

orthanc opened this issue Jul 24, 2019 · 14 comments
Assignees

Comments

@orthanc
Copy link

orthanc commented Jul 24, 2019

The 2.4.1 release seems to have been removed from PyPi sometime on July 24th, but as far as I can tell there is no announcement of the reason for this and master branch still appears to contain the 2.4.1 changes.

Currently PyPi is reporting that the latest release is 2.4.0 released April 8, 2019.

Just raising this issue to confirm that this is deliberate / alert if it is not.

@lopezm1
Copy link

lopezm1 commented Jul 24, 2019

+1 we just noticed this as well. Error surfaced when we tried to install from our Pipfile.lock

ttung pushed a commit to spacetx/starfish that referenced this issue Jul 24, 2019
For reasons that are not clear, pyparsing 2.4.1 seems to have been removed.  Following pyparsing/pyparsing#105 to keep an eye on it.
ttung pushed a commit to spacetx/starfish that referenced this issue Jul 24, 2019
For reasons that are not clear, pyparsing 2.4.1 seems to have been removed.  Following pyparsing/pyparsing#105 to keep an eye on it.
@ptmcg
Copy link
Member

ptmcg commented Jul 24, 2019

Yes, this is deliberate. I really should have pushed this as 2.4.1a1 as the immediate feedback on the new API showed that I had gotten it backwards, so I deleted on PyPI before too many people downloaded and got entrenched with the backwards API.

@ptmcg
Copy link
Member

ptmcg commented Jul 24, 2019

I will try to get 2.4.2a1 pushed ASAP, if I can do it without making a total mess of things (more than I already have, apparently).

@prometheanfire
Copy link

prometheanfire commented Jul 24, 2019

please do, it just broke openstack gate :(

https://storyboard.openstack.org/#!/story/2006271

openstack/requirements@6c3f191

If I could turn back time...

crwood added a commit to gridsync/gridsync that referenced this issue Jul 24, 2019
Pyparsing version 2.4.1 has been intentionally removed from PyPI.
See pyparsing/pyparsing#105
@ptmcg ptmcg self-assigned this Jul 24, 2019
@alexhermida
Copy link

Thank you for the feedback @ptmcg 😄

@00willo
Copy link

00willo commented Jul 24, 2019

Usage of with the pip-compile from the pip-tools package is broken as well.

Current constraints:
  atomicwrites>=1.0
  attrs>=17.4.0
  certifi>=2017.4.17
  chardet<3.1.0,>=3.0.2
  distro
  idna<2.9,>=2.5
  importlib-metadata>=0.12
  invoke<2,>=1
  more-itertools>=4.0.0
  munch<3,>2
  packaging
  pluggy<1.0,>=0.12
  py>=1.5.0
  pyparsing>=2.0.2
  pytest!=3.0.2
  requests>=2.9
  rituals
  six>=1.4
  testinfra
  urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  wcwidth
  zipp>=0.5

Finding the best candidates:
  found candidate atomicwrites==1.3.0 (constraint was >=1.0)
  found candidate attrs==19.1.0 (constraint was >=17.4.0)
  found candidate certifi==2019.3.9 (constraint was >=2017.4.17)
  found candidate chardet==3.0.4 (constraint was >=3.0.2,<3.1.0)
  found candidate distro==1.4.0 (constraint was <any>)
  found candidate idna==2.8 (constraint was >=2.5,<2.9)
  found candidate importlib-metadata==0.18 (constraint was >=0.12)
  found candidate invoke==1.2.0 (constraint was >=1,<2)
  found candidate more-itertools==7.2.0 (constraint was >=4.0.0)
  found candidate munch==2.3.2 (constraint was >2,<3)
  found candidate packaging==19.0 (constraint was <any>)
  found candidate pluggy==0.12.0 (constraint was >=0.12,<1.0)
  found candidate py==1.8.0 (constraint was >=1.5.0)
  found candidate pyparsing==2.4.1 (constraint was >=2.0.2)
  found candidate pytest==5.0.1 (constraint was !=3.0.2)
  found candidate requests==2.22.0 (constraint was >=2.9)
  found candidate rituals==0.3.1 (constraint was <any>)
  found candidate six==1.12.0 (constraint was >=1.4)
  found candidate testinfra==3.0.5 (constraint was <any>)
  found candidate urllib3==1.25.3 (constraint was >=1.21.1,!=1.25.0,!=1.25.1,<1.26)
  found candidate wcwidth==0.1.7 (constraint was <any>)
  found candidate zipp==0.5.2 (constraint was >=0.5)

Finding secondary dependencies:
  wcwidth==0.1.7            requires -
  zipp==0.5.2               requires -
  distro==1.4.0             requires -
  testinfra==3.0.5          requires pytest!=3.0.2, six>=1.4
  importlib-metadata==0.18  requires zipp>=0.5
  requests==2.22.0          requires certifi>=2017.4.17, chardet<3.1.0,>=3.0.2, idna<2.9,>=2.5, urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  urllib3==1.25.3           requires -
  six==1.12.0               requires -
  pluggy==0.12.0            requires importlib-metadata>=0.12
  pyparsing==2.4.1 not in cache, need to check index
Could not find a version that satisfies the requirement pyparsing==2.4.1 (from versions: 1.4.6, 1.4.7, 1.4.8, 1.4.11, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8, 2.1.9, 2.1.10, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.4.0)
Traceback (most recent call last):
  File "/home/vagrant/pyenv/versions/product_testing-py3.6.8/bin/pip-compile", line 11, in <module>
    sys.exit(cli())
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/scripts/compile.py", line 350, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/resolver.py", line 119, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/resolver.py", line 227, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/resolver.py", line 321, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/repositories/local.py", line 66, in get_dependencies
    return self.repository.get_dependencies(ireq)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/repositories/pypi.py", line 270, in get_dependencies
    download_dir, ireq, wheel_cache
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/piptools/repositories/pypi.py", line 229, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/pip/_internal/resolve.py", line 256, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/pip/_internal/resolve.py", line 209, in _get_abstract_dist_for
    self.require_hashes
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 218, in prepare_linked_requirement
    req.populate_link(finder, upgrade_allowed, require_hashes)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 164, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/home/vagrant/pyenv/versions/3.6.8/envs/product_testing-py3.6.8/lib/python3.6/site-packages/pip/_internal/index.py", line 621, in find_requirement
    'No matching distribution found for %s' % req
pip._internal.exceptions.DistributionNotFound: No matching distribution found for pyparsing==2.4.1

@zalew
Copy link

zalew commented Jul 24, 2019

@00willo
ran into the same issue, run pip-compile with --rebuild - it clears all caches and will update the txt to 2.4.0

RealOrangeOne added a commit to RealOrangeOne/zoloto that referenced this issue Jul 24, 2019
Looks like the upstream deleted a version.
pyparsing/pyparsing#105

Generated by running `poetry lock`
tsusanka added a commit to trezor/trezor-firmware that referenced this issue Jul 24, 2019
Pyparsing was updated to 2.4.1 in 5d01390
but this version was removed from pip, see
pyparsing/pyparsing#105, so the install failed.

This commit removes Pipfile.lock, reruns `pipenv install`, which updates
the package back to 2.4.0, which is currently the newest version.
@ptmcg
Copy link
Member

ptmcg commented Jul 24, 2019

Pushed 2.4.2a1, install with pip install pyparsing==2.4.2a1.

EnTeQuAk added a commit to mozilla/addons-server that referenced this issue Jul 24, 2019
openstack-gerrit pushed a commit to openstack/requirements that referenced this issue Jul 24, 2019
pyparsing/pyparsing#105

Change-Id: I116dcdcf5225967d9a3ca06a44572c78e324dd34
Story: 2006271
Task: 35967
openstack-gerrit pushed a commit to openstack/openstack that referenced this issue Jul 24, 2019
* Update requirements from branch 'master'
  - roll back pyparsing (unpublished a release)
    
    pyparsing/pyparsing#105
    
    Change-Id: I116dcdcf5225967d9a3ca06a44572c78e324dd34
    Story: 2006271
    Task: 35967
jmsmkn added a commit to comic/grand-challenge.org that referenced this issue Jul 24, 2019
jmsmkn added a commit to comic/grand-challenge.org that referenced this issue Jul 24, 2019
@hexvolt
Copy link

hexvolt commented Jul 24, 2019

Thanks for the update but I strongly suggest that the history of releases should never be altered. Same as changing history in a public git repo, changing release history is a bad thing. It is a "release", once it is done it is released to the world, you can't undo this action, you can only break things trying to. Just bump the number and make another one but please leave the history in peace

@lig
Copy link

lig commented Jul 24, 2019

@ptmcg Could you please at least push 2.4.0 as it is as 2.4.1? Suddenly this removal has created a lot of a mess with the requirements in CI builds for us:(

trickeydan added a commit to srobo/j5 that referenced this issue Jul 24, 2019
@alexbecker
Copy link

First, thanks @ptmcg for maintaining PyParsing. It's a great library which I have used in multiple projects over the past 5 years.

I do think un-releasing from PyPI is the wrong course of action here though. When you first realize that a release is broken, it can seem like a disaster. But many of the people installing your package don't use much of it, often only importing it indirectly as a dependency of some other package, and may not suffer from whatever is broken in the release. If they pin package versions (like most orgs trying to avoid breaking), un-releasing is guaranteed to break them.

IMO, the best course of action is to immediately re-release the prior version as a patch bump to the broken version, in this case 2.4.2. Then nobody who hasn't already installed the bad release will install it, and you can publish a fixed release as 2.4.3 at your leisure.

jeremyh added a commit to jeremyh/datacube-explorer that referenced this issue Jul 24, 2019
Travis is failing because their 2.4.1 release was deleted from pypi:
pyparsing/pyparsing#105
@ptmcg
Copy link
Member

ptmcg commented Jul 25, 2019

I have re-released version 2.4.1 as version 2.4.1.1, with a CHANGES blurb outlining the known problems in this release and workarounds, but no changes to any of the code. I have done a test 'pip install' and correctly got the 2.4.1.1 version. 2.4.2a1 is still in progress - hopefully this will restore some sanity to this release path. Again, sorry for underestimating the impacts of mucking with the PyPI release chain.

@ptmcg
Copy link
Member

ptmcg commented Jul 30, 2019

New 2.4.2 release just pushed to PyPI - I promise not to delete it.

@ptmcg ptmcg closed this as completed Jul 30, 2019
@adamchainz
Copy link

Thank you very much @ptmcg for your work on pyparsing and resolving this with both the re-release and the new version. I think some of the noise here shows just how valuable your work is in the Python ecosystem.

twitu added a commit to twitu/bot_programming that referenced this issue Aug 10, 2019
andrewkozlik pushed a commit to trezor/trezor-firmware that referenced this issue Aug 30, 2019
Pyparsing was updated to 2.4.1 in 5d01390
but this version was removed from pip, see
pyparsing/pyparsing#105, so the install failed.

This commit removes Pipfile.lock, reruns `pipenv install`, which updates
the package back to 2.4.0, which is currently the newest version.
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
Patch Set 2:

For the record, 2.4.1 was available for a while on the mirrors until a few hours ago, until it has been removed:
pyparsing/pyparsing#105

Patch-set: 2
Reviewer: Gerrit User 10459 <10459@4a232e18-c5a9-48ee-94c0-e04e7cca6543>
Label: Verified=0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
pyparsing/pyparsing#105

Change-Id: I116dcdcf5225967d9a3ca06a44572c78e324dd34
Story: 2006271
Task: 35967
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
pyparsing/pyparsing#105

Change-Id: I116dcdcf5225967d9a3ca06a44572c78e324dd34
Story: 2006271
Task: 35967
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
pyparsing/pyparsing#105

Change-Id: I116dcdcf5225967d9a3ca06a44572c78e324dd34
Story: 2006271
Task: 35967
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests