-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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 pykafka recipe #4091
Add pykafka recipe #4091
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipes/pykafka:
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@emmett9001 I found that I needed to install gevent in order to import pykafka. Is this expected? |
extra: | ||
recipe-maintainers: | ||
- mrocklin | ||
- emmett9001 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you ok being a maintainer, @emmett9001?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I am!
Just want to check with the other person to make sure they are ok maintaining this. Otherwise LGTM. |
Yes, we're in conversation in Parsely/pykafka#730 . I haven't yet received a confirmation. Also, what is the right thing to do if the package needs |
It looks like we're not picking up the librdkafka library at build time. http://pykafka.readthedocs.io/en/latest/#using-the-librdkafka-extension Is there a nice way to add conda's local include and lib directories to |
|
||
requirements: | ||
build: | ||
- python |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add toolchain
.
Yes.
Adding |
This recipe has grown somewhat more complex. Does it still meet the requirements of |
It looks like we're still not able to see the librdkafka library. I'm not sure if this is at build time or at runtime though. |
Failing at build time
|
If it is compiling stuff, would say no. |
build: | ||
- python | ||
- setuptools | ||
- toolchain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add librdkafka
here too if it is needed for the build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ah! Of course. Now I feel a bit silly. Thanks @jakirkham !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
np
recipes/pykafka/meta.yaml
Outdated
- python | ||
- setuptools | ||
- toolchain | ||
- librdkafka # [not win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally for libraries that are linked to, we pick some sort of pinning so the stack remains consistent and things don't break when a new version comes out. Based on the API/ABI report, it looks like librdkafka
breaks on patch versions sometimes. Though 0.9.4
and 0.9.5
seem ok. Given this, it seems reasonable to change this to librdkafka 0.9.4|0.9.5
. Thoughts on this?
cc @conda-forge/librdkafka
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 I'm pinned at 0.9.4
here; this works for me.
I'd argue it's important to keep all of the libraries that depend on librdfakfa
on the same pin so they are interchangable. Is there a non-manual way to do this other than a global conda-forge
pin?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hrm, at runtime I would expect conda itself to figure this out. I'm not sure how feasible it is to use pykafka with a different librdkafka from which it was built.
How does conda-forge handle development versions? I've been doing pre-release versions for a while (with |
@@ -0,0 +1,60 @@ | |||
{% set name = "pykafka" %} | |||
{% set version = "2.6.0" %} | |||
{% set sha256 = "19e4a802b00e28c3203fcfd80ca440b13faecb8e58171e9685a044cf87dae93e" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where on PyPI is this SHA available?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I honestly never do dev releases on conda-forge. But then again I rarely do dev releases. I don't have much to provide here. @jakirkham generally knows best practices.
OK, good to know. From my perspective this PR is good to go. |
Is there anything else here that needs to be resolved? |
Ping |
- python | ||
- setuptools | ||
- toolchain | ||
- librdkafka 0.9.4|0.9.5 # [not win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please add this pinning to our list of pinnings?
Sorry @mrocklin. Got a bit swamped. Would like us to add the |
I'm not sure I understand the intent here or the format of that document. I'm happy to submit a PR that follows that pattern though. What happens if we update librdkafka on conda-forge (which is a few versions old at the moment). |
So we try to keep all pinnings the same throughout conda-forge. That way, one can confidently install and use various packages from conda-forge without running into dependency conflicts. ATM we pin Hope that helps. If you have more questions, please feel free to ask. :) |
Ah, so all conda-forge recipes are pinned to the exact same version? How/when does the community decide to bump these pinned versions? |
As requested in: conda-forge/staged-recipes#4091 (comment)
Yeah we try our best to do so. Though we haven't equipped the linter to enforce this and some recipes lag (though the pinning bot should help here). So there could be some exceptions. That said, the goal is to keep everything in lockstep. Normally someone in the community feels a need to have a newer version and they PR a version bump to the webpage repo. Then we try to discuss with relevant parties to see if that works for everyone affected. Though we may go ahead if some people are slow to reply. |
Thanks @mrocklin. |
Thank you for shepherding this along @jakirkham |
cc @emmett9001
Depends on #4090
See Parsely/pykafka#730