1
0
fin-depo/setup.py
2024-07-10 23:39:53 +02:00

98 lines
2.2 KiB
Python

# WARNING
#
# THIS IS AN AUTOGENERATED FILE.
#
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN.
import re
from setuptools import setup
PACKAGE_NAME = 'fin_depo'
PACKAGE_DESCRIPTION = """
# Financial Depository Fetchers.
Python library for automatic fetching of personal asset depo information.
Supports:
- **Kraken**: Uses their API
- **Kucoin**: Uses their API
- **Partisia Blockchain Account**: Uses a reader node to check the account
state.
- **Nordnet**: Through their
[API](https://www.nordnet.dk/externalapi/docs/api). Thanks to [Morten
Helmstedt](https://helmstedt.dk/) for sharing his [Nordnet
utilities](https://github.com/helmstedt/nordnet-utilities),
which helped a lot.
## TODO
- [ ] Investment Bank: Saxo Bank OpenAPI
- [ ] Personal Bank: Personal Bank Account (Open Banking) Maybe use AIIA?
# License
```
Copyright (c) 2024 Jon Michael Aanes
All rights reserved.
```"""
PACKAGE_DESCRIPTION_SHORT = (
'Python library for automatic fetching of personal asset depo information.'
)
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
python-kucoin
krakenex
frozendict
fin-defs @ git+https://gitfub.space/Jmaa/fin-defs.git"""
REQUIREMENTS_TEST = """
pytest
secret_loader @ https://gitfub.space/Jmaa/secret_loader"""
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',
)