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

Python 3.8 Support #6324

Closed
thoward27 opened this issue Oct 23, 2019 · 37 comments
Closed

Python 3.8 Support #6324

thoward27 opened this issue Oct 23, 2019 · 37 comments
Assignees
Labels
Improvement Minor improvement to code Status: blocked Issue is blocked on another issue

Comments

@thoward27
Copy link

Details

Just trying to keep track of when you plan to support python 3.8. I really want to use the walrus operator in my code, but that currently breaks RTD.

Repository in question is https://github.com/thoward27/grade

Expected Result

Python 3.8 to be available in the config file.

Actual Result

Tis not available:

Error
Problem in your project's configuration. Invalid "python.version": expected one of (2, 2.7, 3, 3.5, 3.6, 3.7, pypy3.5), got 3.8
@stsewd stsewd added the Improvement Minor improvement to code label Oct 23, 2019
@stsewd
Copy link
Member

stsewd commented Oct 23, 2019

We need to add the new version in our docker file https://github.com/readthedocs/readthedocs-docker-images/blob/master/Dockerfile and test that nothing breaks.

@thoward27
Copy link
Author

If you have an ETA and are willing to share it, I would greatly appreciate it!

Let me know if there's anything I can do to help move this along.

@humitos
Copy link
Member

humitos commented Oct 24, 2019

@thoward27 do you have a PR in your repo so I can use to test RTD with a 3.8 project?

@thoward27
Copy link
Author

@humitos I do now!

@humitos
Copy link
Member

humitos commented Oct 31, 2019

@thoward27 In the next deploy, #6329 will be included and we will be able to test your project under our docker image 6.0rc1 which includes py3.8. Do you want to beta test it?

@thoward27
Copy link
Author

Sure, I'd love to. How can I go about doing so?

@humitos
Copy link
Member

humitos commented Nov 4, 2019

@thoward27 Great! I will enable the new Docker image with Py3.8 support in your project once it's deployed and let you know.

@humitos humitos self-assigned this Nov 12, 2019
@humitos
Copy link
Member

humitos commented Nov 12, 2019

Hi @thoward27! We just deployed this. What's your project's url on Read the Docs? I can set the docker image with py3.8 support in your project.

Once this is set in your project, you don't have to use the python.version in your YAML file.

@thoward27
Copy link
Author

@humitos my url is: https://grade.readthedocs.io/en/latest/

Let me know once you've updated the docker image

@stsewd
Copy link
Member

stsewd commented Nov 14, 2019

@thoward27 I've enabled the new image for your project. If you use a configuration file, you can use 3.8 or just 3 as the python option https://docs.readthedocs.io/en/stable/config-file/v2.html#python and it will use python 3.8 to build your project.

Build using 3.8
https://readthedocs.org/projects/grade/builds/9959367/

@stale
Copy link

stale bot commented Dec 29, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Status: stale Issue will be considered inactive soon label Dec 29, 2019
@mikeshardmind
Copy link

I'm curious if there's any more on this, or if we can opt our project into the same build as well in the meantime, we recently constrained to python3.8+ due to upstream issue in python which was fixed in 3.8

@stale stale bot removed the Status: stale Issue will be considered inactive soon label Jan 2, 2020
@thoward27
Copy link
Author

I have not made any progress on my end. Currently, I am waiting on several other packages to get to 3.8 before I can test it. Can someone enable EXTERNAL_VERSION_BUILD for my account? As I understand it, that should try and build docs for PRs, which would let me test just RTD much faster.

@humitos
Copy link
Member

humitos commented Jan 6, 2020

@mikeshardmind please, let me know what's your project and I will enable the Beta Docker image that contains Python 3.8 in your project. Also, see #6324 (comment) for its configuration.

@humitos
Copy link
Member

humitos commented Jan 6, 2020

@thoward27 let me know what's your project on Read the Docs and I'll enable it.

@mikeshardmind
Copy link

@humitos thanks for the response, RTD project link https://red-discordbot.readthedocs.io/en/latest/

@humitos
Copy link
Member

humitos commented Jan 6, 2020

@mikeshardmind done! please try it now and let me know if you were able to build with Py3.8

@mikeshardmind
Copy link

@humitos Thank you, the beta image appears to work as intended for us (successful build) and the docs are rendering as intended.

@thoward27
Copy link
Author

@stsewd
Copy link
Member

stsewd commented Jan 6, 2020

Just for clarification, we still are in beta because people not using a configuration file or using a configuration file with python: 3 will get python 3.8 instead of python 3.7. That could break some builds (bc of something like using async as identifier). Probably we want to communicate the update to users before making the change.

@humitos
Copy link
Member

humitos commented Jan 6, 2020

@humitos thoward27/grade

@thoward27 I need your project on Read the Docs.

@protolambda
Copy link

Hey all, I would like to build my new project using python 3.8, as it extensively uses the newer typing features, and it's simply not 3.7 compatible. Can the beta be enabled for my project?

Project link: https://github.com/protolambda/remerkleable
Read the docs: https://readthedocs.org/projects/remerkleable/

