Make BaseContext into an Abstract Base Class

It's not meant to be instantiated on its own, and making it an ABC (with `abstractmethod`s) highlights what the subclasses implement.

If we wanted to make `BaseContext` more purely an interface, we could pull out an `ArrayCreationMixin` and an `IOMixin`.  Just an idea :)
On Mon, Jul 21, 2014 at 12:10 PM, Robert David Grant <
notifications@github.com> wrote:

> In distarray/dist/context.py:
>
> >      def __init__(self):
> >          raise TypeError("The base context class is not meant to be "
> >                          "instantiated on its own.")
> >
> > +    @abstractmethod
> > +    def cleanup(self):
> > +        pass
> > +
> > +    @abstractmethod
> > +    def close(self):
> > +        pass
> > +
> > +    @abstractmethod
>
> I think that what we list here are the methods that are required in order
> to be a Context. Are we planning on removing all external uses of _push,
> _pull, and _execute?
>
Yes, they have a leading underscore to mark them as internal-only.


> —
> Reply to this email directly or view it on GitHub
> <https://github.com/enthought/distarray/pull/529/files#r15181411>.
>



-- 
Kurt W. Smith, Ph.D. <ksmith@enthought.com>
Enthought, Inc. <http://www.enthought.com>  | 512.536.1057