mirror of
https://github.com/pypiserver/pypiserver
synced 2024-12-20 13:55:49 +01:00
2f0a56c380
* chore: pin explicit Python 3.12 * chore: add a `test-python` for stable Python * chore: empty commit * chore: add some FIXMEs * chore: add `packaging` * chore(wip): replace `LegacyVersion` with `packaging`'s `parse` * chore(wip): bypass `strtobool` usage * chore(wip): `pkg_resources` are deprecated * chore(wip): naive way to support Python <3.12 * chore(wip): swap import order * chore(wip): try fixing version check * chore: add a fixme * chore(wip): reverse legacy pip check * chore(wip): legacy pip check for 9 or lower * fix: fix the legacy pip check * chore: small cleanup * chore(wip): try the `importlib_resources` * chore: add small comment * chore(wip): avoid `setup.py` in fixtures * chore(wip): version-compatible wheel build * chore: install `build` for `3.8` too * fix: mypy issues * chore: fix comments * fix: more formatting fixes * fix: mdformat * fix: pass wrong auth to `failed_auth` test * chore: cleanup packages before and after test runs * chore(wip): try to bypass test error * chore: add a tech debt comment * chore: undo too many changes * chore(wip): small debug experiment * chore(wip): skip some tests * chore(wip): use nonsense code * fix(chore): small fix to the nonsense code * chore(wip): try `--force-reinstall` * chore: finalize the docker tests
98 lines
2.9 KiB
Python
98 lines
2.9 KiB
Python
#! /usr/bin/env python3
|
|
|
|
import re
|
|
from pathlib import Path
|
|
|
|
from setuptools import setup
|
|
|
|
tests_require = [
|
|
"pytest>=2.3",
|
|
"tox",
|
|
"twine",
|
|
"passlib>=1.6",
|
|
"webtest",
|
|
"build>=1.2.0;python_version>='3.8'",
|
|
]
|
|
|
|
setup_requires = [
|
|
"setuptools",
|
|
"setuptools-git>=0.3",
|
|
"wheel>=0.25.0",
|
|
]
|
|
install_requires = [
|
|
"pip>=7",
|
|
"packaging>=23.2",
|
|
"importlib_resources;python_version>'3.8' and python_version<'3.12'",
|
|
]
|
|
|
|
|
|
def read_file(rel_path: str):
|
|
return Path(__file__).parent.joinpath(rel_path).read_text()
|
|
|
|
|
|
def get_version():
|
|
locals_ = {}
|
|
version_line = re.compile(
|
|
r'^[\w =]*__version__ = "\d+\.\d+\.\d+\.?\w*\d*"$'
|
|
)
|
|
try:
|
|
for ln in filter(
|
|
version_line.match,
|
|
read_file("pypiserver/__init__.py").splitlines(),
|
|
):
|
|
exec(ln, locals_)
|
|
except (ImportError, RuntimeError):
|
|
pass
|
|
return locals_["__version__"]
|
|
|
|
|
|
setup(
|
|
name="pypiserver",
|
|
description="A minimal PyPI server for use with pip/easy_install.",
|
|
long_description=read_file("README.md"),
|
|
long_description_content_type="text/markdown",
|
|
version=get_version(),
|
|
packages=["pypiserver"],
|
|
package_data={"pypiserver": ["welcome.html"]},
|
|
python_requires=">=3.6",
|
|
install_requires=install_requires,
|
|
setup_requires=setup_requires,
|
|
extras_require={"passlib": ["passlib>=1.6"], "cache": ["watchdog"]},
|
|
tests_require=tests_require,
|
|
url="https://github.com/pypiserver/pypiserver",
|
|
maintainer=(
|
|
"Kostis Anagnostopoulos <ankostis@gmail.com>"
|
|
"Matthew Planchard <mplanchard@gmail.com>"
|
|
),
|
|
maintainer_email="ankostis@gmail.com",
|
|
classifiers=[
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: Web Environment",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: BSD License",
|
|
"License :: OSI Approved :: zlib/libpng License",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.6",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
"Topic :: Software Development :: Build Tools",
|
|
"Topic :: System :: Software Distribution",
|
|
],
|
|
zip_safe=True,
|
|
entry_points={
|
|
"paste.app_factory": ["main=pypiserver:paste_app_factory"],
|
|
"console_scripts": ["pypi-server=pypiserver.__main__:main"],
|
|
},
|
|
options={"bdist_wheel": {"universal": True}},
|
|
platforms=["any"],
|
|
)
|