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

Cesc/update recipe #2

Merged
merged 2 commits into from
Feb 25, 2017
Merged

Conversation

FrancescElies
Copy link
Contributor

bumps version, adds some fixes, a maintainer and a todo for the test section

@conda-forge-linter
Copy link

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 (recipe) and found some lint.

Here's what I've got...

For recipe:

  • The recipe must have some tests.

@conda-forge-linter
Copy link

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 (recipe) and found it was in an excellent condition.

@mrocklin
Copy link

mrocklin commented Nov 2, 2016

Just curious, is Windows out of the question for blosc?

@jakirkham
Copy link
Member

That's a good question for @msarahan .

@jakirkham
Copy link
Member

The failure on Travis CI is due to the feedstock needing an update. Please re-render with conda-smithy version 1.4.6 to address this. Can add -c/--commit to conda smithy rerender to commit the re-rendering.

@FrancescElies
Copy link
Contributor Author

Thanks for the help, rerendering added missing appveyor file for windows

@@ -1,39 +1,44 @@
{% set version = "1.3.2" %}
{% set name = "blosc" %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the name change? Shouldn't this still be python-blosc? Note we do package blosc also.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you install one wants to run it you run, import blosc I thought this would be less confusing, but the repo is called python-blosc. Changing the name back to python-blosc
e0f0754

recipe/meta.yaml Outdated
run:
- python
- blosc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we dropping blosc as a dependency?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was doubting on this, I could not understand why do we need the package itself as a dependency?
1725c1a

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blosc is refering to the c-blosc lib, the recipe for that one is here: https://github.com/conda-forge/blosc-feedstock. This one python-blosc is just the python wrapper. We decided on those names to have the same ones as the defaults channel, here is the full discussion: conda-forge/staged-recipes#918

Copy link
Member

@danielfrg danielfrg Nov 3, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So python-blosc will build c-blosc if its not found (in the setup.py) but if we add it as a dependency it will just link it to the c-blosc that we build.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the question will arise how we build c-blosc/blosc on Windows.

@msarahan can you please advise us on this? 😄

recipe/meta.yaml Outdated
- numpy

test:
imports:
requires:
- blosc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😕

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

recipe/meta.yaml Outdated
- blosc
commands:
- python -c "import blosc; blosc.test()"
- mkdir empty
- cd empty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion we don't need it, I was just following the travis.ci file from the python-blosc project. so removing it
390e29d

recipe/meta.yaml Outdated

about:
home: https://github.com/Blosc/python-blosc
license: Apache 2.0
license_file: LICENSES/PYTHON-BLOSC.txt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

recipe/meta.yaml Outdated
- mkdir empty
- cd empty
- python -c 'import blosc; blosc.print_versions()'
- python -c 'import blosc; blosc.test()'

about:
home: https://github.com/Blosc/python-blosc
license: Apache 2.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also optionally add license_family: Apache.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe I still need some input for the license, apparently there are some plans to change it to bsd Blosc/python-blosc#121 (comment)

Adding it acbca92

@jakirkham
Copy link
Member

Ah, yeah, if you change skip, then re-rendering is needed to update the CI files included.

README.md Outdated
@@ -1,5 +1,5 @@
About python-blosc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess that is is because of the rerendering of the feedstock? Maybe you need to rerender again.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. After fixing the name we will need another re-render. Note can do conda smithy rerender --commit to commit the changes. Also can tack on auto to commit the re-rendering automatically without reviewing the changes.

@danielfrg
Copy link
Member

+1 Great to see a maintainer come in for this one :D

@jakirkham
Copy link
Member

Could you please disable CircleCI on your fork @FrancescElies ? It seems to be building this PR on your fork instead of on this feedstock.

@jakirkham
Copy link
Member

Also please close and reopen this PR after you have done that. This will trigger CircleCI to correctly build on this PR.

@FrancescElies
Copy link
Contributor Author

I deactivated Circle Ci, Travis and Appveyor from my profile

@FrancescElies
Copy link
Contributor Author

By the way, thank you both for your help!

@FrancescElies
Copy link
Contributor Author

Reopened to trigger CI services

recipe/meta.yaml Outdated

requirements:
build:
- python
- setuptools
- blosc
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall I add this build requirements again?
The git history is a bit messy, once this PR is fine I could clean the history if you like.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, let's go ahead and do that.

Sure if you want to clean it up at the end that sounds like a good idea.

@msarahan
Copy link
Member

msarahan commented Nov 3, 2016

We have a c-blosc recipe internally, but I don't see packages, and I don't understand why. Internally, I think we decided to change the compiled library to c-blosc, because that matches the project name.

@FrancescElies
Copy link
Contributor Author

Now I just remembered why I changed the name of the package, from python-blosc to blosc
If I try to download https://pypi.io/packages/source/p/python-blosc/python-blosc-1.4.4.tar.gz it cannot be found
But if I try to this onehttps://pypi.io/packages/source/b/blosc/blosc-1.4.4.tar.gz seems to be fine.

Copy link
Member

@jakirkham jakirkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming is causing us some issues with the download. As it is called blosc on PyPI, but we call it python-blosc here, we need to make a few corrections.

recipe/meta.yaml Outdated

package:
name: python-blosc
name: {{ name|lower }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should make this python-{{ name|lower }}.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good to me

recipe/meta.yaml Outdated
@@ -1,39 +1,44 @@
{% set version = "1.3.2" %}
{% set name = "python-blosc" %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should change this to blosc.

url: https://github.com/Blosc/python-blosc/archive/v{{ version }}.tar.gz
sha256: 63d1cd1da14087fa69bffc513b25d59deb24f45c65e4406acafaaa6ec9bd7cf2
fn: {{ name }}-{{ version }}.tar.gz
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This then should work.

@jakirkham
Copy link
Member

Seems our comments passed each other. My comments should address the download issue.

@FrancescElies FrancescElies force-pushed the cesc/update-recipe branch 2 times, most recently from e2c0ca4 to 59b4fbb Compare November 3, 2016 20:22
@jakirkham
Copy link
Member

So I think this is mostly good now. The one issue is that we still don't have a blosc package for Windows. We have a few options.

  1. Try to build a blosc package on Windows and come back to this.
  2. Go back to skipping Windows.
  3. Supply blosc on Unix and let Windows build blosc with the Python package.

Not sure which will be best.

@FrancescElies
Copy link
Contributor Author

I'm not sure, to me the cleanest sounds (1.), but maybe for the moment we could skip windows. I'm easy

@FrancescElies
Copy link
Contributor Author

I actually have some questions
Before we were using python setup.py install --blosc=$PREFIX --single-version-externally-managed --record record.txt to install python-blosc but I could not see in the project where the PREFIX for blosc is being set.
The current status of the recipe does not use PREFIX therefore when we install python-blosc it will use the blosc sources that are being shipped with python-blosc
Then, do we sill need blosc as dependency?
In python-blosc the recommended way is compiling with an installed Blosc library setting BLOSC_DIR env var, what shall we do?

@danielfrg
Copy link
Member

PREFIX is set by conda-build. If the recommended way is to install blosc, link and then use BLOSC_DIR instead of --blosc=... we should change it to use that. What should the value of BLOSC_DIR the path to the compiled binaries?

@FrancescElies
Copy link
Contributor Author

--blosc=$PREFIX has the same effect as setting BLOSC_DIR.
It should be set to the path where blosc is being installed, from what I can see https://github.com/conda-forge/blosc-feedstock/blob/master/recipe/build.sh#L6 is being set to PREFIX, it seems like it should work.
I'll give it a try

@jakirkham
Copy link
Member

I'm not sure, to me the cleanest sounds (1.), but maybe for the moment we could skip windows. I'm easy

Me too. 😄 Would love to get it to work on Windows at some point though. 😉

@FrancescElies
Copy link
Contributor Author

It looks like something wen't wrong now,
Error: HTTPError: 503 Server Error: Service Unavailable: Back-end server is at capacity for url: https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.18-6.tar.bz2: https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.18-6.tar.bz2
I'll give a try to blosc on windows next week

@FrancescElies
Copy link
Contributor Author

regtriggering CI services

@mrocklin
Copy link

Recommend retriggering CI services again

@conda-forge-linter
Copy link

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 (recipe) and found it was in an excellent condition.

@FrancescElies
Copy link
Contributor Author

FrancescElies commented Dec 1, 2016

Retriggered (close-open PR). I see appveyor and travis running again but not circle ci

@FrancescElies
Copy link
Contributor Author

an empty commit retriggered circle ci (I'll remove it afterwards)

@FrancescElies
Copy link
Contributor Author

removed empty commit, + rerendering, fingers crossed

@FrancescElies
Copy link
Contributor Author

tests passed now

@danielfrg danielfrg merged commit bf2e96d into conda-forge:master Feb 25, 2017
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