From a471466e1770ce2580ba7ed1cbea836c8667624c Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Sun, 28 Aug 2022 08:41:27 +0200 Subject: [PATCH] Revert "Update package metadata (#2334)" This reverts commit 45b7cfaad3a8987ea35fa5bf092bbdda485444fd. --- MANIFEST.in | 4 ++ pyproject.toml | 80 ---------------------------------------- requirements.txt | 2 +- scripts/build | 2 +- setup.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 102 insertions(+), 82 deletions(-) create mode 100644 MANIFEST.in delete mode 100644 pyproject.toml create mode 100644 setup.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000000..61e3dfa59f --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +include README.md +include CHANGELOG.md +include LICENSE.md +include httpx/py.typed diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index d3e19e1303..0000000000 --- a/pyproject.toml +++ /dev/null @@ -1,80 +0,0 @@ -[build-system] -requires = ["hatchling", "hatch-fancy-pypi-readme"] -build-backend = "hatchling.build" - -[project] -name = "httpx" -description = "The next generation HTTP client." -license = "BSD-3-Clause" -requires-python = ">=3.7" -authors = [ - { name = "Tom Christie", email = "tom@tomchristie.com" }, -] -classifiers = [ - "Development Status :: 4 - Beta", - "Environment :: Web Environment", - "Framework :: AsyncIO", - "Framework :: Trio", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Topic :: Internet :: WWW/HTTP", -] -dependencies = [ - "certifi", - "httpcore>=0.15.0,<0.16.0", - "rfc3986[idna2008]>=1.3,<2", - "sniffio", -] -dynamic = ["readme", "version"] - -[project.optional-dependencies] -brotli = [ - "brotli; platform_python_implementation == 'CPython'", - "brotlicffi; platform_python_implementation != 'CPython'", -] -cli = [ - "click==8.*", - "pygments==2.*", - "rich>=10,<13", -] -http2 = [ - "h2>=3,<5", -] -socks = [ - "socksio==1.*", -] - -[project.scripts] -httpx = "httpx:main" - -[project.urls] -Changelog = "https://github.com/encode/httpx/blob/master/CHANGELOG.md" -Documentation = "https://www.python-httpx.org" -Homepage = "https://github.com/encode/httpx" -Source = "https://github.com/encode/httpx" - -[tool.hatch.version] -path = "httpx/__version__.py" - -[tool.hatch.build.targets.sdist] -include = [ - "/httpx", - "/CHANGELOG.md", - "/README.md", -] - -[tool.hatch.metadata.hooks.fancy-pypi-readme] -content-type = "text/markdown" - -[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]] -path = "README.md" - -[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]] -path = "CHANGELOG.md" diff --git a/requirements.txt b/requirements.txt index 75cfeddd19..d85e264815 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,8 +15,8 @@ mkautodoc==0.1.0 mkdocs-material==8.3.8 # Packaging -build==0.8.0 twine==4.0.1 +wheel==0.37.1 # Tests & Linting autoflake==1.4 diff --git a/scripts/build b/scripts/build index 92378cb942..1c47d2cc2a 100755 --- a/scripts/build +++ b/scripts/build @@ -8,6 +8,6 @@ fi set -x -${PREFIX}python -m build +${PREFIX}python setup.py sdist bdist_wheel ${PREFIX}twine check dist/* ${PREFIX}mkdocs build diff --git a/setup.py b/setup.py new file mode 100644 index 0000000000..0fdbd03ced --- /dev/null +++ b/setup.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import re +from pathlib import Path + +from setuptools import setup + + +def get_version(package): + """ + Return package version as listed in `__version__` in `init.py`. + """ + version = Path(package, "__version__.py").read_text() + return re.search("__version__ = ['\"]([^'\"]+)['\"]", version).group(1) + + +def get_long_description(): + """ + Return the README. + """ + long_description = "" + with open("README.md", encoding="utf8") as f: + long_description += f.read() + long_description += "\n\n" + with open("CHANGELOG.md", encoding="utf8") as f: + long_description += f.read() + return long_description + + +def get_packages(package): + """ + Return root package and all sub-packages. + """ + return [str(path.parent) for path in Path(package).glob("**/__init__.py")] + + +setup( + name="httpx", + python_requires=">=3.7", + version=get_version("httpx"), + url="https://github.com/encode/httpx", + project_urls={ + "Changelog": "https://github.com/encode/httpx/blob/master/CHANGELOG.md", + "Documentation": "https://www.python-httpx.org", + "Source": "https://github.com/encode/httpx", + }, + license="BSD", + description="The next generation HTTP client.", + long_description=get_long_description(), + long_description_content_type="text/markdown", + author="Tom Christie", + author_email="tom@tomchristie.com", + package_data={"httpx": ["py.typed"]}, + packages=get_packages("httpx"), + include_package_data=True, + zip_safe=False, + install_requires=[ + "certifi", + "sniffio", + "rfc3986[idna2008]>=1.3,<2", + "httpcore>=0.15.0,<0.16.0", + ], + extras_require={ + "http2": "h2>=3,<5", + "socks": "socksio==1.*", + "brotli": [ + "brotli; platform_python_implementation == 'CPython'", + "brotlicffi; platform_python_implementation != 'CPython'" + ], + "cli": [ + "click==8.*", + "rich>=10,<13", + "pygments==2.*" + ] + }, + entry_points = { + "console_scripts": "httpx=httpx:main" + }, + classifiers=[ + "Development Status :: 4 - Beta", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Topic :: Internet :: WWW/HTTP", + "Framework :: AsyncIO", + "Framework :: Trio", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3 :: Only", + ], +)