1
0
personal-data/setup.py

103 lines
2.5 KiB
Python
Raw Normal View History

2024-05-27 19:56:28 +00:00
# WARNING
#
# THIS IS AN AUTOGENERATED FILE.
#
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN.
2024-03-31 22:53:09 +00:00
import re
from setuptools import setup
PACKAGE_NAME = 'personal_data'
PACKAGE_DESCRIPTION = """
# Personal Data Fetcher Systems
This is a collection of small fetchers for personal data spread around the internet.
Supported fetchers:
- Crunchyroll episode watch history
- FFXIV Lodestone achivement history
- Partisia Blockchain BYOC and MPC trackers
- Playstation achievements by way of PSN Profiles.
- Kraken Account Balances (Using [API](https://docs.kraken.com/rest/#tag/Account-Data/operation/getAccountBalance))
- Kucoin Account Balances (Using [API](https://www.kucoin.com/docs/rest/account/basic-info/get-account-list-spot-margin-trade_hf))
## Usage
```sh
python -m personal_data
```
2024-03-31 22:53:09 +00:00
## Ideas for more fetchers
- [ ] YouTube (Music): Liked videos with title and URL.
- [ ] Steam Wishlist and Achievements
- [ ] fredagscafeen.dk
- [ ] [WaniKani](https://docs.api.wanikani.com)
- [ ] Ledger (Live?) Account Balances
## License
This project is licensed under MIT Licence, see LICENSE for full text."""
PACKAGE_DESCRIPTION_SHORT='This is a collection of small fetchers for personal data spread around the internet.'
2024-06-02 21:16:11 +00:00
2024-05-29 18:29:11 +00:00
def parse_version_file(text: str) -> str:
2024-03-31 22:53:09 +00:00
match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text)
2024-05-29 18:29:11 +00:00
if match is None:
msg = 'Malformed _version.py file!'
raise Exception(msg)
return match.group(2)
2024-03-31 22:53:09 +00:00
2024-06-02 21:16:11 +00:00
2024-05-29 18:29:11 +00:00
with open(PACKAGE_NAME + '/_version.py') as f:
version = parse_version_file(f.read())
2024-05-22 21:21:29 +00:00
2024-06-02 21:16:11 +00:00
2024-05-22 21:21:29 +00:00
def parse_requirements(text: str) -> list[str]:
return text.strip().split('\n')
2024-05-29 18:29:11 +00:00
def read_requirements(path: str) -> list[str]:
2024-05-22 21:21:29 +00:00
with open(path) as f:
return parse_requirements(f.read())
2024-03-31 22:53:09 +00:00
2024-05-22 21:21:29 +00:00
REQUIREMENTS_MAIN = """
beautifulsoup4
lxml
requests
requests_cache
browsercookie
cfscrape
frozendict
python-kucoin
krakenex
fin-depo @ git+https://gitfub.space/Jmaa/fin-depo.git
secret_loader @ https://gitfub.space/Jmaa/secret_loader
2024-05-22 21:21:29 +00:00
"""
REQUIREMENTS_TEST = """
pytest
"""
2024-03-31 22:53:09 +00:00
setup(
name=PACKAGE_NAME,
version=version,
description=PACKAGE_DESCRIPTION_SHORT,
long_description=PACKAGE_DESCRIPTION,
2024-03-31 22:53:09 +00:00
long_description_content_type='text/markdown',
author='Jmaa',
author_email='jonjmaa@gmail.com',
url='https://gitfub.space/Jmaa/' + PACKAGE_NAME,
packages=[PACKAGE_NAME],
2024-05-22 21:21:29 +00:00
install_requires=parse_requirements(REQUIREMENTS_MAIN),
extras_require={
'test': parse_requirements(REQUIREMENTS_TEST),
},
python_requires='>=3.9',
2024-03-31 22:53:09 +00:00
)