aboutsummaryrefslogtreecommitdiff
path: root/setup.py
blob: ba2fd2f875dc40c3c3a856159e23abc01436df60 (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
# -*- coding: utf-8 -*-
import setuptools
import re

requirements = []
with open('requirements.txt') as f:
  requirements = f.read().splitlines()

version = ''
with open('ShellyPy/__init__.py') as f:
    version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1)

if not version:
    raise RuntimeError('version is not set')

long_description = ""
with open("README.md", "r") as fh:
    long_description = fh.read()

extras_require = {
    "discovery": ["zeroconf"]
}

setuptools.setup(
    name="ShellyPy",
    version=version,
    author="Jan Drögehoff",
    author_email="jandroegehoff@gmail.com",
    long_description=long_description,
    description="Library to interfacewith Shelly Smart Home Devices",
    long_description_content_type="text/markdown",
    url="https://github.com/Jan200101/ShellyPy",
    packages=[
        "ShellyPy",
        "ShellyPy.api",

        "ShellyPy.api.gen1",
        "ShellyPy.api.gen1.backends.http",

        "ShellyPy.api.gen2",
        "ShellyPy.api.gen2.backends.json_rpc",

        "ShellyPy.discovery",
    ],
    license="MIT",
    install_requires=requirements,
    include_package_data=True,
    extras_require=extras_require,
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
)