forked from exxeleron/qPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c3d4c35
commit 8b5fb23
Showing
4 changed files
with
94 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
qPython 1.0 Beta | ||
================ | ||
|
||
qPython is a Python library providing support for interprocess communication between Python and kdb+ processes, it offers: | ||
- Synchronous and asynchronous queries | ||
- Convenient asynchronous callbacks mechanism | ||
- Support for kdb+ protocol and types: v3.0, v2.6, v<=2.5 | ||
- Uncompression of the IPC data stream | ||
- Internal representation of data via numpy arrays (lists, complex types) and numpy data types (atoms) | ||
- Supported on Python 2.7 and numpy 1.8 | ||
|
||
|
||
Building package | ||
---------------- | ||
|
||
Compile Cython extensions | ||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
qPython utilizes `Cython`_ to tune performance critical parts of the code. | ||
|
||
Instructions: | ||
- Execute: ``python setup.py build_ext --inplace`` | ||
|
||
|
||
Build binary distribution | ||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
Instructions: | ||
- Execute: ``python setup.py bdist`` | ||
|
||
|
||
Testing | ||
~~~~~~~ | ||
|
||
qPython uses py.test as a test runner for unit tests. | ||
|
||
Instructions: | ||
- Make sure that top directory is included in the ``PYTHONPATH`` | ||
- Execute: ``py.test`` | ||
|
||
|
||
Requirements | ||
~~~~~~~~~~~~ | ||
|
||
To run, qPython requires: | ||
- numpy 1.8 | ||
|
||
To tune performance critical parts of the code, additional requirements have to be met: | ||
- Cython 0.20.1 | ||
|
||
To run Twisted sample, qPython requires: | ||
- Twisted 13.2.0 | ||
|
||
Required libraries can be installed using `pip`_. | ||
|
||
To install all the required dependencies, execute: | ||
``pip install -r requirements.txt`` | ||
|
||
To install minimal set of required dependencies, execute: | ||
``pip install -r requirements-minimal.txt`` | ||
|
||
.. _Cython: http://cython.org/ | ||
.. _pip: https://pypi.python.org/pypi/pip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[metadata] | ||
description-file = README.rst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,7 @@ | |
from distutils.core import setup | ||
|
||
import numpy | ||
import os | ||
|
||
try: | ||
from Cython.Build import cythonize | ||
|
@@ -25,26 +26,50 @@ | |
else: | ||
use_cython = True | ||
|
||
|
||
if use_cython: | ||
ext_modules = cythonize('qpython/fastutils.pyx') | ||
else: | ||
ext_modules = [] | ||
|
||
|
||
# Utility function to read the README file. | ||
def read(fname): | ||
return open(os.path.join(os.path.dirname(__file__), fname)).read() | ||
|
||
|
||
setup(name = 'qPython', | ||
version = '1.0 Beta 3', | ||
version = '1.0 Beta 4', | ||
description = 'kdb+ interfacing library for Python', | ||
long_description=read('README.rst'), | ||
|
||
author = 'exxeleron', | ||
author_email = '[email protected]', | ||
author_email = '[email protected]', | ||
url = 'https://github.com/exxeleron/qPython', | ||
license = 'Apache License Version 2.0', | ||
|
||
ext_modules = ext_modules, | ||
include_dirs = [numpy.get_include()], | ||
|
||
keywords = ['kdb+'], | ||
classifiers=[ | ||
'Development Status :: 4 - Beta', | ||
'Environment :: Console', | ||
'Intended Audience :: Developers', | ||
'Intended Audience :: Education', | ||
'Intended Audience :: End Users/Desktop', | ||
'Intended Audience :: Financial and Insurance Industry', | ||
'Intended Audience :: Science/Research', | ||
'License :: OSI Approved :: Apache Software License', | ||
'Operating System :: MacOS', | ||
'Operating System :: Microsoft :: Windows', | ||
'Operating System :: POSIX', | ||
'Operating System :: Unix', | ||
'Programming Language :: Python', | ||
'Topic :: Database :: Front-Ends', | ||
'Topic :: Scientific/Engineering', | ||
'Topic :: Software Development', | ||
], | ||
packages = ['qpython', 'samples', ''], | ||
package_data = {'': ['LICENSE', 'CHANGELOG.txt', 'README.md', 'requirements.txt']}, | ||
package_data = {'': ['LICENSE', 'CHANGELOG.txt', 'README.rst', 'requirements.txt']}, | ||
) | ||
|