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

Allow namespace packages in dependencies #1673

Closed
jaraco opened this Issue Dec 17, 2017 · 6 comments

Comments

Projects
None yet
2 participants
@jaraco
Member

jaraco commented Dec 17, 2017

  • I'm submitting a ...
    [ ] bug report
    [X] feature request
    [ ] question about the decisions made in the repository

  • What is the current behavior?

In #1671, we learned that there are users of CherryPy installing the package to environments that do not support namespace packages. As a result, we've removed those offending dependencies and are explicitly supporting those environments, meaning CherryPy cannot accept namespace packages for dependencies.

  • What is the expected behavior?

CherryPy wishes to be able to adopt dependencies even on packages that use namespaces.

  • What is the motivation / use case for changing the behavior?

Python explicitly presents namespace packages; there is useful functionality published in namespace packages; the real defect lies in the environments that can't support these packages.

Let's set a deadline and after which a new backward-incompatible release will restore support for these dependencies.

@webknjaz

This comment has been minimized.

Member

webknjaz commented Dec 17, 2017

Could you please explicitly specify what are these environments and what is the underlying reason for them to not support such packages?

@jaraco

This comment has been minimized.

Member

jaraco commented Dec 17, 2017

The environments thusfar implicated are Pex, Celery, and py2exe. I do strongly encourage CherryPy users in those environments to file tickets with those projects upstream to add support for namespace packages to their product in order to avoid blocking the use of CherryPy when this change lands.

@webknjaz

This comment has been minimized.

Member

webknjaz commented Dec 17, 2017

Well, I was talking about what prevents them from supporting namespaced packages.

@webknjaz

This comment has been minimized.

Member

webknjaz commented Dec 17, 2017

@Safihre I think your project might be affected

@jaraco

This comment has been minimized.

Member

jaraco commented Feb 4, 2018

what prevents them from supporting namespace packages?

jaraco/jaraco.classes#2 reports one error in celery and a solution is described later.

That ticket links also to pantsbuild/pex#393, which appears to have been fixed.

The py2exe error is indicated in jaraco/jaraco.classes#3, where I'm still investigating, but some indications are that py2exe may be able to support namespace packages if those packages are able to declare/incorporate their support for py2exe.

@jaraco

This comment has been minimized.

Member

jaraco commented Jul 10, 2018

The upcoming CherryPy 17 release resolves this issue. Incompatible environments should pin to 'Cherrypy<17'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment