diff --git a/README.md b/README.md deleted file mode 100644 index 4b38c0c..0000000 --- a/README.md +++ /dev/null @@ -1,27 +0,0 @@ -PyPICT -====== - -Python binding library for [Microsoft PICT](https://github.com/Microsoft/pict) (Pairwise Independent Combinatorial Tool). - -Installation ------------- - -```sh -$ git clone https://github.com/kmaehashi/pypict.git -$ cd pypict -$ git submodule init -$ git submodule update -$ python setup.py build_pict -$ pip install -U . -``` - -APIs ----- - -There are four different APIs provided in this library. - -* Low-level API (``pypict.capi``) provides Python functions that map to each [PICT C API function](https://github.com/Microsoft/pict/blob/master/api/pictapi.h). -* High-level API (``pypict.api``) wraps the low-level API to provide automatic memory management. -* Tools API (``pypict.tools``) wraps the high-level API to provide convenient features. -* Command API (``pypict.cmd``) is a thin wrapper for ``pict`` command. - Note that this API does not use features from PICT C API shared library. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..01c0812 --- /dev/null +++ b/README.rst @@ -0,0 +1,78 @@ +|Travis|_ |PyPi|_ + +.. |Travis| image:: https://api.travis-ci.com/kmaehashi/pypict.svg?branch=master +.. _Travis: https://travis-ci.org/kmaehashi/pypict + +.. |PyPi| image:: https://badge.fury.io/py/pypict.svg +.. _PyPi: https://badge.fury.io/py/pypict + + +PyPICT +====== + +Python binding library for `Microsoft PICT `__ (Pairwise Independent Combinatorial Tool). + +Requirements +------------ + +* Microsoft PICT +* Python 2.7, 3.4, 3.5 or 3.6 + +Installation +------------ + +Wheels (binary distribution) are available for Linux. +PICT shared library and command are included in wheels. + +:: + + $ pip install pypict + +On other platforms, you need to build from source. +PICT source tree is registered as a submodule of this repository. +``python setup.py build_pict`` will run ``make`` command to build PICT shared library inside the tree. +You need to manually install the shared library and command, or set path of the tree to the appropriate environment variables (``PATH``, ``LD_LIBRARY_PATH``, etc.) + +:: + + $ git clone https://github.com/kmaehashi/pypict.git + $ cd pypict + $ git submodule init + $ git submodule update + $ python setup.py build_pict + $ pip install -U . + $ export PATH=${PWD}/pict:${PATH} + $ export LD_LIBRARY_PATH=${PWD}/pict:${LD_LIBRARY_PATH} + +APIs +---- + +There are four different APIs provided in this library. +Generally, you only need to use Tools API (``pypict.tools``). + +* Low-level API (``pypict.capi``) provides Python functions that map to each `PICT C API function `__. +* High-level API (``pypict.api``) wraps the low-level API to provide automatic memory management. +* Tools API (``pypict.tools``) wraps the high-level API to provide convenient features. +* Command API (``pypict.cmd``) is a thin wrapper for ``pict`` command. + This API uses PICT command directly instead of PICT shared library. + +Example +------- + +Here is an example usage of Tools API to generate pair-wise patterns from parameter set. + +.. code-block:: python + + import pypict.tools + + params = { + "Type": ["Single", "Span", "Stripe", "Mirror", "RAID-5"], + "Size": ["10", "100", "500", "1000", "5000", "10000", "40000"], + "Format method": ["Quick", "Slow"], + "File system": ["FAT", "FAT32", "NTFS"], + "Cluster size": ["512", "1024", "2048", "4096", "8192", "16384", "32768", "65536"], + "Compression": ["On", "Off"], + } + + for case in pypict.tools.from_dict(params): + print(case) diff --git a/setup.py b/setup.py index 7b94660..dd92bd6 100644 --- a/setup.py +++ b/setup.py @@ -45,6 +45,7 @@ def run(self): name='pypict', version=__version__, description='pypict: Python binding for Microsoft PICT', + long_description=open('README.rst').read(), author='Kenichi Maehashi', author_email='webmaster@kenichimaehashi.com', url='https://github.com/kmaehashi/pypict',