| |
|
|
| import sys |
|
|
| if sys.version_info < (3, 6, 0): |
| print("Python 3.6+ is required") |
| exit(1) |
| import io |
| import os |
| from setuptools import find_packages, setup |
| from pathlib import Path |
| from typing import List |
| import ast |
| import re |
| import distutils.text_file |
|
|
| CURDIR = Path(__file__).parent |
|
|
| EXCLUDE_FROM_PACKAGES = ["tests"] |
|
|
|
|
| with io.open(os.path.join(CURDIR, "README.md"), "r", encoding="utf-8") as f: |
| README = f.read() |
|
|
|
|
| def get_version() -> str: |
| main_file = CURDIR / "pyxtermjs" / "app.py" |
| _version_re = re.compile(r"__version__\s+=\s+(?P<version>.*)") |
| with open(main_file, "r", encoding="utf8") as f: |
| match = _version_re.search(f.read()) |
| version = match.group("version") if match is not None else '"unknown"' |
| return str(ast.literal_eval(version)) |
|
|
|
|
| setup( |
| name="pyxtermjs", |
| version=get_version(), |
| author="Chad Smith", |
| author_email="chadsmith.software@gmail.com", |
| description="interactive terminal in the browser", |
| long_description=README, |
| long_description_content_type="text/markdown", |
| url="https://github.com/cs01/pyxtermjs", |
| license="License :: OSI Approved :: MIT License", |
| packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES), |
| include_package_data=True, |
| keywords=[ |
| "xterm", |
| "xterm.js", |
| "javascript", |
| "terminal-emulators", |
| "browser", |
| "tty", |
| "pty", |
| "console", |
| "terminal", |
| ], |
| scripts=[], |
| entry_points={"console_scripts": ["pyxtermjs = pyxtermjs.app:main"]}, |
| extras_require={}, |
| zip_safe=False, |
| python_requires=">=3.6", |
| install_requires=distutils.text_file.TextFile( |
| filename="./requirements.txt" |
| ).readlines(), |
| classifiers=[ |
| "Operating System :: OS Independent", |
| "License :: OSI Approved :: MIT License", |
| "Programming Language :: Python", |
| "Programming Language :: Python :: 3.6", |
| "Programming Language :: Python :: 3.7", |
| "Programming Language :: Python :: 3 :: Only", |
| ], |
| ) |
|
|