summaryrefslogtreecommitdiff
path: root/contrib/pyzfs/README
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pyzfs/README')
-rw-r--r--contrib/pyzfs/README28
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/pyzfs/README b/contrib/pyzfs/README
new file mode 100644
index 0000000000000..52983e5a90e05
--- /dev/null
+++ b/contrib/pyzfs/README
@@ -0,0 +1,28 @@
+This package provides a wrapper for libzfs_core C library.
+
+libzfs_core is intended to be a stable interface for programmatic
+administration of ZFS.
+This wrapper provides one-to-one wrappers for libzfs_core API functions,
+but the signatures and types are more natural to Python.
+nvlists are wrapped as dictionaries or lists depending on their usage.
+Some parameters have default values depending on typical use for
+increased convenience.
+Enumerations and bit flags become strings and lists of strings in Python.
+Errors are reported as exceptions rather than integer errno-style
+error codes. The wrapper takes care to provide one-to-many mapping
+of the error codes to the exceptions by interpreting a context
+in which the error code is produced.
+
+Unit tests and automated test for the libzfs_core API are provided
+with this package.
+Please note that the API tests perform lots of ZFS dataset level
+operations and ZFS tries hard to ensure that any modifications
+do reach stable storage. That means that the operations are done
+synchronously and that, for example, disk caches are flushed.
+Thus, the tests can be very slow on real hardware.
+It is recommended to place the default temporary directory or
+a temporary directory specified by, for instance, TMP environment
+variable on a memory backed filesystem.
+
+Package documentation: http://pyzfs.readthedocs.org
+Package development: https://github.com/zfsonlinux/zfs