# WARNING # # THIS IS AN AUTOGENERATED FILE. # # MANUAL CHANGES CAN AND WILL BE OVERWRITTEN. import re from setuptools import setup PACKAGE_NAME = 'fin_defs' PACKAGE_DESCRIPTION = """ # Finance Definitions. Python library defining base types for financial processing. Defines a base `Asset` type, and various subtypes, for universal representation of these assets. Defined hierarchy: * `Asset` - `Currency` + `FiatCurrency` + `CryptoCurrency` - `Stock` - `Index` - `Commodity` """.strip() PACKAGE_DESCRIPTION_SHORT = """ Python library defining base types for financial processing.""".strip() def parse_version_file(text: str) -> str: match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text) if match is None: msg = 'Malformed _version.py file!' raise Exception(msg) return match.group(2) with open(PACKAGE_NAME + '/_version.py') as f: version = parse_version_file(f.read()) def parse_requirements(text: str) -> list[str]: return text.strip().split('\n') def read_requirements(path: str) -> list[str]: with open(path) as f: return parse_requirements(f.read()) REQUIREMENTS_MAIN = """ enforce-typing""" REQUIREMENTS_TEST = """ pytest""" setup( name=PACKAGE_NAME, version=version, description=PACKAGE_DESCRIPTION_SHORT, long_description=PACKAGE_DESCRIPTION, long_description_content_type='text/markdown', author='Jon Michael Aanes', author_email='jonjmaa@gmail.com', url='https://gitfub.space/Jmaa/' + PACKAGE_NAME, packages=[PACKAGE_NAME], install_requires=parse_requirements(REQUIREMENTS_MAIN), extras_require={ 'test': parse_requirements(REQUIREMENTS_TEST), }, python_requires='>=3.9', )