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

Add Sphinx 4.0 compatibility, drop EOLed Pythons #17

Merged
merged 24 commits into from May 25, 2022

Conversation

stevepiercy
Copy link
Contributor

@stevepiercy stevepiercy commented May 16, 2021

See #16, #13.

This is a work in progress.

- Correct meta information url, license, and add project_urls
@hugovk
Copy link

hugovk commented May 16, 2021

I recommend adding python_requires=">=3.6", to setup.py, it will help pip know which library version to install depending on the user's Python version.

@jugmac00
Copy link

Also, Travis announced to shut down travis-ci.org at the end of May.

@stevepiercy
Copy link
Contributor Author

@hugovk thank you, added!

@jugmac00 thanks for the reminder. I'll start adding GitHub Actions. Someone with permission needs to enable GHA on this repo.

What should be the author_email attribute in setup.py? It is currently repoze-dev@lists.repoze.org, and repoze.org is dead.

@jugmac00
Copy link

What should be the author_email attribute in setup.py? It is currently repoze-dev@lists.repoze.org, and repoze.org is dead.

The author e-mail field is not required, see python/cpython#17388

@stevepiercy
Copy link
Contributor Author

@malthe @MatthewWilkes @mcdonc @tseaver show as developers of the Repoze organization. I assume that they have access to enable GitHub Actions. Anyone else? Maybe PyPI maintainers @wichert or @dataflake?

@hugovk
Copy link

hugovk commented May 16, 2021

Also, Travis announced to shut down travis-ci.org at the end of May.

@jugmac00 Please could you point me to where they announced it? The banner has said "in several weeks" since 15 Dec 2020, and they initially said they would shut down by the end of 2020. Anyway, definitely agree with migrating to GitHub Actions 🚀

@stevepiercy To enable GHA, I think you just need to have a workflow file merged?

@jugmac00
Copy link

jugmac00 commented May 16, 2021

Also, Travis announced to shut down travis-ci.org at the end of May.

@jugmac00 Please could you point me to where they announced it? The banner has said "in several weeks" since 15 Dec 2020, and they initially said they would shut down by the end of 2020.

https://blog.travis-ci.com/2021-05-07-orgshutdown

@hugovk Let's spread the word:
https://twitter.com/jugmac00/status/1393852612588544001?s=19

@stevepiercy
Copy link
Contributor Author

I've done the easy things from #16 (comment). That leaves at least these two items to resolve, probably others:

  • sphinx.ext.autodoc.AutoDirective is deprecated; use application.Sphinx.add_autodocumenter()
  • Do something(?) with sphinx.theming.Theme.themes.

@stevepiercy
Copy link
Contributor Author

@hugovk for some reason it is not running on this repo as I would expect, so I added CI to this branch and it has queued the tests on my fork. It seems to be taking a while to start.

Anyway, I think maintainers need to do something, such as create a new branch sphinx-40-compat to align with mine, and I can open a PR against that branch for pushes.

@hugovk
Copy link

hugovk commented May 16, 2021

@hugovk for some reason it is not running on this repo as I would expect, so I added CI to this branch and it has queued the tests on my fork. It seems to be taking a while to start.

There's an "incident" right now, should get cleared in a little white:

Fix broken links
Clean up code-blocks
Fix typos
@stevepiercy
Copy link
Contributor Author

Incident resolved, restarted build, and it fails, but now everyone can see what causes the failures.

I'll keep slogging through the housecleaning stuff, like this one:

lint run-test: commands[0] | python setup.py check -r -s -m
warning: Check: missing meta-data: if 'author' supplied, 'author_email' must be supplied too

@jugmac00
Copy link

jugmac00 commented May 16, 2021

Incident resolved, restarted build, and it fails, but now everyone can see what causes the failures.

I'll keep slogging through the housecleaning stuff, like this one:

lint run-test: commands[0] | python setup.py check -r -s -m
warning: Check: missing meta-data: if 'author' supplied, 'author_email' must be supplied too

Looks like my fix made it in Python 3.9+ only, and was not backported.

