aboutsummaryrefslogtreecommitdiff
path: root/contrib/python
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2018-07-16 17:29:50 -0700
committerAtomic Bot <atomic-devel@projectatomic.io>2018-07-23 18:53:44 +0000
commit9a18681ba62d1a297809c243607a7b3763131c36 (patch)
tree8333f8727fd7d32f81cb1f54754ccd138a7e1063 /contrib/python
parent8569ed03056ce39e0dc163747089ed4b60b1b9b1 (diff)
downloadpodman-9a18681ba62d1a297809c243607a7b3763131c36.tar.gz
podman-9a18681ba62d1a297809c243607a7b3763131c36.tar.bz2
podman-9a18681ba62d1a297809c243607a7b3763131c36.zip
[WIP] Refactor and simplify python builds
* pypodman namespaced in site-packages * version numbers pulled from requirements.txt * add python-podman spec file to install eggs Signed-off-by: Jhon Honce <jhonce@redhat.com> Closes: #1106 Approved by: rhatdan
Diffstat (limited to 'contrib/python')
-rw-r--r--contrib/python/podman/Makefile16
-rw-r--r--contrib/python/podman/README.md7
-rw-r--r--contrib/python/podman/podman/__init__.py4
-rw-r--r--contrib/python/podman/podman/libs/errors.py4
-rw-r--r--contrib/python/podman/requirements.txt6
-rw-r--r--contrib/python/podman/setup.py14
-rw-r--r--contrib/python/pypodman/MANIFEST.in1
-rw-r--r--contrib/python/pypodman/Makefile15
-rw-r--r--contrib/python/pypodman/README.md12
-rw-r--r--contrib/python/pypodman/docs/man1/pypodman.196
-rw-r--r--contrib/python/pypodman/docs/pypodman.1.md82
-rw-r--r--contrib/python/pypodman/pypodman/__init__.py0
-rw-r--r--contrib/python/pypodman/pypodman/lib/__init__.py (renamed from contrib/python/pypodman/lib/__init__.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/action_base.py (renamed from contrib/python/pypodman/lib/action_base.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/actions/__init__.py (renamed from contrib/python/pypodman/lib/actions/__init__.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/actions/images_action.py (renamed from contrib/python/pypodman/lib/actions/images_action.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/actions/ps_action.py (renamed from contrib/python/pypodman/lib/actions/ps_action.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/actions/rm_action.py (renamed from contrib/python/pypodman/lib/actions/rm_action.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/actions/rmi_action.py (renamed from contrib/python/pypodman/lib/actions/rmi_action.py)0
-rw-r--r--contrib/python/pypodman/pypodman/lib/config.py (renamed from contrib/python/pypodman/lib/config.py)5
-rw-r--r--contrib/python/pypodman/pypodman/lib/future_abstract.py (renamed from contrib/python/pypodman/lib/future_abstract.py)13
-rw-r--r--contrib/python/pypodman/pypodman/lib/report.py (renamed from contrib/python/pypodman/lib/report.py)0
-rwxr-xr-xcontrib/python/pypodman/pypodman/main.py (renamed from contrib/python/pypodman/lib/pypodman.py)7
-rw-r--r--contrib/python/pypodman/pypodman/test/test_report.py (renamed from contrib/python/pypodman/test/test_report.py)0
-rw-r--r--contrib/python/pypodman/requirements.txt2
-rw-r--r--contrib/python/pypodman/setup.py7
26 files changed, 157 insertions, 134 deletions
diff --git a/contrib/python/podman/Makefile b/contrib/python/podman/Makefile
index ea40cccac..0a0804566 100644
--- a/contrib/python/podman/Makefile
+++ b/contrib/python/podman/Makefile
@@ -2,7 +2,11 @@ PYTHON ?= /usr/bin/python3
.PHONY: python-podman
python-podman:
- $(PYTHON) setup.py bdist
+ $(PYTHON) setup.py sdist bdist
+
+.PHONY: lint
+lint:
+ $(PYTHON) -m pylint podman
.PHONY: integration
integration:
@@ -10,12 +14,18 @@ integration:
.PHONY: install
install:
- $(PYTHON) setup.py install --user
+ $(PYTHON) setup.py install
+
+.PHONY: clobber
+clobber: uninstall clean
+
+.PHONY: uninstall
+uninstall:
+ $(PYTHON) -m pip uninstall --yes podman ||:
.PHONY: clean
clean:
$(PYTHON) setup.py clean --all
- pip3 uninstall podman ||:
rm -rf podman.egg-info dist
find . -depth -name __pycache__ -exec rm -rf {} \;
find . -depth -name \*.pyc -exec rm -f {} \;
diff --git a/contrib/python/podman/README.md b/contrib/python/podman/README.md
index fad03fd27..ec4a0480b 100644
--- a/contrib/python/podman/README.md
+++ b/contrib/python/podman/README.md
@@ -6,11 +6,12 @@ See [libpod](https://github.com/projectatomic/libpod)
## Releases
-To build the podman egg:
+To build the podman egg and install as user:
```sh
-cd ~/libpod/contrib/python
-python3 setup.py clean -a && python3 setup.py bdist
+cd ~/libpod/contrib/python/podman
+python3 setup.py clean -a && python3 setup.py sdist bdist
+python3 setup.py install --user
```
## Code snippets/examples:
diff --git a/contrib/python/podman/podman/__init__.py b/contrib/python/podman/podman/__init__.py
index 5a0356311..ec4775178 100644
--- a/contrib/python/podman/podman/__init__.py
+++ b/contrib/python/podman/podman/__init__.py
@@ -4,7 +4,7 @@ import pkg_resources
from .client import Client
from .libs import datetime_format, datetime_parse
from .libs.errors import (ContainerNotFound, ErrorOccurred, ImageNotFound,
- RuntimeError)
+ PodmanError)
try:
__version__ = pkg_resources.get_distribution('podman').version
@@ -18,5 +18,5 @@ __all__ = [
'datetime_parse',
'ErrorOccurred',
'ImageNotFound',
- 'RuntimeError',
+ 'PodmanError',
]
diff --git a/contrib/python/podman/podman/libs/errors.py b/contrib/python/podman/podman/libs/errors.py
index b98210481..3d2300e39 100644
--- a/contrib/python/podman/podman/libs/errors.py
+++ b/contrib/python/podman/podman/libs/errors.py
@@ -43,7 +43,7 @@ class ErrorOccurred(VarlinkErrorProxy):
pass
-class RuntimeError(VarlinkErrorProxy):
+class PodmanError(VarlinkErrorProxy):
"""Raised when Client fails to connect to runtime."""
pass
@@ -53,7 +53,7 @@ error_map = {
'io.projectatomic.podman.ContainerNotFound': ContainerNotFound,
'io.projectatomic.podman.ErrorOccurred': ErrorOccurred,
'io.projectatomic.podman.ImageNotFound': ImageNotFound,
- 'io.projectatomic.podman.RuntimeError': RuntimeError,
+ 'io.projectatomic.podman.RuntimeError': PodmanError,
}
diff --git a/contrib/python/podman/requirements.txt b/contrib/python/podman/requirements.txt
index d294af3c7..5a936e7d5 100644
--- a/contrib/python/podman/requirements.txt
+++ b/contrib/python/podman/requirements.txt
@@ -1,3 +1,3 @@
-varlink>=26.1.0
-setuptools>=39.2.0
-python-dateutil>=2.7.3
+python-dateutil
+setuptools>=39
+varlink
diff --git a/contrib/python/podman/setup.py b/contrib/python/podman/setup.py
index c9db30199..a342c05fd 100644
--- a/contrib/python/podman/setup.py
+++ b/contrib/python/podman/setup.py
@@ -15,24 +15,22 @@ with open(os.path.join(root, 'requirements.txt')) as r:
setup(
name='podman',
version=os.environ.get('PODMAN_VERSION', '0.0.0'),
- description='A client for communicating with a Podman server',
- long_description=readme,
+ description='A library for communicating with a Podman server',
author='Jhon Honce',
author_email='jhonce@redhat.com',
- url='http://github.com/projectatomic/libpod',
license='Apache Software License',
- python_requires='>=3',
+ long_description=readme,
include_package_data=True,
install_requires=requirements,
packages=find_packages(exclude=['test']),
+ python_requires='>=3',
zip_safe=True,
+ url='http://github.com/projectatomic/libpod',
keywords='varlink libpod podman',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
- 'Topic :: Software Development',
'License :: OSI Approved :: Apache Software License',
- 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.4',
+ 'Topic :: Software Development',
])
-# Not supported
-# long_description_content_type='text/markdown',
diff --git a/contrib/python/pypodman/MANIFEST.in b/contrib/python/pypodman/MANIFEST.in
index bb3ec5f0d..72e638cb9 100644
--- a/contrib/python/pypodman/MANIFEST.in
+++ b/contrib/python/pypodman/MANIFEST.in
@@ -1 +1,2 @@
+prune test/
include README.md
diff --git a/contrib/python/pypodman/Makefile b/contrib/python/pypodman/Makefile
index 4d76b1a1e..6bc5b968b 100644
--- a/contrib/python/pypodman/Makefile
+++ b/contrib/python/pypodman/Makefile
@@ -2,7 +2,11 @@ PYTHON ?= /usr/bin/python3
.PHONY: python-pypodman
python-pypodman:
- $(PYTHON) setup.py bdist
+ $(PYTHON) setup.py sdist bdist
+
+.PHONY: lint
+lint:
+ $(PYTHON) -m pylint pypodman
.PHONY: integration
integration:
@@ -10,12 +14,17 @@ integration:
.PHONY: install
install:
- $(PYTHON) setup.py install --user
+ $(PYTHON) setup.py install
+
+.PHONY: clobber
+clobber: uninstall clean
+
+.PHONY: uninstall
+ $(PYTHON) -m pip uninstall --yes pypodman ||:
.PHONY: clean
clean:
$(PYTHON) setup.py clean --all
- pip3 uninstall pypodman ||:
rm -rf pypodman.egg-info dist
find . -depth -name __pycache__ -exec rm -rf {} \;
find . -depth -name \*.pyc -exec rm -f {} \;
diff --git a/contrib/python/pypodman/README.md b/contrib/python/pypodman/README.md
index 8a1c293f1..935f6a631 100644
--- a/contrib/python/pypodman/README.md
+++ b/contrib/python/pypodman/README.md
@@ -1,17 +1,19 @@
-# pypodman - CLI interface for podman written in python
+# pypodman - CLI for podman written in python
## Status: Active Development
-See [libpod](https://github.com/projectatomic/libpod/contrib/python/cmd)
+See [libpod](https://github.com/projectatomic/libpod/contrib/python/pypodman)
## Releases
-To build the pypodman egg:
+To build the pypodman egg and install as user:
```sh
-cd ~/libpod/contrib/python/cmd
-python3 setup.py clean -a && python3 setup.py bdist
+cd ~/libpod/contrib/python/pypodman
+python3 setup.py clean -a && python3 setup.py sdist bdist
+python3 setup.py install --user
```
+Add `~/.local/bin` to your `PATH` to run pypodman command.
## Running command:
diff --git a/contrib/python/pypodman/docs/man1/pypodman.1 b/contrib/python/pypodman/docs/man1/pypodman.1
new file mode 100644
index 000000000..50d88f84d
--- /dev/null
+++ b/contrib/python/pypodman/docs/man1/pypodman.1
@@ -0,0 +1,96 @@
+.TH pypodman 1 2018-07-20 0.7.3
+.SH NAME
+pypodman \- CLI management tool for containers and images
+.SH SYNOPSIS
+\f[B]pypodman\f[] [\f[I]global options\f[]] \f[I]command\f[] [\f[I]options\f[]]
+.SH DESCRIPTION
+pypodman is a simple client only tool to help with debugging issues when daemons
+such as CRI runtime and the kubelet are not responding or failing.
+.P
+pypodman uses a VarLink API to commicate with a podman service running on either
+the local or remote machine. pypodman uses ssh to create secure tunnels when
+communicating with a remote service.
+.SH GLOBAL OPTIONS
+.PP
+\f[B]\[en]help, \-h\f[]
+.PP
+Print usage statement.
+.PP
+\f[B]\[en]version\f[]
+.PP
+Print program version number and exit.
+.PP
+\f[B]\[en]config\-home\f[]
+.PP
+Directory that will be namespaced with \f[C]pypodman\f[] to hold
+\f[C]pypodman.conf\f[].
+See FILES below for more details.
+.PP
+\f[B]\[en]log\-level\f[]
+.PP
+Log events above specified level: DEBUG, INFO, WARNING (default), ERROR,
+or CRITICAL.
+.PP
+\f[B]\[en]run\-dir\f[]
+.PP
+Directory that will be namespaced with \f[C]pypodman\f[] to hold local socket
+bindings. The default is `\f[C]$XDG_RUNTIME_DIR\\\f[].
+.PP
+\f[B]\[en]user\f[]
+.PP
+Authenicating user on remote host. \f[C]pypodman\f[] defaults to the logged in
+user.
+.PP
+\f[B]\[en]host\f[]
+.PP
+Name of remote host. There is no default, if not given \f[C]pypodman\f[]
+attempts to connect to \f[C]\-\-remote\-socket\-path\f[] on local host.
+.PP
+\f[B]\[en]remote\-socket\-path\f[]
+.PP
+Path on remote host for podman service's \f[C]AF_UNIX\f[] socket. The default is
+\f[C]/run/podman/io.projectatomic.podman\f[].
+.PP
+\f[B]\[en]identity\-file\f[]
+.PP
+The optional \f[C]ssh\f[] identity file to authenicate when tunnelling to remote
+host. Default is None and will allow \f[C]ssh\f[] to follow it's default methods
+for resolving the identity and private key using the logged in user.
+.SH COMMANDS
+.PP
+See podman(1) (podman.1.md)
+.SH FILES
+.PP
+\f[B]pypodman/pypodman.conf\f[]
+(\f[C]Any\ element\ of\ XDG_CONFIG_DIRS\f[] and/or
+\f[C]XDG_CONFIG_HOME\f[] and/or \f[B]\[en]config\-home\f[])
+.PP
+pypodman.conf is one or more configuration files for running the pypodman
+command. pypodman.conf is a TOML file with the stanza \f[C][default]\f[], with a
+map of \f[C]option: value\f[].
+.PP
+pypodman follows the XDG (freedesktop.org) conventions for resolving it's
+configuration. The list below are read from top to bottom with later items
+overwriting earlier. Any missing items are ignored.
+.IP \[bu] 2
+\f[C]pypodman/pypodman.conf\f[] from any path element in
+\f[C]XDG_CONFIG_DIRS\f[] or \f[C]\\etc\\xdg\f[]
+.IP \[bu] 2
+\f[C]XDG_CONFIG_HOME\f[] or $HOME/.config + \f[C]pypodman/pypodman.conf\f[]
+.IP \[bu] 2
+From \f[C]\-\-config\-home\f[] command line option + \f[C]pypodman/pypodman.conf\f[]
+.IP \[bu] 2
+From environment variable, for example: RUN_DIR
+.IP \[bu] 2
+From command line option, for example: \[en]run\-dir
+.PP
+This should provide Operators the ability to setup basic configurations
+and allow users to customize them.
+.PP
+\f[B]XDG_RUNTIME_DIR\f[] (\f[C]XDG_RUNTIME_DIR/io.projectatomic.podman\f[])
+.PP
+Directory where pypodman stores non\-essential runtime files and other file
+objects (such as sockets, named pipes, \&...).
+.SH SEE ALSO
+.PP
+\f[C]podman(1)\f[], \f[C]libpod(8)\f[]
diff --git a/contrib/python/pypodman/docs/pypodman.1.md b/contrib/python/pypodman/docs/pypodman.1.md
deleted file mode 100644
index 1a6be994d..000000000
--- a/contrib/python/pypodman/docs/pypodman.1.md
+++ /dev/null
@@ -1,82 +0,0 @@
-% pypodman "1"
-
-## NAME
-
-pypodman - Simple management tool for containers and images
-
-## SYNOPSIS
-
-**pypodman** [*global options*] _command_ [*options*]
-
-## DESCRIPTION
-
-pypodman is a simple client only tool to help with debugging issues when daemons
-such as CRI runtime and the kubelet are not responding or failing. pypodman uses
-a VarLink API to commicate with a podman service running on either the local or
-remote machine. pypodman uses ssh to create secure tunnels when communicating
-with a remote service.
-
-## GLOBAL OPTIONS
-
-**--help, -h**
-
-Print usage statement.
-
-**--version**
-
-Print program version number and exit.
-
-**--config-home**
-
-Directory that will be namespaced with `pypodman` to hold `pypodman.conf`. See FILES below for more details.
-
-**--log-level**
-
-Log events above specified level: DEBUG, INFO, WARNING (default), ERROR, or CRITICAL.
-
-**--run-dir**
-
-Directory that will be namespaced with `pypodman` to hold local socket bindings. The default is ``$XDG_RUNTIME_DIR\`.
-
-**--user**
-
-Authenicating user on remote host. `pypodman` defaults to the logged in user.
-
-**--host**
-
-Name of remote host. There is no default, if not given `pypodman` attempts to connect to `--remote-socket-path` on local host.
-
-**--remote-socket-path**
-
-Path on remote host for podman service's `AF_UNIX` socket. The default is `/run/podman/io.projectatomic.podman`.
-
-**--identity-file**
-
-The optional `ssh` identity file to authenicate when tunnelling to remote host. Default is None and will allow `ssh` to follow it's default methods for resolving the identity and private key using the logged in user.
-
-## COMMANDS
-
-See [podman(1)](podman.1.md)
-
-## FILES
-
-**pypodman/pypodman.conf** (`Any element of XDG_CONFIG_DIRS` and/or `XDG_CONFIG_HOME` and/or **--config-home**)
-
-pypodman.conf is one or more configuration files for running the pypodman command. pypodman.conf is a TOML file with the stanza `[default]`, with a map of option: value.
-
-pypodman follows the XDG (freedesktop.org) conventions for resolving it's configuration. The list below are read from top to bottom with later items overwriting earlier. Any missing items are ignored.
-
-- `pypodman/pypodman.conf` from any path element in `XDG_CONFIG_DIRS` or `\etc\xdg`
-- `XDG_CONFIG_HOME` or $HOME/.config + `pypodman/pypodman.conf`
-- From `--config-home` command line option + `pypodman/pypodman.conf`
-- From environment variable, for example: RUN_DIR
-- From command line option, for example: --run-dir
-
-This should provide Operators the ability to setup basic configurations and allow users to customize them.
-
-**XDG_RUNTIME_DIR** (`XDG_RUNTIME_DIR/io.projectatomic.podman`)
-
-Directory where pypodman stores non-essential runtime files and other file objects (such as sockets, named pipes, ...).
-
-## SEE ALSO
-`podman(1)`, `libpod(8)`
diff --git a/contrib/python/pypodman/pypodman/__init__.py b/contrib/python/pypodman/pypodman/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/contrib/python/pypodman/pypodman/__init__.py
diff --git a/contrib/python/pypodman/lib/__init__.py b/contrib/python/pypodman/pypodman/lib/__init__.py
index 5a8303668..5a8303668 100644
--- a/contrib/python/pypodman/lib/__init__.py
+++ b/contrib/python/pypodman/pypodman/lib/__init__.py
diff --git a/contrib/python/pypodman/lib/action_base.py b/contrib/python/pypodman/pypodman/lib/action_base.py
index ff2922262..ff2922262 100644
--- a/contrib/python/pypodman/lib/action_base.py
+++ b/contrib/python/pypodman/pypodman/lib/action_base.py
diff --git a/contrib/python/pypodman/lib/actions/__init__.py b/contrib/python/pypodman/pypodman/lib/actions/__init__.py
index cdc58b6ab..cdc58b6ab 100644
--- a/contrib/python/pypodman/lib/actions/__init__.py
+++ b/contrib/python/pypodman/pypodman/lib/actions/__init__.py
diff --git a/contrib/python/pypodman/lib/actions/images_action.py b/contrib/python/pypodman/pypodman/lib/actions/images_action.py
index f6a7497e5..f6a7497e5 100644
--- a/contrib/python/pypodman/lib/actions/images_action.py
+++ b/contrib/python/pypodman/pypodman/lib/actions/images_action.py
diff --git a/contrib/python/pypodman/lib/actions/ps_action.py b/contrib/python/pypodman/pypodman/lib/actions/ps_action.py
index 4bbec5578..4bbec5578 100644
--- a/contrib/python/pypodman/lib/actions/ps_action.py
+++ b/contrib/python/pypodman/pypodman/lib/actions/ps_action.py
diff --git a/contrib/python/pypodman/lib/actions/rm_action.py b/contrib/python/pypodman/pypodman/lib/actions/rm_action.py
index bd8950bd6..bd8950bd6 100644
--- a/contrib/python/pypodman/lib/actions/rm_action.py
+++ b/contrib/python/pypodman/pypodman/lib/actions/rm_action.py
diff --git a/contrib/python/pypodman/lib/actions/rmi_action.py b/contrib/python/pypodman/pypodman/lib/actions/rmi_action.py
index 91f0deeaf..91f0deeaf 100644
--- a/contrib/python/pypodman/lib/actions/rmi_action.py
+++ b/contrib/python/pypodman/pypodman/lib/actions/rmi_action.py
diff --git a/contrib/python/pypodman/lib/config.py b/contrib/python/pypodman/pypodman/lib/config.py
index e687697ef..90848b567 100644
--- a/contrib/python/pypodman/lib/config.py
+++ b/contrib/python/pypodman/pypodman/lib/config.py
@@ -1,3 +1,4 @@
+"""Parse configuration while building subcommands."""
import argparse
import curses
import getpass
@@ -7,7 +8,6 @@ import os
import sys
import pkg_resources
-
import pytoml
# TODO: setup.py and obtain __version__ from rpm.spec
@@ -38,7 +38,6 @@ class PodmanArgumentParser(argparse.ArgumentParser):
def __init__(self, **kwargs):
"""Construct the parser."""
kwargs['add_help'] = True
- kwargs['allow_abbrev'] = True
kwargs['description'] = __doc__
kwargs['formatter_class'] = HelpFormatter
@@ -88,7 +87,7 @@ class PodmanArgumentParser(argparse.ArgumentParser):
# pull in plugin(s) code for each subcommand
for name, obj in inspect.getmembers(
- sys.modules['lib.actions'],
+ sys.modules['pypodman.lib.actions'],
lambda member: inspect.isclass(member)):
if hasattr(obj, 'subparser'):
try:
diff --git a/contrib/python/pypodman/lib/future_abstract.py b/contrib/python/pypodman/pypodman/lib/future_abstract.py
index 75a1d42db..79256d987 100644
--- a/contrib/python/pypodman/lib/future_abstract.py
+++ b/contrib/python/pypodman/pypodman/lib/future_abstract.py
@@ -2,15 +2,14 @@
import abc
-import _collections_abc
-
try:
from contextlib import AbstractContextManager
+ assert AbstractContextManager
except ImportError:
- # Copied from python3.7 library as "backport"
class AbstractContextManager(abc.ABC):
"""An abstract base class for context managers."""
+ @abc.abstractmethod
def __enter__(self):
"""Return `self` upon entering the runtime context."""
return self
@@ -19,11 +18,3 @@ except ImportError:
def __exit__(self, exc_type, exc_value, traceback):
"""Raise any exception triggered within the runtime context."""
return None
-
- @classmethod
- def __subclasshook__(cls, C):
- """Check whether subclass is considered a subclass of this ABC."""
- if cls is AbstractContextManager:
- return _collections_abc._check_methods(C, "__enter__",
- "__exit__")
- return NotImplemented
diff --git a/contrib/python/pypodman/lib/report.py b/contrib/python/pypodman/pypodman/lib/report.py
index 25fe2ae0d..25fe2ae0d 100644
--- a/contrib/python/pypodman/lib/report.py
+++ b/contrib/python/pypodman/pypodman/lib/report.py
diff --git a/contrib/python/pypodman/lib/pypodman.py b/contrib/python/pypodman/pypodman/main.py
index 4bc71a9cc..9d747f0ef 100755
--- a/contrib/python/pypodman/lib/pypodman.py
+++ b/contrib/python/pypodman/pypodman/main.py
@@ -1,14 +1,11 @@
-#!/usr/bin/env python3
"""Remote podman client."""
+from __future__ import absolute_import
import logging
import os
import sys
-import lib.actions
-from lib import PodmanArgumentParser
-
-assert lib.actions # silence pyflakes
+from .lib import PodmanArgumentParser
def main():
diff --git a/contrib/python/pypodman/test/test_report.py b/contrib/python/pypodman/pypodman/test/test_report.py
index 280a9a954..280a9a954 100644
--- a/contrib/python/pypodman/test/test_report.py
+++ b/contrib/python/pypodman/pypodman/test/test_report.py
diff --git a/contrib/python/pypodman/requirements.txt b/contrib/python/pypodman/requirements.txt
index f9cd4f904..69cf41761 100644
--- a/contrib/python/pypodman/requirements.txt
+++ b/contrib/python/pypodman/requirements.txt
@@ -1,4 +1,4 @@
humanize
podman
pytoml
-setuptools>=39.2.0
+setuptools>=39
diff --git a/contrib/python/pypodman/setup.py b/contrib/python/pypodman/setup.py
index 04f8fb5f5..0509bf942 100644
--- a/contrib/python/pypodman/setup.py
+++ b/contrib/python/pypodman/setup.py
@@ -10,6 +10,7 @@ with open(os.path.join(root, 'README.md')) as me:
with open(os.path.join(root, 'requirements.txt')) as r:
requirements = r.read().splitlines()
+
setup(
name='pypodman',
version=os.environ.get('PODMAN_VERSION', '0.0.0'),
@@ -19,15 +20,15 @@ setup(
license='Apache Software License',
long_description=readme,
entry_points={'console_scripts': [
- 'pypodman = lib.pypodman:main',
+ 'pypodman = pypodman.main:main',
]},
include_package_data=True,
install_requires=requirements,
- keywords='varlink libpod podman pypodman',
packages=find_packages(exclude=['test']),
python_requires='>=3',
zip_safe=True,
url='http://github.com/projectatomic/libpod',
+ keywords='varlink libpod podman pypodman',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
@@ -36,7 +37,7 @@ setup(
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
- 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.4',
'Topic :: System :: Systems Administration',
'Topic :: Utilities',
])