|
|
import os |
|
|
import re |
|
|
|
|
|
import setuptools |
|
|
from scripts.get_package_version import get_package_version |
|
|
|
|
|
|
|
|
def update_version_file(version: str): |
|
|
|
|
|
VERSIONFILE = "taskweaver/__init__.py" |
|
|
with open(VERSIONFILE, "rt") as f: |
|
|
raw_content = f.read() |
|
|
|
|
|
content = re.sub(r"__version__ = [\"'][^']*[\"']", f'__version__ = "{version}"', raw_content) |
|
|
with open(VERSIONFILE, "wt") as f: |
|
|
f.write(content) |
|
|
|
|
|
def revert(): |
|
|
with open(VERSIONFILE, "wt") as f: |
|
|
f.write(raw_content) |
|
|
|
|
|
return revert |
|
|
|
|
|
|
|
|
version_str = get_package_version() |
|
|
revert_version_file = update_version_file(version_str) |
|
|
|
|
|
|
|
|
with open("README.md", "r") as fh: |
|
|
long_description = fh.read() |
|
|
|
|
|
|
|
|
cur_dir = os.path.dirname( |
|
|
os.path.abspath( |
|
|
__file__, |
|
|
), |
|
|
) |
|
|
|
|
|
required_packages = [] |
|
|
with open(os.path.join(cur_dir, "requirements.txt"), "r") as f: |
|
|
for line in f: |
|
|
if line.startswith("#"): |
|
|
continue |
|
|
else: |
|
|
package = line.strip() |
|
|
if "whl" in package: |
|
|
continue |
|
|
required_packages.append(package) |
|
|
|
|
|
|
|
|
packages = [ |
|
|
*setuptools.find_packages(), |
|
|
] |
|
|
|
|
|
try: |
|
|
setuptools.setup( |
|
|
install_requires=required_packages, |
|
|
extras_require={}, |
|
|
|
|
|
python_requires=">=3.10", |
|
|
name="taskweaver", |
|
|
version=version_str, |
|
|
author="Microsoft Taskweaver", |
|
|
author_email="taskweaver@microsoft.com", |
|
|
description="Python package taskweaver", |
|
|
|
|
|
long_description=long_description, |
|
|
long_description_content_type="text/markdown", |
|
|
|
|
|
packages=packages, |
|
|
|
|
|
|
|
|
license_files=["LICENSE"], |
|
|
classifiers=[ |
|
|
"Programming Language :: Python :: 3", |
|
|
"Operating System :: OS Independent", |
|
|
], |
|
|
package_data={ |
|
|
"taskweaver.planner": ["*"], |
|
|
"taskweaver.code_interpreter.code_generator": ["*"], |
|
|
}, |
|
|
entry_points={ |
|
|
"console_scripts": ["taskweaver=taskweaver.__main__:main"], |
|
|
}, |
|
|
) |
|
|
finally: |
|
|
revert_version_file() |
|
|
|