Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include README.md
include CHANGELOG.md
include LICENSE.md
include httpx/py.typed
80 changes: 0 additions & 80 deletions pyproject.toml

This file was deleted.

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 -m build
${PREFIX}python setup.py sdist bdist_wheel
${PREFIX}twine check dist/*
${PREFIX}mkdocs build
96 changes: 96 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -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",
],
)