-
Notifications
You must be signed in to change notification settings - Fork 308
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
pytest_tornasync becomes hard dependency if pytest is installed #337
Comments
Thanks for opening this issue where it actually belongs @bollwyvl! Over in voila-dashboards/voila#728 @adriendelsalle created a good repro: |
Hi @bollwyvl - thank you for opening this issue along with the helpful information. I'm sorry things took a couple of months to find their way here and apologize for the frustration this has caused. @dhirschfeld - thank you for providing the link. We are currently in the process of addressing a different pytest-related issue (#322) in which we've decided to prefix all of the fixtures we package in a plugin, while moving their definitions to a separate repo: https://github.com/jupyter-server/pytest-jupyter that produces two plugins. PR #335 is the start of that transition, although based on this information and new understanding, we may want to hasten that effort as we were going to take a multi-step approach so as to not side-effect dependent projects. The pytest-jupyter plugins have been published although I suspect they may exhibit a similar issue - so we'll want to focus some of these efforts there. Let's move any detailed discussion to their respective PRs. This aspect of pytest (publishing of plugins) is new to us and we were not aware of the negative side-effects. Sorry again. |
Remove pytest11 entrypoint and plugin, require tornado 6.1, remove asyncio patch, CI work
* minor fixes * refactor polling * use the synchronizer as a session manager * typo * move session logic into session manager * minor fixing of poll heristic * Bump to 0.18.0
Hey, folks! Hooray for making pytest a first party concern, and offering a pytest plugin 🎉!
Boo for the co-presence of
jupyter_server
andpytest
making other people'sentry_points
fail 👻!Is there some way that
pytest_tornasync
can be lazily loaded, etc. such that not everything needs to bring it in unless actually testing?I mean, I love some
entry_points
, and I would kill forjupyter_server
extensions to be able to be delivered via "normal means," if indeedentry_points
were the right way to do it (we some some knock-on effects here), but that software looks a bit long-in-the tooth (which is not necessarily a bad thing, but tornado has changed a fair amount), and I can never quite tell what plugins actually do to my pytest environment.Alternatives
pytest_jupyter_server
jupyter_server
, it can bringpytest
,pytest_tornasync
, etc. along with a proper version pinspytest11
entry_point
pytest
ing, you're going to have aconftest.py
, and it is read last, andpytest_plugins = ["jupyter_server.pytest_plugin"]
isn't that big a liftThe
extras
don't really provide much assurance over time (basically ignored on subsequent solves), andpytest
(in)compatibility can be a really real thing, even at initialization time.related:
pytest-tornasync
appears to be a *run-time* dependency? voila-dashboards/voila#728The text was updated successfully, but these errors were encountered: