mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-10 19:56:59 +03:00
b2ec681d8d
Helps pip decide what version of the library to install. https://packaging.python.org/tutorials/distributing-packages/#python-requires > If your project only runs on certain Python versions, setting the > python_requires argument to the appropriate PEP 440 version specifier > string will prevent pip from installing the project on other Python > versions. https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords > python_requires > > A string corresponding to a version specifier (as defined in PEP 440) > for the Python version, used to specify the Requires-Python defined in > PEP 345.
93 lines
2.9 KiB
Python
Executable File
93 lines
2.9 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
import os
|
|
import re
|
|
import shutil
|
|
import sys
|
|
from io import open
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
try:
|
|
from pypandoc import convert_file
|
|
|
|
def read_md(f):
|
|
return convert_file(f, 'rst')
|
|
except ImportError:
|
|
print("warning: pypandoc module not found, could not convert Markdown to RST")
|
|
|
|
def read_md(f):
|
|
return open(f, 'r', encoding='utf-8').read()
|
|
|
|
|
|
def get_version(package):
|
|
"""
|
|
Return package version as listed in `__version__` in `init.py`.
|
|
"""
|
|
init_py = open(os.path.join(package, '__init__.py')).read()
|
|
return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1)
|
|
|
|
|
|
version = get_version('rest_framework')
|
|
|
|
|
|
if sys.argv[-1] == 'publish':
|
|
try:
|
|
import pypandoc
|
|
except ImportError:
|
|
print("pypandoc not installed.\nUse `pip install pypandoc`.\nExiting.")
|
|
if os.system("pip freeze | grep twine"):
|
|
print("twine not installed.\nUse `pip install twine`.\nExiting.")
|
|
sys.exit()
|
|
os.system("python setup.py sdist bdist_wheel")
|
|
os.system("twine upload dist/*")
|
|
print("You probably want to also tag the version now:")
|
|
print(" git tag -a %s -m 'version %s'" % (version, version))
|
|
print(" git push --tags")
|
|
shutil.rmtree('dist')
|
|
shutil.rmtree('build')
|
|
shutil.rmtree('djangorestframework.egg-info')
|
|
sys.exit()
|
|
|
|
|
|
setup(
|
|
name='djangorestframework',
|
|
version=version,
|
|
url='http://www.django-rest-framework.org',
|
|
license='BSD',
|
|
description='Web APIs for Django, made easy.',
|
|
long_description=read_md('README.md'),
|
|
author='Tom Christie',
|
|
author_email='tom@tomchristie.com', # SEE NOTE BELOW (*)
|
|
packages=find_packages(exclude=['tests*']),
|
|
include_package_data=True,
|
|
install_requires=[],
|
|
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
|
|
zip_safe=False,
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Environment :: Web Environment',
|
|
'Framework :: Django',
|
|
'Framework :: Django :: 1.10',
|
|
'Framework :: Django :: 1.11',
|
|
'Framework :: Django :: 2.0',
|
|
'Intended Audience :: Developers',
|
|
'License :: OSI Approved :: BSD License',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 2',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.4',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Topic :: Internet :: WWW/HTTP',
|
|
]
|
|
)
|
|
|
|
# (*) Please direct queries to the discussion group, rather than to me directly
|
|
# Doing so helps ensure your question is helpful to other users.
|
|
# Queries directly to my email are likely to receive a canned response.
|
|
#
|
|
# Many thanks for your understanding.
|