Yelp / pyleus

Pyleus is a Python framework for developing and launching Storm topologies.
Apache License 2.0
403 stars 107 forks source link

Add Python 3.3+ and Windows support #169

Open tcalmant opened 8 years ago

tcalmant commented 8 years ago

Hi,

I've added support for Python 3.3+ for all platforms and support for the Windows platform for Pyleus. It has been tested with the unit tests and the word count example.

This contribution is supported by Tec21 and ERODS team of the Université Grenoble Alpes.

Cheers, Thomas

poros commented 8 years ago

Hi,

Travis is failing. Could you please check the output out and fix whatever is causing the error?

To be honest, I thought we already were Python 3 ready (at least we had some contributions to make this happen) but at the end we blocked on Storm incompatibility with Python 3 (see comments in #50).

tcalmant commented 8 years ago

The error to come from flakes in a test to check if venv is present; I'm working on it.

The "develop" branch had some Python 3-aware code but I didn't manage to make it work as is.

tcalmant commented 8 years ago

Oh, and the "test_read_msg_dict" test error is due to the behaviour of msgpack, forcing it to give back string in all cases to avoid backward incompatibility in the main. The test using explicit "bytes" strings, is this to test the conservation of types or just for the Python 3 compatibility ?

westover commented 8 years ago

Is there anything I can do to help with this endeavor?

tcalmant commented 8 years ago

I just have some commits to cherry-pick from my other branches to support calls to "pip" on Windows while using system-site packages. It would be nice to have some feedback from other Python 3/Windows users to look for bugs in some cases.

The version of Pyleus I use is based on a modified version of MsgPack-Java that uses Latin-1 to transfer binary data instead of UTF-8, due to some issues transferring Numpy arrays.

westover commented 7 years ago

So Travis is dead now how can we revive this?