setup_example/setup.py
2017-08-28 22:40:13 -04:00

89 lines
2.6 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Note: To use the 'upload' functionality of this file, you must:
# $ pip install twine
import codecs
import os
import sys
from setuptools import find_packages, setup
from shutil import rmtree
# Package meta-data.
NAME = 'mypackage'
DESCRIPTION = 'My short description for my project. '
URL = 'https://github.com/me/myproject'
EMAIL = 'me@example.com'
AUTHOR = 'Awesome Soul'
here = os.path.abspath(os.path.dirname(__file__))
# Import the README and use it as the long-description.
with codecs.open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
long_description = '\n' + f.read()
# Load the package's __version__.py module as a dictionary.
about = {}
with open(os.path.join(here, NAME, "__version__.py")) as f:
exec(f.read(), about)
# What packages are required for this module to be executed?
required = [
# 'requests', 'maya', 'records',
]
# Dependencies only for versions less than Python 2.7:
# if sys.version_info < (2, 7):
# required.append('requests[security]')
# Support "$ setup.py publish".
if sys.argv[-1] == "publish":
try:
# Remove previous builds from the source tree.
rmtree(os.sep.join(('.', 'dist')))
except FileNotFoundError:
pass
# Create Source and Wheel (universal) distributions.
os.system("{0} setup.py sdist bdist_wheel --universal ".format(sys.executable))
# Upload the package to PyPi.
os.system("twine upload dist/*")
sys.exit()
# Where the magic happens:
setup(
name=NAME,
version=about['__version__'],
description=DESCRIPTION,
long_description=long_description,
author=AUTHOR,
author_email=EMAIL,
url=URL,
packages=find_packages(exclude=('tests',)),
# entry_points={
# 'console_scripts': ['mycli=mymodule:cli'],
# },
install_requires=required,
include_package_data=True,
license='ISC',
classifiers=[
# Trove classifiers
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
'License :: OSI Approved :: ISC License',
'Programming Language :: Python',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy'
],
)