summaryrefslogtreecommitdiff
path: root/contrib/libpodpy
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libpodpy')
-rw-r--r--contrib/libpodpy/__init__.py4
-rw-r--r--contrib/libpodpy/client.py45
-rw-r--r--contrib/libpodpy/containers.py8
-rw-r--r--contrib/libpodpy/images.py15
-rw-r--r--contrib/libpodpy/system.py10
5 files changed, 82 insertions, 0 deletions
diff --git a/contrib/libpodpy/__init__.py b/contrib/libpodpy/__init__.py
new file mode 100644
index 000000000..8c2caf670
--- /dev/null
+++ b/contrib/libpodpy/__init__.py
@@ -0,0 +1,4 @@
+
+
+#__version__ = version
+__title__ = 'libpod' \ No newline at end of file
diff --git a/contrib/libpodpy/client.py b/contrib/libpodpy/client.py
new file mode 100644
index 000000000..d9bac6dbb
--- /dev/null
+++ b/contrib/libpodpy/client.py
@@ -0,0 +1,45 @@
+
+from varlink import Client
+from libpodpy.images import Images
+from libpodpy.system import System
+from libpodpy.containers import Containers
+
+class LibpodClient(object):
+
+
+ """
+ A client for communicating with a Docker server.
+
+ Example:
+
+ >>> from libpodpy import client
+ >>> c = client.LibpodClient("unix:/run/podman/io.projectatomic.podman")
+
+ Args:
+ Requires the varlink URI for libpod
+ """
+
+ def __init__(self, varlink_uri):
+ c = Client(address=varlink_uri)
+ self.conn = c.open("io.projectatomic.podman")
+
+ @property
+ def images(self):
+ """
+ An object for managing images through libpod
+ """
+ return Images(self.conn)
+
+ @property
+ def system(self):
+ """
+ An object for system related calls through libpod
+ """
+ return System(self.conn)
+
+ @property
+ def containers(self):
+ """
+ An object for managing containers through libpod
+ """
+ return Containers(self.conn)
diff --git a/contrib/libpodpy/containers.py b/contrib/libpodpy/containers.py
new file mode 100644
index 000000000..921bf0491
--- /dev/null
+++ b/contrib/libpodpy/containers.py
@@ -0,0 +1,8 @@
+
+class Containers(object):
+
+ def __init__(self, client):
+ self.client = client
+
+ def List(self):
+ pass \ No newline at end of file
diff --git a/contrib/libpodpy/images.py b/contrib/libpodpy/images.py
new file mode 100644
index 000000000..f54736a21
--- /dev/null
+++ b/contrib/libpodpy/images.py
@@ -0,0 +1,15 @@
+
+class Images(object):
+ """
+ The Images class deals with image related functions for libpod.
+ """
+
+ def __init__(self, client):
+ self.client = client
+
+ def List(self):
+ """
+ Lists all images in the libpod image store
+ return: a list of ImageList objects
+ """
+ return self.client.ListImages()
diff --git a/contrib/libpodpy/system.py b/contrib/libpodpy/system.py
new file mode 100644
index 000000000..563cc6566
--- /dev/null
+++ b/contrib/libpodpy/system.py
@@ -0,0 +1,10 @@
+
+class System(object):
+ def __init__(self, client):
+ self.client = client
+
+ def Ping(self):
+ return self.client.Ping()
+
+ def Version(self):
+ return self.client.GetVersion()