- What problem are we trying to solve?

Currently, the python bindings group protobufs, stub implementations
and compiled code into a single python package that cannot be
distributed easily. This forces python projects using mesos to copy
protobufs around and forces a onerous dependency on anyone who would
like to do a pure python binding.

- How was this problem solved?

The current python package has been split into two separate packages:

- mesos.interface (stub implementations and protobufs)
- mesos.native (old _mesos module)

These are python meta-packages and can be installed as separate
pieces. The `mesos.interface` package will be hosted on pypi and can
be installed via. easy_install and pip.

See https://issues.apache.org/jira/browse/MESOS-857 and
https://reviews.apache.org/r/23224/.

- Why should I care?

These changes are not backwards compatible. With 0.20.0 you will need
to change how you use the python bindings. Here's a quick overview:

    mesos.Scheduler -> mesos.interface.Scheduler
    mesos.mesos_pb2 -> mesos.interface.mesos_pb2
    mesos.MesosSchedulerDriver -> mesos.native.MesosSchedulerDriver

For more details, you can take a look at the examples in `src/examples/python".

Reply via email to