From 6af2e2e5c8377da0f54f6b93c14977a8be497210 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 24 Apr 2018 22:41:16 +0100 Subject: [PATCH 1/3] setup: Remove get_packages, get_package_data The former of these duplicates functionality already provided by setuptools, while the latter doesn't do anything. Replace the first and remove the second. Signed-off-by: Stephen Finucane --- setup.py | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/setup.py b/setup.py index 7dabead..28611af 100755 --- a/setup.py +++ b/setup.py @@ -1,10 +1,9 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from setuptools import setup +from setuptools import find_packages, setup import re import os -import shutil import sys @@ -16,31 +15,6 @@ def get_version(package): return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1) -def get_packages(package): - """ - Return root package and all sub-packages. - """ - return [dirpath - for dirpath, dirnames, filenames in os.walk(package) - if os.path.exists(os.path.join(dirpath, '__init__.py'))] - - -def get_package_data(package): - """ - Return all files under the root package, that are not in a - package themselves. - """ - walk = [(dirpath.replace(package + os.sep, '', 1), filenames) - for dirpath, dirnames, filenames in os.walk(package) - if not os.path.exists(os.path.join(dirpath, '__init__.py'))] - - filepaths = [] - for base, filenames in walk: - filepaths.extend([os.path.join(base, filename) - for filename in filenames]) - return {package: filepaths} - - version = get_version('coreapi') @@ -60,8 +34,8 @@ def get_package_data(package): description='Python client library for Core API.', author='Tom Christie', author_email='tom@tomchristie.com', - packages=get_packages('coreapi'), - package_data=get_package_data('coreapi'), + packages=find_packages('coreapi'), + include_package_data=True, install_requires=[ 'coreschema', 'requests', From fb5b0a5aad77ed9f7feebdf11075f4c1d75b9668 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 24 Apr 2018 22:56:42 +0100 Subject: [PATCH 2/3] setup: Start using 'setup.cfg' This is machine readable and frankly more human-readable too. Also, it comes with goodies we can start using shortly. Signed-off-by: Stephen Finucane --- setup.cfg | 44 ++++++++++++++++++++++++++++++++++++++++++++ setup.py | 41 ----------------------------------------- 2 files changed, 44 insertions(+), 41 deletions(-) diff --git a/setup.cfg b/setup.cfg index 5e40900..de21ac4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,46 @@ +[metadata] +name = coreapi +url = https://github.com/core-api/python-client +license = BSD +description = Python client library for Core API. +author = Tom Christie +author_email = tom@tomchristie.com +classifiers = + Development Status :: 3 - Alpha + Environment :: Web Environment + 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.3 + Programming Language :: Python :: 3.4 + Programming Language :: Python :: 3.5 + Programming Language :: Python :: 3.6 + Topic :: Internet :: WWW/HTTP + +[options] +include_package_data = True +install_requires = + coreschema + requests + itypes + uritemplate + +[options.entry_points] +coreapi.codecs = + corejson = coreapi.codecs:CoreJSONCodec + json = coreapi.codecs:JSONCodec + text = coreapi.codecs:TextCodec + download = coreapi.codecs:DownloadCodec +coreapi.transports = + http = coreapi.transports:HTTPTransport + +[options.packages.find] +include = + coreapi + [wheel] universal = 1 diff --git a/setup.py b/setup.py index 28611af..5c42209 100755 --- a/setup.py +++ b/setup.py @@ -27,46 +27,5 @@ def get_version(package): setup( - name='coreapi', version=version, - url='https://github.com/core-api/python-client', - license='BSD', - description='Python client library for Core API.', - author='Tom Christie', - author_email='tom@tomchristie.com', - packages=find_packages('coreapi'), - include_package_data=True, - install_requires=[ - 'coreschema', - 'requests', - 'itypes', - 'uritemplate' - ], - entry_points={ - 'coreapi.codecs': [ - 'corejson=coreapi.codecs:CoreJSONCodec', - 'json=coreapi.codecs:JSONCodec', - 'text=coreapi.codecs:TextCodec', - 'download=coreapi.codecs:DownloadCodec', - ], - 'coreapi.transports': [ - 'http=coreapi.transports:HTTPTransport', - ] - }, - classifiers=[ - 'Development Status :: 3 - Alpha', - 'Environment :: Web Environment', - '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.3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Topic :: Internet :: WWW/HTTP', - ] ) From f19f450bc5bfa65039fd0d768b40a85ac3cb3b07 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 24 Apr 2018 23:05:40 +0100 Subject: [PATCH 3/3] setup: Use README.md for long description Finally, the thing we came here to solve: displaying the README on pypi.org. This is made possible thanks to PEP 566 [1]. [1] https://www.python.org/dev/peps/pep-0566/ Signed-off-by: Stephen Finucane --- setup.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.cfg b/setup.cfg index de21ac4..1db5be1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,6 +3,8 @@ name = coreapi url = https://github.com/core-api/python-client license = BSD description = Python client library for Core API. +long_description = file:README.md +long_description_content_type = text/markdown author = Tom Christie author_email = tom@tomchristie.com classifiers = @@ -23,6 +25,8 @@ classifiers = [options] include_package_data = True +setup_requires = + setuptools>=38.6.0 install_requires = coreschema requests pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy