|
1 | 1 | #!/usr/bin/env python3
|
2 | 2 |
|
3 |
| -import os |
4 |
| -import sys |
5 |
| -from typing import Any, Dict, Optional |
| 3 | +from setuptools import find_packages, setup |
6 | 4 |
|
7 | 5 | ZULIP_BOTS_VERSION = "0.8.1"
|
8 | 6 | IS_PYPA_PACKAGE = False
|
|
21 | 19 | with open("README.md") as fh:
|
22 | 20 | long_description = fh.read()
|
23 | 21 |
|
24 |
| -# We should be installable with either setuptools or distutils. |
25 |
| -package_info = dict( |
| 22 | +setup( |
26 | 23 | name="zulip_bots",
|
27 | 24 | version=ZULIP_BOTS_VERSION,
|
28 | 25 | description="Zulip's Bot framework",
|
|
54 | 51 | "zulip-bot-shell=zulip_bots.bot_shell:main",
|
55 | 52 | ],
|
56 | 53 | },
|
57 |
| -) # type: Dict[str, Any] |
58 |
| - |
59 |
| -setuptools_info = dict( |
60 | 54 | install_requires=[
|
61 | 55 | "pip",
|
62 | 56 | "zulip",
|
|
66 | 60 | "typing_extensions",
|
67 | 61 | 'importlib-metadata >= 3.6; python_version < "3.10"',
|
68 | 62 | ],
|
| 63 | + packages=find_packages(), |
| 64 | + package_data=package_data, |
69 | 65 | )
|
70 |
| - |
71 |
| -try: |
72 |
| - from setuptools import find_packages, setup |
73 |
| - |
74 |
| - package_info.update(setuptools_info) |
75 |
| - package_info["packages"] = find_packages() |
76 |
| - package_info["package_data"] = package_data |
77 |
| - |
78 |
| -except ImportError: |
79 |
| - from distutils.core import setup |
80 |
| - from distutils.version import LooseVersion |
81 |
| - from importlib import import_module |
82 |
| - |
83 |
| - # Manual dependency check |
84 |
| - def check_dependency_manually(module_name: str, version: Optional[str] = None) -> None: |
85 |
| - try: |
86 |
| - module = import_module(module_name) # type: Any |
87 |
| - if version is not None: |
88 |
| - assert LooseVersion(module.__version__) >= LooseVersion(version) |
89 |
| - except (ImportError, AssertionError): |
90 |
| - if version is not None: |
91 |
| - print( |
92 |
| - f"{module_name}>={version} is not installed.", |
93 |
| - file=sys.stderr, |
94 |
| - ) |
95 |
| - else: |
96 |
| - print(f"{module_name} is not installed.", file=sys.stderr) |
97 |
| - sys.exit(1) |
98 |
| - |
99 |
| - check_dependency_manually("zulip") |
100 |
| - check_dependency_manually("mock", "2.0.0") |
101 |
| - check_dependency_manually("html2text") |
102 |
| - check_dependency_manually("PyDictionary") |
103 |
| - |
104 |
| - # Include all submodules under bots/ |
105 |
| - package_list = ["zulip_bots"] |
106 |
| - dirs = os.listdir("zulip_bots/bots/") |
107 |
| - for dir_name in dirs: |
108 |
| - if os.path.isdir(os.path.join("zulip_bots/bots/", dir_name)): |
109 |
| - package_list.append("zulip_bots.bots." + dir_name) |
110 |
| - package_info["packages"] = package_list |
111 |
| - |
112 |
| -setup(**package_info) |
0 commit comments