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

Isolate Yellowbrick Dependencies #52

Closed
mariusvniekerk opened this issue Sep 16, 2016 · 5 comments
Closed

Isolate Yellowbrick Dependencies #52

mariusvniekerk opened this issue Sep 16, 2016 · 5 comments
Assignees
Labels
level: intermediate python coding expertise required priority: high should be done before next release type: task non-code related task type: technical debt work to optimize or generalize code
Milestone

Comments

@mariusvniekerk
Copy link
Contributor

mariusvniekerk commented Sep 16, 2016

Lots of libraries are pinned to versions in the requirements.txt

Should this be the case?

@bbengfort
Copy link
Member

@mariusvniekerk the current version is an mvp proof of concept, intended for development and not necessarily users. We've been having a lot of trouble with continuous integration testing (see #17 #20) and so we felt that pinning versions would be necessary to ensure we were all on the same page.

That said, most of the libraries in requirements.txt are commented out, and only the following dependencies are pinned:

matplotlib==1.5.1
scipy==0.17.1
scikit-learn==0.17.1
numpy==1.11.0
cycler==0.10.0

The others are mostly dependencies of these 5 and come into the requirements with pip freeze.

You do, however, raise a good point - and we've recently been discussing what dependencies we want to include, and whether or not we want to include Seaborn and the entire pandas stack, or try to simplify the library. We have decided the following dependencies are going to be in Version 1:

matplotlib>=1.5.1 
scikit-learn>=0.17

I'm going to go ahead and make this issue reflect that goal so that we can discuss its impact here!

@bbengfort bbengfort changed the title requirements.txt pins everything Isolate Yellowbrick Dependencies Sep 19, 2016
@bbengfort bbengfort added type: task non-code related task priority: high should be done before next release type: technical debt work to optimize or generalize code level: intermediate python coding expertise required labels Sep 19, 2016
@bbengfort bbengfort added this to the Backlog milestone Sep 19, 2016
@mariusvniekerk
Copy link
Contributor Author

Thanks, basically I wanted to build a conda package for yellowbrick.

For CI purposes I would strongly advocate using conda and conda-forge to grab your dependencies. You can get latest versions of the various pydata stack libraries and it should be relatively easy to test against multiple different versions of scipy, sklearn and matplotlib.

@bbengfort
Copy link
Member

bbengfort commented Sep 20, 2016

Excellent! We'd really appreciate a conda package contribution. Just note that we're about to make some significant changes to the underlying API, refactoring to our idea of "Visual Transformers" and "Visual Pipelines" to more closely align ourselves with the Scikit-Learn API. These changes are due October 6 in the 0.3 release of Yellowbrick, which will not be backwards compatible.

@bbengfort bbengfort modified the milestones: Version 0.3.2, Backlog Oct 13, 2016
@bbengfort bbengfort changed the title Isolate Yellowbrick Dependencies Isolate Yellowbrick Dependencies Oct 13, 2016
@bbengfort
Copy link
Member

Version 0.3.1 froze the dependencies as follows:

matplotlib>=1.5.1
scipy>=0.17.1
scikit-learn>=0.17.1
numpy>=1.11.0
cycler>=0.10.0

@bbengfort
Copy link
Member

@mariusvniekerk -- I'll create a new issue for the conda package distribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
level: intermediate python coding expertise required priority: high should be done before next release type: task non-code related task type: technical debt work to optimize or generalize code
Projects
None yet
Development

No branches or pull requests

2 participants