-
-
Notifications
You must be signed in to change notification settings - Fork 519
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
Python 3.10 support #1270
Comments
Hi there @musicinmybrain, thanks for testing and filing this, and for your work on the Fedora distribution. It's always nice to hear from other maintainers. I've started a PR on this, though our CI is falling to install dependencies in Python 3.10, so it may take a while to resolve. We'll keep an eye on it during our regular work sessions, and in the meantime, I'd welcome any assistance from anyone interested in troubleshooting the issue. |
@musicinmybrain Thanks for all the work on this! I see in the spec that you're also doing some other changes. Should we take a look at those, too? If there are fixes you're having to do, we'd love to get those merged in upstream where hey can benefit everyone. Here are the ones I see (with my questions and notes).
Thanks, again, for everything! |
@wren, I appreciate your excellent questions. I’ll follow up here a little later, when I have time to address them more thoroughly. |
There isn’t as much being changed as it seems; in the latest spec file, only Other adjustments in the spec file are specific to existing stable Fedora releases, and preserve the ability to build the latest package on the two current stable releases of Fedora. It’s nice to be ready in case I need to issue an update due to a major bug or security vulnerability, although both releases currently contain older versions of jrnl and I’m likely to leave them alone if possible. For those releases, it is really just a matter of working with the package versions we already have in Fedora. I only took over maintenance of As I implied above, my hope is to be able to align a recent version of It’s good to know that you care about this. If I can’t get dependencies aligned by a future Fedora release, but the tests are passing anyway, I’ll be sure to file an issue or PR to try to accommodate a wider version range upstream.
You need a shebang (and the executable bit set) if you plan to run a file as a script, something like:
In this case, I am not so sure that you need any shebangs. People normally don’t run modules inside a package that way, especially when installed system-wide—who types In the Meanwhile, the module that is written like a “script” is Finally, there is the [tool.poetry.scripts]
jrnl = 'jrnl.cli:cli' in #! /usr/bin/python3 -s
# -*- coding: utf-8 -*-
import re
import sys
from jrnl.cli import cli
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(cli())
I’d say they are mostly harmless; the worst effect is probably confusion (“was this supposed to be a script? I don’t see anything but class and function definitions!”) Still, in Fedora we have these packaging guidelines for shebangs, which say “Files which are not installed as executables SHOULD NOT have shebang lines.” You’re right that it’s best to upstream the change wherever possible. Finally, shebang lines are often written like
Yes, absolutely! That way, you would take responsibility for its quality, and other distributions would be likely to package the man page as well. I have commented on #1274. |
@musicinmybrain Thank you for the very detailed and informative response! I just wanted to let you know that I've read it and will respond soon. @micahellison and I usually work on jrnl on Saturdays, so we'll go over this then and decide on a course of action. |
Feature Request
Use Case/Motivation
Python 3.10.0 beta 3 is available for testing, and Fedora Linux has already integrated Python 3.10 in the development version (Rawhide). Fedora 35 will release with Python 3.10 in the fall, around the same time that Python 3.10 final is available.
As the maintainer of the
jrnl
package in Fedora, I’m loosening the Python version restriction in pyproject.toml downstream.With a recent update to asteval, jrnl now builds, the tests pass (
pytest
andbehave
), and the executable passes a basic interactive “smoke test” at the command line.Since it seems there are likely no changes required other than
pyproject.toml
, please consider officially supporting Python 3.10 at your earliest convenience.Example Usage
(not applicable)
Other information
pytest
results:behave
results:The text was updated successfully, but these errors were encountered: