aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-09-27 23:33:53 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-09-27 23:33:53 -0400
commitb0a757c9621bf094f1c522da04c979f67533e28d (patch)
treea40f390b37146099d00d4503f26d53970133e2f4
parent7f7c8f952d9b1408d22ffd69bce37d05b7c85f00 (diff)
downloadpackage_info-master.tar.gz
Create entry_pointHEADmaster
-rw-r--r--package_info/__init__.py2
-rw-r--r--package_info/cli/__init__.py0
-rw-r--r--package_info/cli/__main__.py28
-rwxr-xr-xpackage_info/package_info.py23
-rw-r--r--setup.py9
5 files changed, 38 insertions, 24 deletions
diff --git a/package_info/__init__.py b/package_info/__init__.py
index 53b9073..12f53f5 100644
--- a/package_info/__init__.py
+++ b/package_info/__init__.py
@@ -7,4 +7,4 @@ except DistributionNotFound:
# package is not installed
__version__ = 'unknown'
-from . import package_data
+from . import package_info
diff --git a/package_info/cli/__init__.py b/package_info/cli/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/package_info/cli/__init__.py
diff --git a/package_info/cli/__main__.py b/package_info/cli/__main__.py
new file mode 100644
index 0000000..c524dd3
--- /dev/null
+++ b/package_info/cli/__main__.py
@@ -0,0 +1,28 @@
+import sys
+import json
+from argparse import ArgumentParser
+from ..package_info import get_package_info
+
+
+def main():
+ parser = ArgumentParser()
+ parser.add_argument("package", nargs="*")
+ args = parser.parse_args()
+
+ name = args.package[0]
+ result = get_package_info(name)
+
+ if len(args.package) < 2:
+ # Dump all data as JSON
+ print(json.dumps(result, indent=4))
+ else:
+ # Dump the value of a key as JSON
+ pattern = args.package[1]
+ try:
+ print(json.dumps(result[pattern], indent=4))
+ except KeyError:
+ print("{}")
+ return 1
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/package_info/package_info.py b/package_info/package_info.py
index 229af80..88614de 100755
--- a/package_info/package_info.py
+++ b/package_info/package_info.py
@@ -1,8 +1,5 @@
#!/usr/bin/env python
from pkg_resources import get_distribution
-import sys
-import json
-
def get_package_info(name):
read_desc = False
@@ -57,23 +54,3 @@ def get_package_info(name):
result["description"] += record + '\n'
return result
-
-if __name__ == "__main__":
- if len(sys.argv) < 2:
- print("Not enough arguments: need package name", file=sys.stderr)
- exit(1)
-
- name = sys.argv[1]
- result = get_package_info(name)
-
- if len(sys.argv) < 3:
- # Dump all data as JSON
- print(json.dumps(result, indent=4))
- else:
- # Dump the value of a key as JSON
- pattern = sys.argv[2]
- try:
- print(json.dumps(result[pattern], indent=4))
- except KeyError:
- print("{}")
- exit(1)
diff --git a/setup.py b/setup.py
index e85760b..78f5839 100644
--- a/setup.py
+++ b/setup.py
@@ -10,5 +10,14 @@ setup(
description="Get PKG-INFO metadata as JSON",
author="Joseph Hunkeler",
author_email="jhunk@stsci.edu",
+ license="BSD",
+ project_urls={
+ "Source": "https://github.com/astroconda/package_info",
+ },
packages=find_packages(),
+ entry_points={
+ "console_scripts": [
+ "package_info=package_info.cli.__main__:main",
+ ],
+ },
)