Skip to content

Commit

Permalink
Merge pull request #1379 from kwmsmith/remove-outdated-dynd
Browse files Browse the repository at this point in the history
Remove DyND for now.
  • Loading branch information
kwmsmith committed Feb 10, 2016
2 parents 1403527 + c60dc49 commit 1d191d6
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 118 deletions.
3 changes: 0 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,6 @@ install:
# Install PyMongo
- pip install pymongo

# Install dynd
- conda install -c mwiebe dynd-python

# Install coveralls
- pip install coveralls

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ follows

::

conda install blaze spark dynd-python -c libdynd -c blaze -c anaconda-cluster -y
conda install blaze spark -c blaze -c anaconda-cluster -y
conda remove odo blaze blaze-core datashape -y

After running these commands, clone ``odo``, ``blaze``, and ``datashape`` from
Expand Down
1 change: 0 additions & 1 deletion all.recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ requirements:
test:
requires:
- pytest >=2.7.0
- dynd-python

commands:
- py.test -vx --doctest-modules --doctest-ignore-import-errors --pyargs blaze -rsxX
Expand Down
53 changes: 53 additions & 0 deletions blaze-expr-function-correspondence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Our overall goal is to focus on Blaze from an end user's (and new user's)
perspective. We want to identify common usability issues, address them, and
help make blaze a more useful technology.

One way we want to improve Blaze is by opening it up and allowing it to work
better with Python as a whole.

To this end, we want to build a bridge between users' existing Python
knowledge and Blaze. We can use this bridge to help new users better
understand Blaze expressions, and we can highlight the correspondences.

There is an interesting correspondence between Blaze expressions and Python
functions:

Blaze | Python
------|-------
expression | (pure) Python function
symbol | unbound function arguments
bound symbol | function closure
`compute(expr, data)` | `func(**data)`

We can take this correspondence further, and we think that would be a good thing to do:

Python | Blaze
------|-------
function docstring | automatic blaze expression docstring, with ability for end users to



Improve Blaze design to play nicely with rest of Python, highlight correspondences:
Blaze expressions ⇔ Python functions
Blaze symbols ⇔ unbound function arguments
Blaze bound symbols ⇔ closure / default argument values
(new) automatic blaze expr docstrings ⇔ function docstrings
(new) callable expressions ⇔ calling Python function
(new) composing blaze expressions ⇔ composing Python functions
(new) computational pipelines in Blaze:
pipeline = comp(filter, grouper, selector, summarizer)
pipeline(data) => summarize(select(group(filter(data))))
Blaze free to compose and optimize expressions in pipeline.
Remove distinction between “interactive” and “non-interactive” interaction with Blaze.
Extremely confusing to new users. Change terminology, documentation, API naming, etc.
Still keep bound and unbound symbols.
Expressions can be fully unbound, partially bound, or fully bound. Have to have a fully bound expression to actually compute a result.
compute(expr, {mapping for remaining unbound symbols})
make all computation explicit, but still easily accessible.
No more implicit computation in `__repr__`.
`compute()` changed so that it actually computes, every time.
if we want compilation of blaze expression to SQLA query, call that something else (`compile()` maybe?). Can be used as part of compute’s operation.
By default, compute returns results in default backend, odos to default backend if necessary.
all table-like things: default is Pandas; dask.dataframe if ooc.
all array-like things: default is NumPy; dask.array if ooc.
Overrideable behavior with kwarg
3 changes: 0 additions & 3 deletions blaze/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@
from .compute.spark import *
with ignoring(ImportError, TypeError):
from .compute.sparksql import *
with ignoring(ImportError):
from dynd import nd
from .compute.dynd import *
with ignoring(ImportError):
from .compute.h5py import *
with ignoring(ImportError):
Expand Down
48 changes: 0 additions & 48 deletions blaze/compute/dynd.py

This file was deleted.

50 changes: 0 additions & 50 deletions blaze/compute/tests/test_dynd_compute.py

This file was deleted.

