setup.py 2.36 KB
Newer Older
赵小蒙's avatar
赵小蒙 committed
1
from pathlib import Path
赵小蒙's avatar
赵小蒙 committed
2
from setuptools import setup, find_packages
赵小蒙's avatar
赵小蒙 committed
3
from magic_pdf.libs.version import __version__
赵小蒙's avatar
赵小蒙 committed
4
5


6
7
8
9
10
11
12
13
def parse_requirements(filename):
    with open(filename) as f:
        lines = f.read().splitlines()

    requires = []

    for line in lines:
        if "http" in line:
赵小蒙's avatar
赵小蒙 committed
14
15
            pkg_name_without_url = line.split('@')[0].strip()
            requires.append(pkg_name_without_url)
16
17
18
19
20
        else:
            requires.append(line)

    return requires

21

赵小蒙's avatar
赵小蒙 committed
22
if __name__ == '__main__':
赵小蒙's avatar
赵小蒙 committed
23
24
25
    with Path(Path(__file__).parent,
              'README.md').open(encoding='utf-8') as file:
        long_description = file.read()
赵小蒙's avatar
赵小蒙 committed
26
27
    setup(
        name="magic_pdf",  # 项目名
赵小蒙's avatar
赵小蒙 committed
28
        version=__version__,  # 自动从tag中获取版本号
29
30
31
32
        packages=find_packages() + ["magic_pdf.resources"],  # 包含所有的包
        package_data={
            "magic_pdf.resources": ["**"],  # 包含magic_pdf.resources目录下的所有文件
        },
赵小蒙's avatar
赵小蒙 committed
33
        install_requires=parse_requirements('requirements.txt'),  # 项目依赖的第三方库
赵小蒙's avatar
赵小蒙 committed
34
        extras_require={
35
36
37
38
39
40
41
42
43
44
45
46
            "lite": ["paddleocr==2.7.3",
                     "paddlepaddle==3.0.0b1;platform_system=='Linux'",
                     "paddlepaddle==2.6.1;platform_system=='Windows' or platform_system=='Darwin'",
                     ],
            "full": ["unimernet",
                     "matplotlib",
                     "ultralytics",
                     "paddleocr==2.7.3",
                     "paddlepaddle==3.0.0b1;platform_system=='Linux'",
                     "paddlepaddle==2.6.1;platform_system=='Windows' or platform_system=='Darwin'",
                     "detectron2"
                     ],
赵小蒙's avatar
赵小蒙 committed
47
        },
赵小蒙's avatar
赵小蒙 committed
48
49
50
        description="A practical tool for converting PDF to Markdown",  # 简短描述
        long_description=long_description,  # 详细描述
        long_description_content_type="text/markdown",  # 如果README是Markdown格式
myhloli's avatar
myhloli committed
51
        url="https://github.com/opendatalab/MinerU",
赵小蒙's avatar
赵小蒙 committed
52
        python_requires=">=3.9",  # 项目依赖的 Python 版本
赵小蒙's avatar
update:  
赵小蒙 committed
53
54
55
56
57
        entry_points={
            "console_scripts": [
                "magic-pdf = magic_pdf.cli.magicpdf:cli"
            ],
        },  # 项目提供的可执行命令
赵小蒙's avatar
赵小蒙 committed
58
59
60
        include_package_data=True,  # 是否包含非代码文件,如数据文件、配置文件等
        zip_safe=False,  # 是否使用 zip 文件格式打包,一般设为 False
    )