summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTushar Gohad <tusharsg@gmail.com>2015-08-03 01:09:45 +0000
committerTushar Gohad <tusharsg@gmail.com>2015-08-03 01:30:42 +0000
commit9bb3c040e4db1eb9848d307249ec0a30398c25ad (patch)
tree47dda6890ddc20843379f417ad6436354ea0da54
parent6647ecdad15f8f401d89287c80195e4d55c3d49b (diff)
downloadpyeclib-proposed-1.0.8.tar.gz
Add ChangLog. README updates for 1.0.8.v1.0.8proposed-1.0.8
-rw-r--r--ChangeLog23
-rw-r--r--README23
-rw-r--r--setup.py6
-rw-r--r--tox.ini8
4 files changed, 45 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..48fe332
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,23 @@
+New in 1.0.8
+------------
+
+ * Support for a new Reed-Soloman backend (liberasurecode_rs_vand)
+ - naive, non-accelerated version, native to liberasurecode
+
+ * Single version, with liberasurecode distributed in the package,
+ installed if necessary. No versions going forward with Jerasure
+ included. Use 'liberasurecode_rs_vand' for default test backend.
+
+ * Test code refactor for eliminating duplicated code, add cases
+ for liberasurecode_rs_vand and making jerasure/isa_l test cases
+ conditional.
+
+ * Better Python3 support
+
+ * setup.py enhancements
+ - improved library path detection on Mac OS X (and Linux) including
+ workarounds for Mac OS X dyld bugs for library search paths
+ - handling installroot better for optional liberasurecode installs
+
+ * tox support for automated py27 and py34 testing
+
diff --git a/README b/README
index 98711b6..36dfdd4 100644
--- a/README
+++ b/README
@@ -3,19 +3,18 @@ implementing erasure codes and is known to work with Python v2.6, 2.7 and 3.x.
To obtain the best possible performance, the library utilizes liberasurecode,
which is a C based erasure code library. Please let us know if you have any
-other issues building or installing (email: kmgreen2@gmail.com or
-tusharsg@gmail.com).
+issues building or installing (email: kmgreen2@gmail.com or tusharsg@gmail.com).
-This library makes use of Jerasure for Reed-Solomon as implemented by the
-liberasurecode library and provides its' own flat XOR-based erasure code
-encoder and decoder. Currently, it implements a specific class of HD
-Combination Codes (see "Flat XOR-based erasure codes in storage systems:
-Constructions, efficient recovery, and tradeoffs" in IEEE MSST 2010). These
-codes are well-suited to archival use-cases, have a simple construction and
-require a minimum number of participating disks during single-disk
-reconstruction (think XOR-based LRC code).
+PyECLib supports a variety of Erasure Coding backends including the standard Reed
+Soloman implementations provided by Jerasure [2], liberasurecode [3] and Intel
+ISA-L [4]. It also provides support for a flat XOR-based encoder and decoder
+(part of liberasurecode) - a class of HD Combination Codes based on "Flat
+XOR-based erasure codes in storage systems: Constructions, efficient recovery,
+and tradeoffs" in IEEE MSST 2010). These codes are well-suited to archival
+use-cases, have a simple construction and require a minimum number of
+participating disks during single-disk reconstruction (think XOR-based LRC code).
-Examples of using this library are provided in "tools" directory:
+Examples of using PyECLib are provided in the "tools" directory:
Command-line encoder::
@@ -38,7 +37,7 @@ PyEClib initialization::
Supported ``ec_type`` values:
- * ``liberasurecode_rs_vand`` => Vandermonde Reed-Solomon encoding, native software-only backend
+ * ``liberasurecode_rs_vand`` => Vandermonde Reed-Solomon encoding, software-only backend implemented by liberasurecode [3]
* ``jerasure_rs_vand`` => Vandermonde Reed-Solomon encoding, based on Jerasure [1]
* ``jerasure_rs_cauchy`` => Cauchy Reed-Solomon encoding (Jerasure variant), based on Jerasure [2]
* ``flat_xor_hd_3``, ``flat_xor_hd_4`` => Flat-XOR based HD combination codes, liberasurecode [3]
diff --git a/setup.py b/setup.py
index 5386d5d..2cca8f0 100644
--- a/setup.py
+++ b/setup.py
@@ -52,10 +52,11 @@ default_python_incdir = get_python_inc()
default_python_libdir = get_python_lib()
default_library_paths = [default_python_libdir]
+
#
# Prefix directory for ./configure
#
-configure_prefix="/usr"
+configure_prefix = "/usr"
if platform_str.find("Darwin") > -1:
#
# There appears to be a bug with OS 10.9 and later where
@@ -66,7 +67,8 @@ if platform_str.find("Darwin") > -1:
mac_major = int(platform.mac_ver()[0].split(".")[0])
mac_minor = int(platform.mac_ver()[0].split(".")[1])
if mac_major == 10 and mac_minor > 9:
- configure_prefix="/usr/local"
+ configure_prefix = "/usr/local"
+
# utility routines
def _find_library(name):
diff --git a/tox.ini b/tox.ini
index 5cee385..27a8e85 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,8 +1,14 @@
[tox]
-envlist = py27,py34
+envlist = py27,py34,pep8
[testenv]
deps=
nose
commands=
nosetests test/
+
+[testenv:pep8]
+deps=
+ pep8
+commands=
+ pep8 pyeclib/ setup.py