From b23a4f40f85dc3759cbf4f74f3dcfb4071d98939 Mon Sep 17 00:00:00 2001 From: Ian Adam Naval Date: Wed, 29 Apr 2015 17:24:11 -0400 Subject: [PATCH] Change Python API to be a real pip package. --- python/.gitignore | 4 ++++ python/example.py | 26 ++++++++++++++++++++++++++ python/jsh/__init__.py | 2 ++ python/{jsh.py => jsh/streams.py} | 23 ----------------------- python/setup.py | 11 +++++++++++ 5 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 python/.gitignore create mode 100644 python/example.py create mode 100644 python/jsh/__init__.py rename python/{jsh.py => jsh/streams.py} (92%) create mode 100644 python/setup.py diff --git a/python/.gitignore b/python/.gitignore new file mode 100644 index 0000000..78db36b --- /dev/null +++ b/python/.gitignore @@ -0,0 +1,4 @@ +__pycache__ +*.egg-info +*.pyc + diff --git a/python/example.py b/python/example.py new file mode 100644 index 0000000..2a0d03b --- /dev/null +++ b/python/example.py @@ -0,0 +1,26 @@ +from jsh import Stream +import sys + + +def main(): + s = Stream(sys.stdout, 4) + s.start() + + for i in range(7): + proc = {"pid": i + 1, "name": "init"} + s.output("things", proc) + q = s.new_stream('q') + q.output("test", 'potato') + + for i in range(10): + proc = {"pid": i + 1, "name": "init"} + s.output("processes", proc) + + q.output("test", 'salad') + q.output("test", 'rocks') + s.flush() + s.stop() + + +if __name__ == '__main__': + main() diff --git a/python/jsh/__init__.py b/python/jsh/__init__.py new file mode 100644 index 0000000..9763f3d --- /dev/null +++ b/python/jsh/__init__.py @@ -0,0 +1,2 @@ +from jsh.streams import * + diff --git a/python/jsh.py b/python/jsh/streams.py similarity index 92% rename from python/jsh.py rename to python/jsh/streams.py index e127c03..9f84a8d 100644 --- a/python/jsh.py +++ b/python/jsh/streams.py @@ -169,26 +169,3 @@ class Stream(JSONSerializable): def __repr__(self): return str(self) - -def main(): - s = Stream(sys.stdout, 4) - s.start() - - for i in range(7): - proc = {"pid": i + 1, "name": "init"} - s.output("things", proc) - q = s.new_stream('q') - q.output("test", 'potato') - - for i in range(10): - proc = {"pid": i + 1, "name": "init"} - s.output("processes", proc) - - q.output("test", 'salad') - q.output("test", 'rocks') - s.flush() - s.stop() - - -if __name__ == '__main__': - main() diff --git a/python/setup.py b/python/setup.py new file mode 100644 index 0000000..2404f10 --- /dev/null +++ b/python/setup.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +from distutils.core import setup + +setup(name='jsh', + version='1.0', + description='API for implementing JSH streams in Python.', + author='Augmented Unix Userland MQP', + author_email='jsh@wpi.edu', + packages=['jsh'], + )