Skip to content

This is a step in allowing natural use of Streams for a Python developer. A project that will be registered with PyPi to allow 'pip install' of Python packages that support Python developers interacting with IBM Streams.

License

Notifications You must be signed in to change notification settings

IBMStreams/pypi.streamsx.eventstreams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python streamsx.eventstreams package.

This exposes SPL operators in the com.ibm.streamsx.messagehub toolkit as Python methods.

Package is organized using standard packaging to upload to PyPi.

The package is uploaded to PyPi in the standard way:

cd package
rm -rf streamsx.eventstreams.egg-info/ build/ dist/
python setup.py sdist bdist_wheel upload -r pypi

Note: This is done using the ibmstreams account at pypi.org

Package details: https://pypi.python.org/pypi/streamsx.eventstreams

Documentation is using Sphinx and can be built locally using:

cd package/docs
make html

and viewed using

firefox build/html/index.html

The documentation is also setup at readthedocs.io under the account: IBMStreams

Documentation links:

Version update

To change the version information of the Python package, edit following files:

  • ./package/docs/source/conf.py
  • ./package/streamsx/eventstreams/__init__.py

When the development status changes, edit the classifiers in

  • ./package/setup.py

When the documented sample must be changed, change it here:

  • ./package/streamsx/eventstreams/__init__.py
  • ./package/DESC.txt

Test

Package can be tested with TopologyTester using the Streaming Analytics service and Event Streams service on IBM Cloud. Use Python 3.6 for tests with Streaming Analytics!

Environment variable content
VCAP_SERVICES must point to a file containing VCAP information
STREAMING_ANALYTICS_SERVICE_NAME the name of your Streaming Analytics Service
STREAMS_INSTALL must point to your Streams installation, only required for local build
EVENTSTREAMS_TOOLKIT_HOME The directory where the MessageHub toolkit is located
EVENTSTREAMS_CREDENTIALS The name of a JSON file with Event Streams service credentials
JAVA_HOME Java Home, at least Java 1.8, required for remote build

Uninstall the streamsx.eventstreams package from your Python environment before test:

pip uninstall streamsx.eventstreams --yes

For the tests, an application configuration with name messagehub is required. It must contain the Event Streams service credentials as messagehub.creds property.

For tests with credentials as dictionary, the environment variable EVENTSTREAMS_CREDENTIALS must exist. In the Event Streams service, the topic MH_TEST with a single partition must be created.

Run the tests with

cd package
python3 -u -m unittest streamsx.eventstreams.tests.test_eventstreams.TestMH.test_json   # only test_json
python3 -u -m unittest streamsx.eventstreams.tests.test_eventstreams                    # all tests

About

This is a step in allowing natural use of Streams for a Python developer. A project that will be registered with PyPi to allow 'pip install' of Python packages that support Python developers interacting with IBM Streams.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published