Skip to content

Commit

Permalink
Update package metadata (#2334)
Browse files Browse the repository at this point in the history
Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
  • Loading branch information
ofek and florimondmanca committed Aug 22, 2022
1 parent 2b2269d commit 45b7cfa
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 102 deletions.
4 changes: 0 additions & 4 deletions MANIFEST.in

This file was deleted.

80 changes: 80 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -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"
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion scripts/build
Original file line number Diff line number Diff line change
Expand Up @@ -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
96 changes: 0 additions & 96 deletions setup.py

This file was deleted.

7 comments on commit 45b7cfa

@michaeloliverx
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kludex
Copy link
Member

@Kludex Kludex commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ofek Do you have any proposal about this?

@ofek
Copy link
Contributor Author

@ofek ofek commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kludex
Copy link
Member

@Kludex Kludex commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't look healthy:

setup(
    name="httpx",
    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.*"
        ]
    }
)

@Kludex
Copy link
Member

@Kludex Kludex commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the extras_require needed as well? Anyone knows?

@ofek
Copy link
Contributor Author

@ofek ofek commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kludex
Copy link
Member

@Kludex Kludex commented on 45b7cfa Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

urllib3 is not a good example... It doesn't have dependencies (only optional): https://github.com/urllib3/urllib3/blob/main/pyproject.toml

Please sign in to comment.