Closed Kodiologist closed 2 years ago
Thanks for pinging me about a new release! I've been preparing to do exactly that in the coming days or weeks. The new release will include the fix 10f4017287b88fc85a67a6e13760f915a137a8e4 for oneplus
you've mentioned. I have also updated and tested the library to support newer versions of Python: 3.5-3.9, as well as 2.7.
@Kodiologist I have a question for you as a member of https://github.com/hylang. I plan to name the new release funcparserlib 1.0.0 and switch to semantic versioning. 1.0.0 is long overdue: the last release 0.3.6 is the current stable API for funcparserlib and I want the version to reflect that. Are you OK with these changes? Would you like to test 1.0.0a0 if I release it?
Recently I collected some open-source usages of funcparserlib. https://github.com/hylang/hy is one of the main users I've found. You now use version >= 0.3.6
in your requirements. My switching to 1.0.0 would mean auto-update for your users. It would be cool to test 1.0.0a0 before the release.
Cool. Sure, we can try Hy with the release candidate before you mint it as 1.0.0.
FYI I've filed a backdated issue #66 about the problem with oneplus
to track changes for 1.0.0.
@vlasovskikh What's the status of this? I noticed that in Guix[0] upstream, this packages fails to build. It would be nice to have a release here on GH, and in Pypi :smile:
Better error messages with expected tokens are coming in 1.0.0, see #52.
Please make a new release +1
Recently ReadTheDoc start to complain in doc build (I think this would affect many users):
Exception occurred:
File "/home/docs/checkouts/readthedocs.org/user_builds/xxx/envs/vxxx/lib/python3.7/site-packages/actdiag/parser.py", line 42, in <module>
from funcparserlib.parser import (some, a, maybe, many, finished, skip)
File "/home/docs/checkouts/readthedocs.org/user_builds/xxx/envs/vxxx/lib/python3.7/site-packages/funcparserlib/parser.py", line 123
except NoParseError, e:
^
Because of https://www.python.org/dev/peps/pep-3110/#compatibility-issues
Hi Andrey,
Unfortunately funcparserlib
cannot be installed with the latest setuptools
.
https://setuptools.readthedocs.io/en/latest/history.html#v58-0-2
$ docker run -it ubuntu:focal
root@981f674369f7:/# apt update && apt install -y python3 python3-pip && python3 -m pip install -U setuptools && python3 -m pip install funcparserlib
...
Collecting setuptools
Downloading setuptools-58.0.2-py3-none-any.whl (816 kB)
|████████████████████████████████| 816 kB 3.0 MB/s
Installing collected packages: setuptools
Attempting uninstall: setuptools
Found existing installation: setuptools 45.2.0
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'setuptools'. No files were found to uninstall.
Successfully installed setuptools-58.0.2
Collecting funcparserlib
Downloading funcparserlib-0.3.6.tar.gz (30 kB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rxpt_mvo/funcparserlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rxpt_mvo/funcparserlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-rxpt_mvo/funcparserlib/pip-egg-info
cwd: /tmp/pip-install-rxpt_mvo/funcparserlib/
Complete output (1 lines):
error in funcparserlib setup command: use_2to3 is invalid.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The v1.0.0 release would be appreciated. Thank you!
Cheers, Attila
I ran into #69 (hilariously transitively due to installing hy
! :smile:) and that led me to this issue. In an attempt to be helpful (in what small capacity I possibly can be), I used pip install 'git+https://github.com/vlasovskikh/funcparserlib.git@d4ba3955ffc10544dbae6aaed68bcab21d0c294b'
(d4ba3955ffc10544dbae6aaed68bcab21d0c294b being the latest commit here) followed by pip install -q 'hy==1.0a3'
, and then ran hy ---version
and got the following (pretty hairy looking) backtrace.
I haven't tried to switch Hy to any funcparserlib version past the old release because Vlasovskikh hasn't declared a release candidate yet.
Following up on @tianon's investigation, using 5191cd8d6d863c858abe88ca9458410bd214e586 seems to work:
$ docker run -it python:3 bash
root@9fc33a3b02c0:/# pip install -U setuptools
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (57.5.0)
Collecting setuptools
Downloading setuptools-58.0.3-py3-none-any.whl (816 kB)
|████████████████████████████████| 816 kB 3.1 MB/s
Installing collected packages: setuptools
Attempting uninstall: setuptools
Found existing installation: setuptools 57.5.0
Uninstalling setuptools-57.5.0:
Successfully uninstalled setuptools-57.5.0
Successfully installed setuptools-58.0.3
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@9fc33a3b02c0:/# pip install 'git+https://github.com/vlasovskikh/funcparserlib.git@5191cd8d6d863c858abe88ca9458410bd214e586'
Collecting git+https://github.com/vlasovskikh/funcparserlib.git@5191cd8d6d863c858abe88ca9458410bd214e586
Cloning https://github.com/vlasovskikh/funcparserlib.git (to revision 5191cd8d6d863c858abe88ca9458410bd214e586) to /tmp/pip-req-build-km43rf19
Running command git clone -q https://github.com/vlasovskikh/funcparserlib.git /tmp/pip-req-build-km43rf19
Running command git rev-parse -q --verify 'sha^5191cd8d6d863c858abe88ca9458410bd214e586'
Running command git fetch -q https://github.com/vlasovskikh/funcparserlib.git 5191cd8d6d863c858abe88ca9458410bd214e586
Running command git checkout -q 5191cd8d6d863c858abe88ca9458410bd214e586
Resolved https://github.com/vlasovskikh/funcparserlib.git to commit 5191cd8d6d863c858abe88ca9458410bd214e586
Building wheels for collected packages: funcparserlib
Building wheel for funcparserlib (setup.py) ... done
Created wheel for funcparserlib: filename=funcparserlib-0.3.6-py3-none-any.whl size=10176 sha256=b8d28acbfed078e3f4bc2f9d73972d8590fd006cd90cf442dfdc732b33a40215
Stored in directory: /root/.cache/pip/wheels/95/a4/49/3698b5aced2d73c05806ea61694e3fd321fc78eaf5382bd756
Successfully built funcparserlib
Installing collected packages: funcparserlib
Successfully installed funcparserlib-0.3.6
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@9fc33a3b02c0:/# pip install -q 'hy==1.0a3'
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@9fc33a3b02c0:/# hy --version
hy 1.0a3
Perhaps a patch version or minor version bump based on an older commit would be enough to fix only the setuptools
problem.
Cheers, Attila
I have published a pre-release version funcparserlib 1.0.0a0, feel free to try it:
pip install funcparserlib==1.0.0a0
Please report any issues with the new version. It is intended as backwards-compatible with 0.3.6, but there may be undocumented parts of the library that I have changed.
the 1.0.0a0
version resolved the "use_2to3 is invalid" issue for me.
error in funcparserlib setup command: use_2to3 is invalid.
Switched to 1.0.0a0, don't see any problem
@vlasovskikh Do you need any more testing done before the new release? I'm having some CI failures with the previous version and it looks like 1.0 fixes it.
@vlasovskikh Any updates on a new release?
Still to be done ....
Sorry for keeping you waiting. I hope I'll have time to release 1.0.0 during the winter holidays. Meanwhile please make sure that 1.0.0a0 works for you:
pip install funcparserlib==1.0.0a0
1.0.0a0 works fine here, any chance the 1.0.0 could be released soonish? (:
@vlasovskikh please please do
Or give me access, I can make a release for you.
It would be great to release this soon, as it's breaking pip install hy
Hy maintainer here: that's surprising, assuming you're doing literally pip install hy
rather than pip install hy --pre
, because Hy 0.20.0 was developed with funcparserlib
0.3.6, which is still the most recent stable version on PyPI. I would expect that, if anything, releasing funcparserlib
1.0 will break the default installation procedure of Hy 0.20.0, because then funcparserlib>=0.3.6
in install_requires
will retrieve the not-quite-backwards-compatible funcparserlib
1.0. At any rate, there's no time like the present to upgrade to Hy 1.0a4.
python 3.9.10 in a new venv:
$ pip install hy
WARNING: Discarding https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz#sha256=b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d (from https://pypi.org/simple/funcparserlib/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. [...] `
Interesting. Looks like it boils down to that pip install funcparserlib
just doesn't work on Python 3.9 ("error in funcparserlib setup command: use_2to3 is invalid"), whereas pip install funcparserlib==1.0.0a0
does. That is indeed a good reason to release.
Interesting. Looks like it boils down to that
pip install funcparserlib
just doesn't work on Python 3.9 ("error in funcparserlib setup command: use_2to3 is invalid"), whereaspip install funcparserlib==1.0.0a0
does. That is indeed a good reason to release.
It does not work with setuptools >= 58.0
- https://github.com/vlasovskikh/funcparserlib/issues/69
Another attempt at coming up with the release 1.0.0. Please check out build 1.0.0a1 compatible with Python 2.7 and Python 3.7-3.10:
pip install funcparserlib==1.0.0a1
Running in GitHub Actions, ubuntu-latest, Python 3.10.4 installed from conda-forge and funcparserlib 1.0.0a1 from PyPI, my previously failing sphinx website building passes (as it did with 1.0.0a0). funcparserlib
was installed with:
pip install -U --pre funcparserlib
@vlasovskikh 1.0.0a1 seems to work well with Hy master.
Anything blocking the 1.0.0 release? Using the alpha package is not a proper solution.
Please try version 1.0.0a2, it's actually the release candidate. Next week I will release it as 1.0.0 if I get no bug reports.
I've fixed several bugs in error reporting and launched a new website with fresh docs and the new Getting Started guide. Check out the changelog for 1.0.0.
Looks good on Hy master.
Looks good here too.
Released funcparserib 1.0.0! 🚀😎 It is intended to be mostly backwards-compatible with 0.3.6. Check out the changelog for a couple of small new features in 1.0.0 compared to 0.3.6.
pip install funcparserlib
Thank you 🙏 @pkulev @jdufresne @fabaff @martica and others for your pull requests! Thank you @Kodiologist and others in this issue for pushing me towards the release!
Over in hylang/hy#2026, we're hitting a bug that was fixed 6 years ago, because the last release of funcparserlib on PyPI is nearly 8 years old.