35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from setuptools import setup
|
|
|
|
|
|
def sqlglotrs_version():
|
|
with open("sqlglotrs/Cargo.toml", encoding="utf-8") as fd:
|
|
for line in fd.readlines():
|
|
if line.strip().startswith("version"):
|
|
return line.split("=")[1].strip().strip('"')
|
|
raise ValueError("Could not find version in Cargo.toml")
|
|
|
|
|
|
# Everything is defined in pyproject.toml except the extras because for the [rs] extra we need to dynamically
|
|
# read the sqlglotrs version. [dev] has to be specified here as well because you cant specify some extras groups
|
|
# dynamically and others statically, it has to be either all dynamic or all static
|
|
# ref: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata
|
|
setup(
|
|
extras_require={
|
|
"dev": [
|
|
"duckdb>=0.6",
|
|
"mypy",
|
|
"pandas",
|
|
"pandas-stubs",
|
|
"python-dateutil",
|
|
"pytz",
|
|
"pdoc",
|
|
"pre-commit",
|
|
"ruff==0.7.2",
|
|
"types-python-dateutil",
|
|
"types-pytz",
|
|
"typing_extensions",
|
|
"maturin>=1.4,<2.0",
|
|
],
|
|
"rs": [f"sqlglotrs=={sqlglotrs_version()}"],
|
|
},
|
|
)
|