]> git.ipfire.org Git - thirdparty/httpx.git/commitdiff
Update package metadata (#2334)
authorOfek Lev <ofekmeister@gmail.com>
Mon, 22 Aug 2022 16:55:06 +0000 (12:55 -0400)
committerGitHub <noreply@github.com>
Mon, 22 Aug 2022 16:55:06 +0000 (18:55 +0200)
Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
MANIFEST.in [deleted file]
pyproject.toml [new file with mode: 0644]
requirements.txt
scripts/build
setup.py [deleted file]

diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644 (file)
index 61e3dfa..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-include README.md
-include CHANGELOG.md
-include LICENSE.md
-include httpx/py.typed
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644 (file)
index 0000000..d3e19e1
--- /dev/null
@@ -0,0 +1,80 @@
+[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"
index d85e264815faa1960a8fc838b69e8557347c9f4a..75cfeddd19f2a04c09056176b3b9f5cec5b73fe3 100644 (file)
@@ -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
index 1c47d2cc2a5c9de1de2ceed00f1ae3819d579c4f..92378cb9429e9f1d5dd1f40776be7e2d624f856d 100755 (executable)
@@ -8,6 +8,6 @@ fi
 
 set -x
 
-${PREFIX}python setup.py sdist bdist_wheel
+${PREFIX}python -m build
 ${PREFIX}twine check dist/*
 ${PREFIX}mkdocs build
diff --git a/setup.py b/setup.py
deleted file mode 100644 (file)
index 0fdbd03..0000000
--- a/setup.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/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",
-    ],
-)