From e25fd4b49a756960d4840fa5e8023cbab68c3735 Mon Sep 17 00:00:00 2001 From: Anthony Scopatz Date: Tue, 16 May 2017 15:28:11 -0400 Subject: [PATCH] initial rever setup --- README.md => README.rst | 3 ++- rever/__init__.py | 5 ++++ rever/__main__.py | 3 +++ rever/main.xsh | 5 ++++ scripts/rever | 3 +++ setup.py | 60 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 78 insertions(+), 1 deletion(-) rename README.md => README.rst (70%) create mode 100644 rever/__init__.py create mode 100644 rever/__main__.py create mode 100644 rever/main.xsh create mode 100755 scripts/rever create mode 100755 setup.py diff --git a/README.md b/README.rst similarity index 70% rename from README.md rename to README.rst index 45be7a7..f6c6896 100644 --- a/README.md +++ b/README.rst @@ -1,2 +1,3 @@ -# rever +rever +===== Release Versions of Software diff --git a/rever/__init__.py b/rever/__init__.py new file mode 100644 index 0000000..1b7ed39 --- /dev/null +++ b/rever/__init__.py @@ -0,0 +1,5 @@ +import xonsh.imphooks + + +xonsh.imphooks.install_import_hooks() +__version__ = '0.0.0' \ No newline at end of file diff --git a/rever/__main__.py b/rever/__main__.py new file mode 100644 index 0000000..37bd537 --- /dev/null +++ b/rever/__main__.py @@ -0,0 +1,3 @@ +from rever.main import main + +main() \ No newline at end of file diff --git a/rever/main.xsh b/rever/main.xsh new file mode 100644 index 0000000..da9bae8 --- /dev/null +++ b/rever/main.xsh @@ -0,0 +1,5 @@ +"""Main CLI entry point for rever""" + +def main(args=None): + """Main function for rever.""" + echo "hello" \ No newline at end of file diff --git a/scripts/rever b/scripts/rever new file mode 100755 index 0000000..5b5b24d --- /dev/null +++ b/scripts/rever @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 -u +from rever.main import main +main() diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..6be5793 --- /dev/null +++ b/setup.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import sys +import ast +try: + from setuptools import setup +except ImportError: + from distutils.core import setup + + +def find_version(filename): + with open(filename) as f: + initlines = f.readlines() + version_line = None + for line in initlines: + if line.startswith('__version__'): + vstr = line.strip().split()[-1] + ver = ast.literal_eval(vstr) + break + return ver + + +def main(): + """The main entry point.""" + if sys.version_info[:2] < (3, 4): + sys.exit('xonsh currently requires Python 3.4+') + with open(os.path.join(os.path.dirname(__file__), 'README.rst'), 'r') as f: + readme = f.read() + scripts = ['scripts/rever'] + skw = dict( + name='rever', + description='Release Versions of Software', + long_description=readme, + license='BSD', + version=find_version('rever/__init__.py'), + author='Anthony Scopatz', + maintainer='Anthony Scopatz', + author_email='scopatz@gmail.com', + url='https://github.com/scopatz/rever', + platforms='Cross Platform', + classifiers=['Programming Language :: Python :: 3'], + packages=['rever'], + package_dir={'rever': 'rever'}, + package_data={'rever': ['*.xsh']}, + scripts=scripts, + ) + # WARNING!!! Do not use setuptools 'console_scripts' + # It validates the depenendcies (of which we have none) everytime the + # 'rever' command is run. This validation adds ~0.2 sec. to the startup + # time of xonsh - for every single xonsh run. This prevents us from + # reaching the goal of a startup time of < 0.1 sec. So never ever write + # the following: + # + # 'console_scripts': ['rever = rever.main:main'], + # + # END WARNING + setup(**skw) + + +if __name__ == '__main__': + main()