aboutsummaryrefslogtreecommitdiffstats
path: root/setup.py
blob: c5565686f6c3ac2d4a360aa04dc4500e915b5dc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

from setuptools import setup, find_packages
import os

extras = {
    # NOTE: an 'all' extra is added automatically
    'features': [
        # image feature extractors
        'numpy',
        ],
    'face': [
        'facenet_pytorch',
        'torch',
        ],
    'preview': [
        # preview readers
        'preview_generator', # also depends on some system packages
        'pillow',
        'rawpy',
        ],
    'image': [
        # image readers
        'pillow',
        'rawpy',
        # exif reader
        'pyexiv2',
        ],
    }


setup(
    # package metadata
    name='bsie',
    version='0.23.03',
    author='Matthias Baumgartner',
    author_email='dev@bsfs.io',
    description='Extract information from files and store them in a BSFS.',
    long_description=open(os.path.join(os.path.dirname(__file__), 'README.md')).read(),
    license='BSD',
    license_files=('LICENSE', ),
    url='https://www.bsfs.io/bsie/',
    download_url='https://pip.bsfs.io',

    # packages
    packages=find_packages(include=['bsie']),
    package_dir={'bsie': 'bsie'},
    # data files are included if mentioned in MANIFEST.in
    include_package_data=True,

    # entrypoints
    entry_points={
        'console_scripts': [
            'bsie = bsie.apps:main',
            ],
        },

    # dependencies
    python_requires=">=3.7",
    install_requires=(
        'bsfs',
        'pyparsing',
        'python-magic',
        'pyyaml',
        ),
    extras_require=dict(
        # development targets
        build=['build'],
        dev=['coverage', 'mypy', 'pylint'],
        doc=['sphinx', 'sphinx-copybutton', 'furo'],
        test=['rdflib', 'requests', 'types-PyYAML'],
        # add 'all'
        all=list({pkg for ext in extras.values() for pkg in ext}),
        # add extras
        **extras
        ),
    )