Git Product home page Git Product logo

blaze's Introduction

Blaze is the next-generation of NumPy. It is designed as a foundational set of abstractions on which to build out-of-core and distributed algorithms over a wide variety of data sources and to extend the structure of NumPy itself.

Blaze allows easy composition of low level computation kernels ( C, Fortran, Numba ) to form complex data transformations on large datasets.

In Blaze, computations are described in a high-level language (Python) but executed on a low-level runtime (outside of Python), enabling the easy mapping of high-level expertise to data without sacrificing low-level performance. Blaze aims to bring Python and NumPy into the massively-multicore arena, allowing it to able to leverage many CPU and GPU cores across computers, virtual machines and cloud services.

Continuum Analytics' vision is to provide open technologies for data integration on a massive scale based on a vision of a structured, universal "data web". In the same way that URL, HTML, and HTTP form the basis of the World Wide Web for documents, Blaze could be a fabric for structured and numerical data spearheading innovations in data management, analytics, and distributed computation.

Blaze aims to be a foundational project allowing many different users of other PyData projects ( Pandas, Theano, Numba, SciPy, Scikit-Learn) to interoperate at the application level and at the library level with the goal of being able to to lift their existing functionality into a distributed context.

Status

Blaze is a work in progress at the moment. The 0.1 release is imminent with a first-usable release due at the end of August 2013.

Documentation

Installing

If you are interested in the development version of Blaze you can obtain the source from Github.

$ git clone [email protected]:ContinuumIO/blaze.git

Many of the dependencies ( i.e. llvmpy ) are non-trivial to install. It is highly recommend that you build Blaze using the Anaconda distribution, a free Python distribution that comes with a host of scientific and numeric packages bundled and precompiled into a userspace Python environment.

Anaconda can be downloaded for all platforms here: http://continuum.io/downloads.html.

Introduction

Pre-requisites:

  • llvmpy >= 0.11.1
  • cython >= 0.16
  • numpy >= 1.5

Install all pre-requisites and then run:

python setup.py install

Docs are generated using sphinx in the docs directory.

Alternative Installation

If for some reason you wish to avoid using Anaconda it is possible to build Blaze using standard Python tools. This method is not recommended.

  1. After you have checked out the Blaze source, create a virtualenv under the root of the Blaze repo.
$ virtualenv venv --distribute --no-site-packages 
$ . venv/bin/activate
  1. Pull the Conda package manager for use inside of your virtualenv.
$ git clone [email protected]:ContinuumIO/conda.git
  1. Build and install conda.
$ cd conda
$ python setup.py install
$ cd ..
  1. Create a directory in your virtualenv to mimic the behavior of Anaconda and allow Continuum signed packages to be installed.
$ mkdir venv/pkgs
  1. Add conda to your path.
$ PATH=venv/bin:$PATH
  1. Use Anaconda to resolve Blaze dependencies. This method is experimental and not officially supported.
$ conda install ply
$ conda install numpy
$ conda install llvmpy
$ conda install cython
$ conda install pycparser
  1. From inside the Blaze directory run the Makefile.
$ make build

Contributing

Anyone wishing to discuss on Blaze should join the blaze-dev mailing list at: [email protected]

License

Blaze development is sponsored by Continuum Analytics.

Released under BSD license. See LICENSE for details.

blaze's People

Contributors

esc avatar maggie-m avatar majidaldo avatar mwiebe avatar quasiben avatar rgieseke avatar sdiehl avatar seibert avatar teoliphant avatar

Watchers

 avatar  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.