Thanks!

@vilhelmprytz
Copy link

Hey all, I would like to build my new project using python 3.8, as it extensively uses the newer typing features, and it's simply not 3.7 compatible. Can the beta be enabled for my project?

Project link: https://github.com/protolambda/remerkleable
Read the docs: https://readthedocs.org/projects/remerkleable/

Thanks!

Does your documentation not support Python 3.7?

@humitos
Copy link
Member

humitos commented Jan 20, 2020

@protolambda done! see the output of a build with py3.8 at https://readthedocs.org/projects/remerkleable/builds/10290130/

@protolambda
Copy link

@vilhelmprytz Not exactly sure, but it failed on 3.7, since I wanted to install doc requirements through the setup.py, which requires 3.8. And then there also is autodoc with 3.8 types, and just the inconvenience about being limited to different python versions side by side.

@humitos Awesome, thank you :)

@sayanarijit
Copy link

@humitos Hi... can you please enable the same for https://readthedocs.org/projects/viper-infrastructure-commander/ ?

jmsmkn added a commit to comic/grand-challenge.org that referenced this issue Jan 30, 2020
Python 3.8 is still not supported by read the docs (readthedocs/readthedocs.org#6324), so reverting the change to 3.7 as this also fails. We need to wait for rtd to add support for us.
@jmsmkn
Copy link

jmsmkn commented Jan 30, 2020

@humitos Would you be able to enable it for https://grand-challengeorg.readthedocs.io/en/latest/ ?

@stsewd
Copy link
Member

stsewd commented Jan 30, 2020

Sorry for the late reply. Both projects are running with python 3.8 now

https://readthedocs.org/projects/viper-infrastructure-commander/builds/10357201/
https://readthedocs.org/projects/grand-challengeorg/builds/10357209/

@DevilXD
Copy link

DevilXD commented Jan 31, 2020

Could I get Python 3.8 enabled for this one too please?
https://readthedocs.org/projects/arez/

@Paebbels
Copy link

Paebbels commented Feb 2, 2020

My project pyVHDLParser is failing to build, due to Python 3.7 instead of Python 3.8:

 File "/home/docs/checkouts/readthedocs.org/user_builds/pyvhdlparser/checkouts/latest/pyVHDLParser/Blocks/__init__.py", line 39, in <module>
    from pyVHDLParser.Token             import CharacterToken, Token, SpaceToken, IndentationToken, LinebreakToken, CommentToken, TokenIterator
  File "/home/docs/checkouts/readthedocs.org/user_builds/pyvhdlparser/checkouts/latest/pyVHDLParser/Token/__init__.py", line 56
    while char := next(charIterator):
                ^
SyntaxError: invalid syntax

This is a new project under development, so I started to use latest language features, because it will be medium outdated when my project gets to a stable release.

Please enable Python 3.8 for my project too.

If it's not so much effort, you can enable it for all my projects listed at ReadTheDocs :).

@stsewd
Copy link
Member

stsewd commented Feb 3, 2020

@Paebbels which are the URLs of your projects or your rtd user?

@Paebbels
Copy link

Paebbels commented Feb 3, 2020

@stsewd my user at ReadTheDocs is also called Paebbels and my projects are:

Projects with active Python 3.8 usage:

  • pyAttributes
  • pyVHDLParser

Projects going to use Python 3.8:

  • pyTerminalUI
  • pyTokenizer
  • pyMetaClasses
  • pyGenericPath
  • pyHTTPInterface
  • pyHTTPServer
  • pyHTTPRequestRouter
  • Semaphore-Microservice
  • pyIPCMI

Thanks a lot in advance :).

@achimnol
Copy link

achimnol commented Feb 4, 2020

Could you please enable Python 3.8 for my projects as well? (username / slug ID)

  • joongi / aiotools
  • joongi / backendai-client-sdk-for-python
  • joongi / backendai-client-sdk-for-python-ko
  • lablup-devops / sorna

@cjolowicz
Copy link

Would it be possible to open a separate ticket to track when Python 3.8 support is added? Subscribing here means that you get notified every time somebody requests enabling it for their specific project. Thank you :-)

@humitos
Copy link
Member

humitos commented Feb 4, 2020

Would it be possible to open a separate ticket to track when Python 3.8 support is added?

Yes. Good idea.

Please, if you need beta support for Python 3.8 contact us at [email protected] indicating your username and the project you want to enable it.

@humitos
Copy link
Member

humitos commented Feb 4, 2020

@cjolowicz regarding official support for Py3.8, we are blocked on #6551 that it's required for this first.

@humitos
Copy link
Member

humitos commented Feb 19, 2020

Hi all! We already have support for Python 3.8. You can use our .readthedocs.yml config file for this (see https://docs.readthedocs.io/en/stable/config-file/v2.html)

Summarizing, you need:

# .readthedocs.yml
python:
  version: 3.8

This was implemented at #6654

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Improvement Minor improvement to code Status: blocked Issue is blocked on another issue
Projects
None yet
Development

No branches or pull requests