#!/usr/bin/env python # -*- coding: utf-8 -*- # Note: To use the 'upload' functionality of this file, you must: # $ pip install twine import io import os import sys from shutil import rmtree from setuptools import setup, Command # Package meta-data. NAME = "background" DESCRIPTION = "It does what it says it does." URL = "https://github.com/kennethreitz/background" EMAIL = "me@kennethreitz.org" AUTHOR = "Kenneth Reitz" VERSION = "0.2.0" MAINTAINER = "Parth Shandilya" MAINTAINER_EMAIL = "parth1989shandilya@gmail.com" # What packages are required for this module to be executed? REQUIRED = ["futures; python_version<'3.2'"] # The rest you shouldn't have to touch too much :) # ------------------------------------------------ here = os.path.abspath(os.path.dirname(__file__)) # Import the README and use it as the long-description. # Note: this will only work if 'README.rst' is present # in your MANIFEST.in file with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f: long_description = "\n" + f.read() class PublishCommand(Command): """Support setup.py publish.""" description = "Build and publish the package." user_options = [] @staticmethod def status(s): """Prints things in bold.""" print("\033[1m{0}\033[0m".format(s)) def initialize_options(self): pass def finalize_options(self): pass def run(self): try: self.status("Removing previous builds…") rmtree(os.path.join(here, "dist")) except FileNotFoundError: pass self.status("Building Source and Wheel (universal) distribution…") os.system( "{0} setup.py sdist bdist_wheel --universal".format(sys.executable) ) # noqa self.status("Uploading the package to PyPi via Twine…") os.system("twine upload dist/*") sys.exit() # Where the magic happens: setup( name=NAME, version=VERSION, description=DESCRIPTION, long_description=long_description, author=AUTHOR, author_email=EMAIL, url=URL, maintainer=MAINTAINER, maintainer_email=MAINTAINER_EMAIL, # If your package is a single module, use this instead of 'packages': py_modules=["background"], install_requires=REQUIRED, include_package_data=True, license="ISC", classifiers=[ "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 :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ], # $ setup.py publish support. cmdclass={ "publish": PublishCommand, }, )