Files
pipenv/tests/pytest-pypi/setup.py
T
2021-07-28 10:59:00 +08:00

105 lines
3.0 KiB
Python

from setuptools import setup, find_packages, Command
import codecs
import os
import re
import sys
from shutil import rmtree
with open("pytest_pypi/version.py") as f:
code = compile(f.read(), "pytest_pypi/version.py", 'exec')
exec(code)
here = os.path.abspath(os.path.dirname(__file__))
# Get the long description from the relevant file
with codecs.open(os.path.join(here, 'DESCRIPTION.rst'), encoding='utf-8') as f:
long_description = f.read()
class UploadCommand(Command):
"""Support setup.py upload."""
description = 'Build and publish the package.'
user_options = []
@staticmethod
def status(s):
"""Prints things in bold."""
print(f'\033[1m{s}\033[0m')
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 OSError:
pass
self.status('Building Source and Wheel (universal) distribution...')
os.system(f'{sys.executable} setup.py sdist bdist_wheel --universal')
self.status('Uploading the package to PyPI via Twine...')
os.system('twine upload dist/*')
self.status('Pushing git tags...')
os.system(f'git tag v{__version__}')
os.system('git push --tags')
sys.exit()
setup(
name="pytest-pypi",
# There are various approaches to referencing the version. For a discussion,
# see http://packaging.python.org/en/latest/tutorial.html#version
version=__version__,
description="Easily test your HTTP library against a local copy of pypi",
long_description=long_description,
# The project URL.
url='https://github.com/pypa/pipenv/tree/master/tests/pytest-pypi',
# Author details
author='Kenneth Reitz',
author_email='me@kennethreitz.org',
# Choose your license
license='MIT',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Testing',
'Topic :: Software Development :: Libraries',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
# What does your project relate to?
keywords='pytest-pypi testing pytest pypi',
packages=find_packages(exclude=["contrib", "docs", "tests*"]),
include_package_data = True, # include files listed in MANIFEST.in
install_requires = ['Flask', 'six'],
# the following makes a plugin available to pytest
entry_points = {
'pytest11': [
'pypi = pytest_pypi.plugin',
]
},
cmdclass={
'upload': UploadCommand,
},
)