| | |
| |
|
| | 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", |
| | ], |
| | ) |
| |
|