Skip to content
Snippets Groups Projects
setup.py 1.9 KiB
Newer Older
# SPDX-FileCopyrightText: 2021 Helmholtz-Zentrum für Umweltforschung GmbH - UFZ
# SPDX-License-Identifier: GPL-3.0-or-later
Bert Palm's avatar
Bert Palm committed
import os
Bert Palm's avatar
Bert Palm committed
import versioneer
David Schäfer's avatar
David Schäfer committed
from setuptools import find_packages, setup

Bert Palm's avatar
Bert Palm committed
# read the version string from saqc without importing it. See the
# link for a more detailed description of the problem and the solution
# https://stackoverflow.com/questions/2058802/how-can-i-get-the-version-defined-in-setup-py-setuptools-in-my-package
Bert Palm's avatar
Bert Palm committed
with open("README.md", "r") as fh:
Bert Palm's avatar
Bert Palm committed
    long_description = fh.read()

Bert Palm's avatar
Bert Palm committed

name = os.environ.get("PYPI_PKG_NAME", "saqc")
if not name:
    raise ValueError("Environment variable PYPI_PKG_NAME must not be an empty string.")


v = versioneer.get_versions()
print(f"saqc version: {v}")

if v["error"]:
    raise RuntimeError(v["error"])

if v["dirty"]:
    raise ValueError(
        f"The repository you build is dirty. Please commit changes first {v}."
    )


David Schäfer's avatar
David Schäfer committed
setup(
Bert Palm's avatar
Bert Palm committed
    name=name,
    version=versioneer.get_version(),  # keep this line as it is
    cmdclass=versioneer.get_cmdclass(),  # keep this line as it is
David Schäfer's avatar
David Schäfer committed
    author="Bert Palm, David Schaefer, Florian Gransee, Peter Luenenschloss",
David Schäfer's avatar
David Schäfer committed
    author_email="david.schaefer@ufz.de",
David Schäfer's avatar
David Schäfer committed
    description="A timeseries data quality control and processing tool/framework",
Bert Palm's avatar
Bert Palm committed
    long_description=long_description,
David Schäfer's avatar
David Schäfer committed
    long_description_content_type="text/markdown",
    url="https://git.ufz.de/rdm-software/saqc",
David Schäfer's avatar
David Schäfer committed
    packages=find_packages(exclude=("tests", "docs")),
David Schäfer's avatar
David Schäfer committed
    python_requires=">=3.9",
David Schäfer's avatar
David Schäfer committed
    install_requires=[
David Schäfer's avatar
David Schäfer committed
        "Click",
        "docstring_parser",
        "fancy-collections",
David Schäfer's avatar
David Schäfer committed
        "fastdtw",
David Schäfer's avatar
David Schäfer committed
        "matplotlib>=3.4",
David Schäfer's avatar
David Schäfer committed
        "numpy",
David Schäfer's avatar
David Schäfer committed
        "outlier-utils",
        "pyarrow",
Bert Palm's avatar
Bert Palm committed
        "pandas>=2.0.0",
David Schäfer's avatar
David Schäfer committed
        "scikit-learn",
        "scipy",
        "typing_extensions",
David Schäfer's avatar
David Schäfer committed
    ],
David Schäfer's avatar
David Schäfer committed
    license_files=("LICENSE.md", "LICENSES/GPL-3.0-or-later.txt"),
    entry_points={
        "console_scripts": ["saqc=saqc.__main__:main"],
    },
Bert Palm's avatar
Bert Palm committed
)