2 changes: 0 additions & 2 deletions docs/source/dev_workflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ on github.com/blaze/project-name
* DataShape_
* Odo_
* Dask_
* DyND_

Bleeding edge binaries are kept up-to-date on the ``blaze`` conda channel.
New developers likely only need to interact with one or two of these libraries so we recommend downloading everything by the conda channel and then only cloning those git repositories that you actively need::
Expand All @@ -29,7 +28,6 @@ New developers likely only need to interact with one or two of these libraries s
git clone git://github.com/blaze/blaze.git # only clone blaze and odo
git clone git://github.com/blaze/odo.git # only clone blaze and odo

.. _DyND: https://github.com/blaze/dynd-python
.. _Odo: https://github.com/blaze/odo
.. _Dask: https://github.com/blaze/dask
.. _Blaze: https://github.com/blaze/blaze
Expand Down
18 changes: 10 additions & 8 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,16 @@ project itself.
other data storage systems. One Blaze query can work across data ranging
from a CSV file to a distributed database.

Blaze presents a pleasant and familiar interface to us regardless of
what computational solution or database we use (e.g. Spark, Impala, SQL databases,
No-SQL data-stores, raw-files). It mediates our interaction with files, data structures,
and databases, optimizing and translating our query as appropriate to provide a smooth and interactive
session. It allows the data scientists and analyst to write their queries in a unified way that does
not have to change because the data is stored in another format or a different data-store.
It also provides a server-component that allows URIs to be used to easily serve views on data and refer to Data
remotely in local scripts, queries, and programs.
Blaze presents a pleasant and familiar interface to us regardless of what
computational solution or database we use (e.g. Spark, Impala, SQL databases,
No-SQL data-stores, raw-files). It mediates our interaction with files, data
structures, and databases, optimizing and translating our query as
appropriate to provide a smooth and interactive session. It allows the data
scientists and analyst to write their queries in a unified way that does not
have to change because the data is stored in another format or a different
data-store. It also provides a server-component that allows URIs to be used
to easily serve views on data and refer to Data remotely in local scripts,
queries, and programs.

* DataShape_: A data type system

Expand Down
2 changes: 0 additions & 2 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ Blaze can help you use a variety of other libraries like ``sqlalchemy`` or
``h5py``. If these are installed then Blaze will use them. Some of these are
non-trivial to install. We recommend installation throgh ``conda``.

* dynd-python_ >= 0.6.5
* sqlalchemy_
* h5py_
* spark_ >= 1.1.0
Expand All @@ -94,7 +93,6 @@ non-trivial to install. We recommend installation throgh ``conda``.
.. _odo: https://github.com/blaze/odo
.. _h5py: http://docs.h5py.org/en/latest/
.. _pytest: http://pytest.org/latest/
.. _dynd-python: https://github.com/blaze/dynd-python
.. _datashape: https://github.com/blaze/datashape
.. _pandas: http://pandas.pydata.org/
.. _cytoolz: https://github.com/pytoolz/cytoolz/
Expand Down
38 changes: 38 additions & 0 deletions docs/source/whatsnew/0.10.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Release |version|
-----------------

:Release: |version|
:Date: December 17th, 2015

New Expressions
~~~~~~~~~~~~~~~

Improved Expressions
~~~~~~~~~~~~~~~~~~~~

New Backends
~~~~~~~~~~~~

Improved Backends
~~~~~~~~~~~~~~~~~

Experimental Features
~~~~~~~~~~~~~~~~~~~~~

API Changes
~~~~~~~~~~~

* Due to API instability and on the recommendation of DyND developers, we
removed the DyND dependency temporarily (:issue:`1379`). When DyND achieves
its 1.0 release, DyND will be re-incorporated into Blaze. The existing DyND
support in Blaze was rudimentary and based on an egregiously outdated and
buggy version of DyND. We are aware of no actual use of DyND via Blaze in
practice.

Bug Fixes
~~~~~~~~~


Miscellaneous
~~~~~~~~~~~~~

0 comments on commit 1d191d6

Please sign in to comment.