# WARNING # # THIS IS AN AUTOGENERATED FILE. # # MANUAL CHANGES CAN AND WILL BE OVERWRITTEN. import re from setuptools import setup PACKAGE_NAME = 'git_time_tracker' PACKAGE_DESCRIPTION = """ # Git-based Time Tracker. Quick and dirty time tracker on git histories. Uses the simple heuristics that each commit takes precisely one hour of work. It will automatically trim commits below one hour if another commit occurred less than an hour ago. Usage: ``` python -m git_time_tracker REPO1 REPO2... ``` # Obligatory This tool reports: ``` project Jmaa/git-time-tracker.git 3h 33m (2024) ``` And the ([Hamster](https://github.com/projecthamster/hamster)) manual time tracker reports: ![](docs/obligatory-hamster.png) # License ``` Copyright (c) 2024 Jon Michael Aanes All rights reserved. ```""" PACKAGE_DESCRIPTION_SHORT = ( 'Quick and dirty time tracker on git histories.' ) 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 = """ GitPython""" 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', )