Skip to content
setup.py 2.09 KiB
Newer Older
Shuai Feng's avatar
Shuai Feng committed
import setuptools
Shuai Feng's avatar
Shuai Feng committed
import os
import re
Shuai Feng's avatar
Shuai Feng committed

Shuai Feng's avatar
Shuai Feng committed
with open("README.md", "r") as fh:
    long_description = fh.read()

with open("requirements.txt", "r") as f:
    requirements = [
        req.strip()
        for req in f.readlines()
        if not req.startswith("#") and req.__contains__("==")
    ]

Shuai Feng's avatar
Shuai Feng committed
def get_version():
    # 找到 __init__.py 的路径
    init_path = os.path.join(
        os.path.dirname(__file__), 
        "csst_ifs_gehong", 
        "__init__.py"
    )
    # 读取文件内容,使用正则找出版本号
    with open(init_path, "r", encoding="utf-8") as f:
        content = f.read()
        version_match = re.search(r'^__version__ = ["\']([^"\']*)["\']', content, re.M)
        if version_match:
            return version_match.group(1)
        raise RuntimeError("无法在 __init__.py 中找到 __version__ 定义")

Shuai Feng's avatar
Shuai Feng committed
setuptools.setup(
Shuai Feng's avatar
Shuai Feng committed
    name = 'csst_ifs_gehong',
    version = get_version(),
    license = 'MIT',
    author = "Shuai Feng",
    author_email = 'sfeng@hebtu.edu.cn',
    description = 'The packages for the scientific data simulation of CSST-IFS',  # short description
Shuai Feng's avatar
Shuai Feng committed
    long_description=long_description,
Shuai Feng's avatar
Shuai Feng committed
    long_description_content_type = "text/markdown",
    url = 'https://csst-tb.bao.ac.cn/code/csst-sims/csst_ifs_gehong',
    project_urls = {
Shuai Feng's avatar
Shuai Feng committed
        'Source': 'https://csst-tb.bao.ac.cn/code/csst-sims/csst_ifs_gehong',
    },
    packages=setuptools.find_packages(),
    classifiers=["Development Status :: 5 - Production/Stable",
                 "Intended Audience :: Science/Research",
                 "License :: OSI Approved :: MIT License",
                 "Operating System :: OS Independent",
                 "Programming Language :: Python :: 3.11",
                 "Topic :: Scientific/Engineering :: Physics",
                 "Topic :: Scientific/Engineering :: Astronomy"],
    package_dir={'csst_ifs_gehong': 'csst_ifs_gehong'},
    # include_package_data=True,
    package_data={"": ["LICENSE", "README.md"],
                  "csst_ifs_gehong": [
                      "data/*",
                  ]},
    python_requires='>=3.11',
    install_requires=requirements,
Shuai Feng's avatar
Shuai Feng committed
)