mirror of
https://github.com/openziti/zrok.git
synced 2025-06-20 09:48:07 +02:00
use generated requirements
This commit is contained in:
parent
2752e68f0a
commit
153dead44a
@ -1,17 +1,45 @@
|
|||||||
from setuptools import setup, find_packages # noqa: H301
|
from setuptools import setup, find_packages # noqa: H301
|
||||||
import os
|
import os
|
||||||
import versioneer
|
import versioneer
|
||||||
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
|
||||||
# optionally upload to TestPyPi with alternative name in testing repo
|
|
||||||
NAME = os.getenv('ZROK_PY_NAME', "zrok")
|
NAME = os.getenv('ZROK_PY_NAME', "zrok")
|
||||||
VERSION = "1.0.0"
|
VERSION = "1.0.0"
|
||||||
REQUIRES = [
|
|
||||||
"openziti >= 1.0.0",
|
# Define your package overrides here - these take precedence over the generated requirements.txt
|
||||||
"urllib3 >= 2.1.0", # urllib3 2.1.0 introduced breaking changes that are implemented by openapi-generator 7.12.0
|
OVERRIDES = {
|
||||||
"python_dateutil >= 2.8.2",
|
# Override specific packages with version constraints different from the generated requirements.txt
|
||||||
"pydantic >= 2",
|
"openziti": "openziti >= 1.0.0",
|
||||||
"typing-extensions >= 4.7.1",
|
"urllib3": "urllib3 >= 2.1.0", # urllib3 2.1.0 introduced breaking changes that are implemented by openapi-generator 7.12.0
|
||||||
]
|
}
|
||||||
|
|
||||||
|
# Parse the generated requirements.txt
|
||||||
|
def parse_requirements(filename):
|
||||||
|
requirements = []
|
||||||
|
if not Path(filename).exists():
|
||||||
|
return requirements
|
||||||
|
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
for line in f:
|
||||||
|
line = line.strip()
|
||||||
|
if not line or line.startswith('#'):
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Extract package name (everything before any version specifier)
|
||||||
|
package_name = re.split(r'[<>=~]', line)[0].strip()
|
||||||
|
|
||||||
|
# If we have an override for this package, skip it
|
||||||
|
if package_name in OVERRIDES:
|
||||||
|
continue
|
||||||
|
|
||||||
|
requirements.append(line)
|
||||||
|
|
||||||
|
return requirements
|
||||||
|
|
||||||
|
# Combine requirements from requirements.txt and overrides
|
||||||
|
requirements_file = Path(__file__).parent / "requirements.txt"
|
||||||
|
REQUIRES = parse_requirements(requirements_file) + list(OVERRIDES.values())
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=NAME,
|
name=NAME,
|
||||||
@ -25,6 +53,9 @@ setup(
|
|||||||
python_requires='>3.10.0',
|
python_requires='>3.10.0',
|
||||||
packages=find_packages(),
|
packages=find_packages(),
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
|
package_data={
|
||||||
|
'': ['requirements.txt'], # Include the generated requirements.txt in the package
|
||||||
|
},
|
||||||
long_description="""\
|
long_description="""\
|
||||||
Geo-scale, next-generation peer-to-peer sharing platform built on top of OpenZiti.
|
Geo-scale, next-generation peer-to-peer sharing platform built on top of OpenZiti.
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user