onefuzz/src/cli/setup.py
2021-03-19 12:52:37 -04:00

51 lines
1.5 KiB
Python

#!/usr/bin/env python
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
import sys
from typing import Any, Dict, cast
import setuptools
def get_version() -> str:
onefuzz: Dict[str, Any] = {}
with open("onefuzz/__version__.py") as fh:
# Exec our own __version__.py to pull out version string
# without import
exec(fh.read(), onefuzz) # nosec
version = onefuzz["__version__"]
if "-v" in sys.argv:
index = sys.argv.index("-v")
sys.argv.pop(index)
version += ".dev" + sys.argv.pop(index)
return cast(str, version)
with open("requirements.txt") as f:
requirements = f.read().splitlines()
# remove any installer options (see pydantic example)
requirements = [x.split(" ")[0] for x in requirements]
setuptools.setup(
name="onefuzz",
version=get_version(),
description="Onefuzz Client Library for Python",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
url="https://github.com/microsoft/onefuzz/",
author="Microsoft Corporation",
author_email="fuzzing@microsoft.com",
license="MIT",
packages=setuptools.find_packages(),
entry_points={"console_scripts": ["onefuzz = onefuzz.__main__:main"]},
install_requires=requirements,
zip_safe=False,
include_package_data=True,
package_data={
"": ["*.md", "*.txt", "onefuzz/data/licenses.json", "onefuzz/data/privacy.txt"]
},
)