2018-04-07 01:23:03 +02:00
|
|
|
#!/usr/bin/env python
|
2019-02-13 16:54:02 +01:00
|
|
|
"""esphome setup script."""
|
2018-04-07 12:01:50 +02:00
|
|
|
from setuptools import setup, find_packages
|
2019-01-19 17:54:41 +01:00
|
|
|
import os
|
2018-04-07 01:23:03 +02:00
|
|
|
|
2019-02-13 16:54:02 +01:00
|
|
|
from esphome import const
|
2018-04-07 01:23:03 +02:00
|
|
|
|
2019-02-13 16:54:02 +01:00
|
|
|
PROJECT_NAME = 'esphome'
|
|
|
|
PROJECT_PACKAGE_NAME = 'esphome'
|
2018-04-07 01:23:03 +02:00
|
|
|
PROJECT_LICENSE = 'MIT'
|
2019-02-15 10:19:18 +01:00
|
|
|
PROJECT_AUTHOR = 'ESPHome'
|
|
|
|
PROJECT_COPYRIGHT = '2019, ESPHome'
|
2019-02-13 16:54:02 +01:00
|
|
|
PROJECT_URL = 'https://esphome.io/'
|
2019-02-15 10:19:18 +01:00
|
|
|
PROJECT_EMAIL = 'contact@esphome.io'
|
2018-04-07 01:23:03 +02:00
|
|
|
|
2019-02-13 16:54:02 +01:00
|
|
|
PROJECT_GITHUB_USERNAME = 'esphome'
|
|
|
|
PROJECT_GITHUB_REPOSITORY = 'esphome'
|
2018-04-07 01:23:03 +02:00
|
|
|
|
|
|
|
PYPI_URL = 'https://pypi.python.org/pypi/{}'.format(PROJECT_PACKAGE_NAME)
|
|
|
|
GITHUB_PATH = '{}/{}'.format(PROJECT_GITHUB_USERNAME, PROJECT_GITHUB_REPOSITORY)
|
|
|
|
GITHUB_URL = 'https://github.com/{}'.format(GITHUB_PATH)
|
|
|
|
|
2019-03-16 22:24:26 +01:00
|
|
|
DOWNLOAD_URL = '{}/archive/v{}.zip'.format(GITHUB_URL, const.__version__)
|
2018-04-07 01:23:03 +02:00
|
|
|
|
|
|
|
REQUIRES = [
|
2019-10-15 21:00:58 +02:00
|
|
|
'voluptuous==0.11.7',
|
2019-03-16 22:24:26 +01:00
|
|
|
'PyYAML>=5.1,<6',
|
|
|
|
'paho-mqtt>=1.4,<2',
|
|
|
|
'colorlog>=4.0.2',
|
|
|
|
'tornado>=5.1.1,<6',
|
|
|
|
'typing>=3.6.6;python_version<"3.5"',
|
|
|
|
'protobuf>=3.7,<3.8',
|
|
|
|
'tzlocal>=1.5.1',
|
2019-06-28 11:29:37 +02:00
|
|
|
'pytz>=2019.1',
|
2019-01-17 09:40:31 +01:00
|
|
|
'pyserial>=3.4,<4',
|
2019-03-16 22:24:26 +01:00
|
|
|
'ifaddr>=0.1.6,<1',
|
2018-04-07 01:23:03 +02:00
|
|
|
]
|
|
|
|
|
2019-01-19 17:54:41 +01:00
|
|
|
# If you have problems importing platformio and esptool as modules you can set
|
|
|
|
# $ESPHOME_USE_SUBPROCESS to make ESPHome call their executables instead.
|
|
|
|
# This means they have to be in your $PATH.
|
|
|
|
if os.environ.get('ESPHOME_USE_SUBPROCESS') is None:
|
|
|
|
REQUIRES.extend([
|
2019-03-16 22:24:26 +01:00
|
|
|
'platformio>=3.6.5',
|
|
|
|
'esptool>=2.6,<3',
|
2019-01-19 17:54:41 +01:00
|
|
|
])
|
|
|
|
|
2018-04-07 01:23:03 +02:00
|
|
|
CLASSIFIERS = [
|
|
|
|
'Environment :: Console',
|
|
|
|
'Intended Audience :: Developers',
|
|
|
|
'Intended Audience :: End Users/Desktop',
|
|
|
|
'License :: OSI Approved :: MIT License',
|
|
|
|
'Programming Language :: C++',
|
2019-02-15 10:19:18 +01:00
|
|
|
'Programming Language :: Python :: 2',
|
|
|
|
'Programming Language :: Python :: 3',
|
2018-04-07 01:23:03 +02:00
|
|
|
'Topic :: Home Automation',
|
|
|
|
]
|
|
|
|
|
|
|
|
setup(
|
|
|
|
name=PROJECT_PACKAGE_NAME,
|
|
|
|
version=const.__version__,
|
|
|
|
license=PROJECT_LICENSE,
|
|
|
|
url=GITHUB_URL,
|
|
|
|
download_url=DOWNLOAD_URL,
|
|
|
|
author=PROJECT_AUTHOR,
|
|
|
|
author_email=PROJECT_EMAIL,
|
|
|
|
description="Make creating custom firmwares for ESP32/ESP8266 super easy.",
|
|
|
|
include_package_data=True,
|
|
|
|
zip_safe=False,
|
|
|
|
platforms='any',
|
|
|
|
test_suite='tests',
|
2019-01-02 14:11:11 +01:00
|
|
|
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4.0',
|
2018-04-07 01:23:03 +02:00
|
|
|
install_requires=REQUIRES,
|
|
|
|
keywords=['home', 'automation'],
|
|
|
|
entry_points={
|
|
|
|
'console_scripts': [
|
2019-04-24 17:08:05 +02:00
|
|
|
'esphome = esphome.__main__:main'
|
2018-04-07 01:23:03 +02:00
|
|
|
]
|
2018-04-07 12:01:50 +02:00
|
|
|
},
|
|
|
|
packages=find_packages()
|
2018-04-07 01:23:03 +02:00
|
|
|
)
|