Update package metadata (#2334)

Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
This commit is contained in:
Ofek Lev 2022-08-22 12:55:06 -04:00 committed by GitHub
parent 2b2269d5d8
commit 45b7cfaad3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 82 additions and 102 deletions

View File

@ -1,4 +0,0 @@
include README.md
include CHANGELOG.md
include LICENSE.md
include httpx/py.typed

80
pyproject.toml Normal file
View File

@ -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"

View 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

View File

@ -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

View File

@ -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",
],
)