# WARNING # # THIS IS AN AUTOGENERATED FILE. # # MANUAL CHANGES CAN AND WILL BE OVERWRITTEN. import re from setuptools import setup PACKAGE_NAME = 'aider_gitea' PACKAGE_DESCRIPTION = """ Aider Gitea. A code automation tool that integrates Gitea with Aider to automatically solve issues. This program monitors your [Gitea](https://about.gitea.com/) repository for issues with the 'aider' label. When such an issue is found, it: 1. Creates a new branch. 2. Invokes [Aider](https://aider.chat/) to solve the issue using a Large-Language Model. 3. Runs tests and code quality checks. 4. Creates a pull request with the solution. ## Usage An application token must be supplied for the `gitea_token` secret. This must have the following permissions: - `read:issue`: To be able to read issues on the specified repository. - `write:repository`: To be able to create pull requests. - `read:user`: Needed to iterate all user's repositories. ### Command Line ```bash # Run with default settings python -m aider_gitea # Specify custom repository and owner python -m aider_gitea --owner myorg --repo myproject # Use a custom Gitea URL python -m aider_gitea --gitea-url https://gitea.example.com # Specify a different base branch python -m aider_gitea --base-branch develop ``` ### Python API ```python from aider_gitea import solve_issue_in_repository from pathlib import Path # Solve an issue programmatically args = argparse.Namespace( gitea_url="https://gitea.example.com", owner="myorg", repo="myproject", base_branch="main" ) solve_issue_in_repository( args, Path("/path/to/repo"), "issue-123-fix-bug", "Fix critical bug", "The application crashes when processing large files", "123" ) ``` ### Environment Configuration The tool uses environment variables for sensitive information: - `GITEA_TOKEN`: Your Gitea API token - `LLM_API_KEY`: API key for the language model used by Aider ``` """.strip() PACKAGE_DESCRIPTION_SHORT = """ Aider Gitea.""".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()) REQUIREMENTS_MAIN = [ 'secret_loader @ git+https://gitfub.space/Jmaa/secret_loader.git', ] REQUIREMENTS_TEST = [] 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=REQUIREMENTS_MAIN, extras_require={ 'test': REQUIREMENTS_TEST, }, python_requires='>=3.9', )