forked from InstaPy/InstaPy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
98 lines (88 loc) · 3.36 KB
/
setup.py
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# This Python file uses the following encoding: utf-8
from setuptools import setup
from os import path
# io.open is needed for projects that support Python 2.7
# It ensures open() defaults to text mode with universal newlines,
# and accepts an argument to specify the text encoding
# Python 3 only projects can skip this import and use built-in open()
from io import open as io_open
import re
summary = "Tool for automated Instagram interactions"
project_homepage = "https://github.com/InstaPy/InstaPy"
here = path.abspath(path.dirname(__file__))
def readall(*args):
with io_open(path.join(here, *args), encoding="utf-8") as fp:
return fp.read()
with open("requirements.txt") as f:
dependencies = f.read().splitlines()
documentation = readall("README.md")
metadata = dict(
re.findall(r"""__([a-z]+)__ = "([^"]+)""", readall("instapy", "__init__.py"))
)
setup(
name="instapy",
version=metadata["version"],
description=summary,
long_description=documentation,
long_description_content_type="text/markdown",
author="Tim Großmann",
author_email="[email protected]",
maintainer="InstaPy Community at Github",
license="GPLv3",
url=project_homepage,
download_url=(project_homepage + "/archive/master.zip"),
project_urls={
"How Tos": (project_homepage + "/tree/master/docs"),
"Examples": (project_homepage + "/tree/master/quickstart_templates"),
"Bug Reports": (project_homepage + "/issues"),
"Funding": "https://www.paypal.me/supportInstaPy",
"Say Thanks!": "http://saythanks.io/to/uluQulu",
"Source": (project_homepage + "/tree/master/instapy"),
},
packages=["instapy"],
# include_package_data=True, # <- packs every data file in the package
package_data={ # we need only the files below:
"instapy": [
"icons/Windows/*.ico",
"icons/Linux/*.png",
"icons/Mac/*.icns",
"firefox_extension/*",
"plugins/*",
]
},
keywords=(
"instapy python instagram automation \
marketing promotion bot selenium"
),
classifiers=[
"Development Status :: 4 - Beta",
"Environment :: Console",
"Environment :: Win32 (MS Windows)",
"Environment :: MacOS X",
"Environment :: Web Environment",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Developers",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Unix",
"Programming Language :: Python",
"Programming Language :: JavaScript",
"Programming Language :: SQL",
"Topic :: Utilities",
"Topic :: Software Development :: Build Tools",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Natural Language :: English",
],
install_requires=dependencies,
extras_require={"test": ["tox", "virtualenv", "tox-venv"]},
python_requires=">=3.5",
platforms=["win32", "linux", "linux2", "darwin"],
zip_safe=False,
entry_points={"console_scripts": []},
)