Code Monkey home page Code Monkey logo

heroku-buildpack-scipy's Introduction

Heroku buildpack: Python, Numpy, and Scipy

This is a custom Heroku buildpack for Python apps that use NumPy and/or SciPy, powered by pip.

Please open a GitHub for any problems encountered or feature requests. If are using this project and found it useful, please let me know! (Preferably by email: [email protected]). I maintain this project on my spare time, and I am much more motivated to work on it if I know there are people who are benefiting.

Details

This buildpack currently supports:

NumPy:

  • 1.6.2
  • 1.7.2
  • 1.8.1
  • 1.8.2
  • 1.9.0
  • 1.9.1
  • 1.9.2

SciPy:

  • 0.13.3 (compiled against NumPy 1.9.0)
  • 0.14.0 (compiled against NumPy 1.8.1)
  • 0.15.1 (compiled against NumPy 1.9.2)

Note: SciPy should be compiled against the right minor version of NumPy, but the patch version doesn't matter, e.g., SciPy 0.15.1 can be compiled against 1.9.0 or 1.9.1, but probably not 1.8. I checked every single case though -- you should run tests (numpy.test() or scipy.test()) if you aren't sure that things will work.

This package will also install compiled runtime libraries for BLAS, LAPACK, ATLAS, and Fortran, which are needed by NumPy and SciPy at runtime.

Known Issues and Todos

  1. Scikit-learn can be installed, but may not pass all tests. For example, scikit-learn 0.14.1 installed with NumPy 1.9.0 and SciPy 0.13.3 did not pass all tests. You can see the failed tests in this issue. Another user reported that scikit-learn 0.15.2 installed fine, although he did not post any test results.
  2. This buildpack may not work well with Multipack apps (e.g., see this issue).
  3. I was getting some minor test failures for NumPy 1.9.2 that I wasn't able to resolve. See more information here. Please contact me if you have a problem related to this.

If any of these issues are immediately impacting you, please open a Github issue so that I know that they are higher priority items.

Usage

For a new app:

heroku create --buildpack https://github.com/thenovices/heroku-buildpack-scipy

For an existing app:

heroku config:set BUILDPACK_URL=https://github.com/thenovices/heroku-buildpack-scipy

You must specify your exact desired version in requirements.txt (e.g., numpy==1.9.0). If no version is specified, the latest version available will be used. At this time, this buildpack does not support requirements of the form numpy>=1.8.

Demo

$ mkdir testheroku
$ cd testheroku
$ git init
$ heroku create --buildpack https://github.com/thenovices/heroku-buildpack-scipy
$ echo -e "numpy==1.9.2\nscipy==0.15.1" > requirements.txt
$ git add requirements.txt
$ git commit -m 'Added requirements'
$ git push heroku master

Acknowledgments

This fork is taken from @dbrgn -- I owe thanks to him, @wyn, and others for setting up a lot of the code here.

heroku-buildpack-scipy's People

Contributors

agriffis avatar aljosa avatar andres-torres-marroquin avatar bacongobbler avatar branliu0 avatar catsby avatar craigkerstiens avatar dangra avatar dbrgn avatar dcrosta avatar dpaola2 avatar dulacp avatar grosskur avatar gulopine avatar gusy avatar hugorodgerbrown avatar jalavik avatar kencochrane avatar kennethreitz avatar lstoll avatar mansam avatar mjtamlyn avatar ogrisel avatar ojno avatar saulshanabrook avatar skoczen avatar streeter avatar t-io avatar thruflo avatar uniphil avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.