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

gremlin-python: enable opt-out for some pkg reqs #1733

Closed
wants to merge 1 commit into from

Conversation

skieffer
Copy link

@skieffer skieffer commented Jun 22, 2022

For gremlin-python users who plan to use a custom transport, there may be no need to install the aiohttp or nest_asyncio packages. These packages bring quite a few recursive requirements with them as well.

These packages should not be moved to extras_require in setup.py, since this would break existing deployments.

Instead, there is a pattern for opting out of requirements at installation time, using environment variables. It is discussed for example here.

EDIT: Associated JIRA ticket: https://issues.apache.org/jira/browse/TINKERPOP-2752

@krlawrence
Copy link
Contributor

Is your main concern the size of the WHL file or are there conflicts created by the current dependency tree with the implementation that you are preferring to use for your web socket transport? I'm not opposed to this change but I think we will also need to add some tests as part of this PR for the flag, and potentially an alternate implementation as part of that testing.

@skieffer
Copy link
Author

Hi @krlawrence, thanks for taking a look at this.

There are no dependency conflicts. For me the concern is partly about wasted MBs in a docker image (only about 12MB, but it counts), and partly about wanting to keep misleading clutter out of automatically generated licensing info. I don't want to say, "This software uses packages X, Y, and Z" if it doesn't actually use them.

In any case, I realize the problem is really not with gremlinpython per se, but is fundamentally about needing better control over pip and dependency resolution. Therefore I'm trying to tackle the more general problem over at pip-tools: jazzband/pip-tools#1645

I think the latter would actually be my preferred solution, so, in the meantime, I guess I won't push too hard for this PR.

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.

3 participants