Update
so you could run tox with basepython = python3.9 added to the lint env

@stevepiercy
Copy link
Contributor Author

I've restored the author and author_email. Either that pair or maintainer and maintainer_email are required.

I've reached out to @tseaver and @mcdonc in Keybase as well as @mmerickel and @bertjwregeer from Pylons to ask what is the best way forward to ensure that this package is maintained. I've volunteered, but need direction, whether that's being granted maintainer permission here and on PyPI, forking it to another organization, or something else.

Restore author and author_email in setup.py, even though they are dead
Fix README.rst rendering
Add MANIFEST.in and related necessary bits
@stevepiercy
Copy link
Contributor Author

Progress! The housecleaning now brings us to a point where the build fails due to what brought up this issue in the first place.

https://github.com/stevepiercy/repoze.sphinx.autointerface/runs/2595700723?check_suite_focus=true#step:5:23

ImportError: cannot import name 'AutoDirective' from 'sphinx.ext.autodoc' (/home/runner/work/repoze.sphinx.autointerface/repoze.sphinx.autointerface/.tox/py/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py)

@stevepiercy
Copy link
Contributor Author

We got a temporary reprieve in sphinx-doc/sphinx#9326 but it will come back in Sphinx 5.0.

@icemac
Copy link
Contributor

icemac commented May 17, 2022

See stevepiercy#1 which builds on this PR to get the tests running again.

Michael Howitz and others added 2 commits May 18, 2022 08:01
@stevepiercy stevepiercy marked this pull request as ready for review May 18, 2022 07:57
I lack access to do so through the UI, and Travis-ci-org is dead, so this probably won't work.
@stevepiercy
Copy link
Contributor Author

@bertjwregeer @tseaver @mcdonc @mmerickel @malthe @MatthewWilkes @wichert @dataflake this PR is ready for review.

Travis-ci.org is dead, and GitHub Actions don't run in this organization yet. Nonetheless tests did pass on my fork.

https://github.com/stevepiercy/repoze.sphinx.autointerface/runs/6484737469?check_suite_focus=true

@dataflake
Copy link
Contributor

I realize that Python 3.5 is EOL, but is there a specific technical reason why it must be excluded? I'm only saying that because on the Zope side we have promised to support Python 3.5 in conjunction with Zope 4 until Zope 4 is EOL itself.

@stevepiercy
Copy link
Contributor Author

@stevepiercy
Copy link
Contributor Author

@dataflake Sphinx 4.0 dropped Python 3.5 support. https://www.sphinx-doc.org/en/master/changes.html#id308

I reverted the restoration of 3.5, and kept 3.10:
https://github.com/stevepiercy/repoze.sphinx.autointerface/actions/runs/2344271403

@icemac
Copy link
Contributor

icemac commented May 19, 2022

@dataflake wrote:

I realize that Python 3.5 is EOL, but is there a specific technical reason why it must be excluded? I'm only saying that because on the Zope side we have promised to support Python 3.5 in conjunction with Zope 4 until Zope 4 is EOL itself.

As this library is only needed while creating the documentation. I think in Zope land we can live with the drop of Python 3.5 support. I'd rather like to see progress using a more modern Sphinx version than being stuck on an older one because of an unsupported Python version.

@dataflake
Copy link
Contributor

@stevepiercy Never mind then, it's OK to drop 3.5. Thanks for the work!

@stevepiercy
Copy link
Contributor Author

@dataflake I do not have write access and cannot merge this PR.

I've done what I can to push this forward, except fork it and release it as a new package as a last resort.

@dataflake
Copy link
Contributor

@tseaver @mcdonc Can someone please give me write access to this repository so I can merge the PR and then make a release (I already have access to the PyPI side)?

setup.py Outdated Show resolved Hide resolved
@dataflake dataflake merged commit f8b36bb into repoze:master May 25, 2022
@dataflake
Copy link
Contributor

repoze.shinx.autointerface version 1.0.0 is now on PyPI.

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

Successfully merging this pull request may close these issues.

None yet

6 participants