From 0816370b1adb02f9def5bf1f882fc8e6b5232525 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 22 Mar 2024 20:11:26 +0200 Subject: [PATCH 1/5] adjustments to pypi --- MANIFEST.in | 2 ++ README.md | 65 ++++++++++++++++++------------------ pr_agent/servers/__init__.py | 0 pyproject.toml | 28 ++++++++-------- requirements.txt | 10 +++--- 5 files changed, 55 insertions(+), 50 deletions(-) create mode 100644 MANIFEST.in create mode 100644 pr_agent/servers/__init__.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..ccb173366 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +recursive-include pr_agent *.toml +recursive-exclude pr_agent *.secrets.toml \ No newline at end of file diff --git a/README.md b/README.md index ad3c04070..80cde6f29 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ - logo + logo +
Making pull requests less painful with an AI agent @@ -59,7 +60,7 @@ If set to true, the tool will add a section that checks if the PR contains sever ## Overview
-CodiumAI PR-Agent is an open-source tool to help efficiently review and handle pull requests. +CodiumAI PR-Agent aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions - See the [Installation Guide](https://pr-agent-docs.codium.ai/installation/) for instructions on installing and running the tool on different git platforms. @@ -71,38 +72,38 @@ Supported commands per platform: | | | GitHub | Gitlab | Bitbucket | Azure DevOps | |-------|-------------------------------------------------------------------------------------------------------------------|:--------------------:|:--------------------:|:--------------------:|:--------------------:| -| TOOLS | Review | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ Incremental | :white_check_mark: | | | | -| | ⮑ [SOC2 Compliance](https://pr-agent-docs.codium.ai/tools/review/#soc2-ticket-compliance) 💎 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Describe | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ [Inline File Summary](https://pr-agent-docs.codium.ai/tools/describe#inline-file-summary) 💎 | :white_check_mark: | | | | -| | Improve | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ Extended | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Ask | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ [Ask on code lines](https://pr-agent-docs.codium.ai/tools/ask#ask-lines) | :white_check_mark: | :white_check_mark: | | | -| | [Custom Suggestions](https://pr-agent-docs.codium.ai/tools/custom_suggestions/) 💎 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | [Test](https://pr-agent-docs.codium.ai/tools/test/) 💎 | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Reflect and Review | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Update CHANGELOG.md | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Find Similar Issue | :white_check_mark: | | | | -| | [Add PR Documentation](https://pr-agent-docs.codium.ai/tools/documentation/) 💎 | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | [Custom Labels](https://pr-agent-docs.codium.ai/tools/custom_labels/) 💎 | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | [Analyze](https://pr-agent-docs.codium.ai/tools/analyze/) 💎 | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | [CI Feedback](https://pr-agent-docs.codium.ai/tools/ci_feedback/) 💎 | :white_check_mark: | | | | -| | [Similar Code](https://pr-agent-docs.codium.ai/tools/similar_code/) 💎 | :white_check_mark: | | | | +| TOOLS | Review | ✅ | ✅ | ✅ | ✅ | +| | ⮑ Incremental | ✅ | | | | +| | ⮑ [SOC2 Compliance](https://pr-agent-docs.codium.ai/tools/review/#soc2-ticket-compliance) 💎 | ✅ | ✅ | ✅ | ✅ | +| | Describe | ✅ | ✅ | ✅ | ✅ | +| | ⮑ [Inline File Summary](https://pr-agent-docs.codium.ai/tools/describe#inline-file-summary) 💎 | ✅ | | | | +| | Improve | ✅ | ✅ | ✅ | ✅ | +| | ⮑ Extended | ✅ | ✅ | ✅ | ✅ | +| | Ask | ✅ | ✅ | ✅ | ✅ | +| | ⮑ [Ask on code lines](https://pr-agent-docs.codium.ai/tools/ask#ask-lines) | ✅ | ✅ | | | +| | [Custom Suggestions](https://pr-agent-docs.codium.ai/tools/custom_suggestions/) 💎 | ✅ | ✅ | ✅ | ✅ | +| | [Test](https://pr-agent-docs.codium.ai/tools/test/) 💎 | ✅ | ✅ | | ✅ | +| | Reflect and Review | ✅ | ✅ | ✅ | ✅ | +| | Update CHANGELOG.md | ✅ | ✅ | ✅ | ✅ | +| | Find Similar Issue | ✅ | | | | +| | [Add PR Documentation](https://pr-agent-docs.codium.ai/tools/documentation/) 💎 | ✅ | ✅ | | ✅ | +| | [Custom Labels](https://pr-agent-docs.codium.ai/tools/custom_labels/) 💎 | ✅ | ✅ | | ✅ | +| | [Analyze](https://pr-agent-docs.codium.ai/tools/analyze/) 💎 | ✅ | ✅ | | ✅ | +| | [CI Feedback](https://pr-agent-docs.codium.ai/tools/ci_feedback/) 💎 | ✅ | | | | +| | [Similar Code](https://pr-agent-docs.codium.ai/tools/similar_code/) 💎 | ✅ | | | | | | | | | | | -| USAGE | CLI | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | App / webhook | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Tagging bot | :white_check_mark: | | | | -| | Actions | :white_check_mark: | | :white_check_mark: | | +| USAGE | CLI | ✅ | ✅ | ✅ | ✅ | +| | App / webhook | ✅ | ✅ | ✅ | ✅ | +| | Tagging bot | ✅ | | | | +| | Actions | ✅ | | ✅ | | | | | | | | | -| CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Adaptive and token-aware file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | [Static code analysis](https://pr-agent-docs.codium.ai/core-abilities/#static-code-analysis) 💎 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | [Global and wiki configurations](https://pr-agent-docs.codium.ai/usage-guide/configuration_options/) 💎 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | [PR interactive actions](https://www.codium.ai/images/pr_agent/pr-actions.mp4) 💎 | :white_check_mark: | | | | +| CORE | PR compression | ✅ | ✅ | ✅ | ✅ | +| | Repo language prioritization | ✅ | ✅ | ✅ | ✅ | +| | Adaptive and token-aware file patch fitting | ✅ | ✅ | ✅ | ✅ | +| | Multiple models support | ✅ | ✅ | ✅ | ✅ | +| | [Static code analysis](https://pr-agent-docs.codium.ai/core-abilities/#static-code-analysis) 💎 | ✅ | ✅ | ✅ | ✅ | +| | [Global and wiki configurations](https://pr-agent-docs.codium.ai/usage-guide/configuration_options/) 💎 | ✅ | ✅ | ✅ | ✅ | +| | [PR interactive actions](https://www.codium.ai/images/pr_agent/pr-actions.mp4) 💎 | ✅ | | | | - 💎 means this feature is available only in [PR-Agent Pro](https://www.codium.ai/pricing/) [//]: # (- Support for additional git providers is described in [here](./docs/Full_environments.md)) diff --git a/pr_agent/servers/__init__.py b/pr_agent/servers/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pyproject.toml b/pyproject.toml index 37be93e36..f4be63714 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,44 +3,44 @@ requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] -name = "pr_agent" -version = "0.0.1" +name = "pr-agent" +version = "0.2.0" + +authors = [{name= "CodiumAI", email = "tal.r@codium.ai"}] -authors = [ - {name = "Itamar Friedman", email = "itamar.f@codium.ai"}, -] maintainers = [ - {name = "Ori Kotek", email = "ori.k@codium.ai"}, {name = "Tal Ridnik", email = "tal.r@codium.ai"}, + {name = "Ori Kotek", email = "ori.k@codium.ai"}, {name = "Hussam Lawen", email = "hussam.l@codium.ai"}, - {name = "Sagi Medina", email = "sagi.m@codium.ai"} ] -description = "CodiumAI PR-Agent is an open-source tool to automatically analyze a pull request and provide several types of feedback" + +description = "CodiumAI PR-Agent aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions." readme = "README.md" requires-python = ">=3.10" -keywords = ["ai", "tool", "developer", "review", "agent"] -license = {file = "LICENSE", name = "Apache 2.0 License"} +keywords = ["AI", "Agents", "Pull Request", "Automation", "Code Review"] +license = {name = "Apache 2.0", file = "LICENSE"} + classifiers = [ - "Development Status :: 3 - Alpha", "Intended Audience :: Developers", - "Operating System :: Independent", "Programming Language :: Python :: 3", ] dynamic = ["dependencies"] + [tool.setuptools.dynamic] dependencies = {file = ["requirements.txt"]} [project.urls] "Homepage" = "https://github.com/Codium-ai/pr-agent" +"Documentation" = "https://pr-agent-docs.codium.ai/" [tool.setuptools] -include-package-data = false +include-package-data = true license-files = ["LICENSE"] [tool.setuptools.packages.find] where = ["."] -include = ["pr_agent"] +include = ["pr_agent*"] # include pr_agent and any sub-packages it finds under it. [project.scripts] pr-agent = "pr_agent.cli:run" diff --git a/requirements.txt b/requirements.txt index 97df2f93f..924d2bb25 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,9 +13,6 @@ litellm==1.31.10 loguru==0.7.2 msrest==0.7.1 openai==1.13.3 -pinecone-client -pinecone-datasets @ git+https://github.com/mrT23/pinecone-datasets.git@main -lancedb==0.5.1 pytest==7.4.0 PyGithub==1.59.* PyYAML==6.0.1 @@ -26,4 +23,9 @@ tiktoken==0.5.2 ujson==5.8.0 uvicorn==0.22.0 tenacity==8.2.3 -# langchain==0.0.349 # uncomment this to support language LangChainOpenAIHandler +# Uncomment the following lines to enable the 'similar issue' tool +# pinecone-client +# pinecone-datasets @ git+https://github.com/mrT23/pinecone-datasets.git@main +# lancedb==0.5.1 +# uncomment this to support language LangChainOpenAIHandler +# langchain==0.0.349 From 2fccadc469512b4b47ab528c8539b5698fc94533 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 22 Mar 2024 21:43:41 +0200 Subject: [PATCH 2/5] adjustments to pypi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80cde6f29..831d67dec 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ - logo + logo
From 9a466901214fb1d10a832bf62fa3185d3722de77 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Sat, 23 Mar 2024 09:55:08 +0200 Subject: [PATCH 3/5] adjustments to pypi --- docs/docs/installation/locally.md | 43 ++++++++++++++ .../docs/usage-guide/automations_and_usage.md | 2 +- pr_agent/cli.py | 58 ++++++++++--------- pr_agent/cli_pip.py | 30 ++++++++++ pr_agent/tools/pr_questions.py | 3 +- pr_agent/tools/pr_similar_issue.py | 14 +++-- 6 files changed, 117 insertions(+), 33 deletions(-) create mode 100644 pr_agent/cli_pip.py diff --git a/docs/docs/installation/locally.md b/docs/docs/installation/locally.md index 32ba77aeb..13f7d5d49 100644 --- a/docs/docs/installation/locally.md +++ b/docs/docs/installation/locally.md @@ -1,3 +1,46 @@ +## Using Pip package + +1. Install the package: + +``` +pip install pr-agent +``` + +2. Run the relevant tool. Make sure to fill in the required parameters (`user_token`, `openai_key`, `pr_url`, `command`): + +```python +from pr_agent import cli +from pr_agent.config_loader import get_settings +from pr_agent.log import setup_logger + +setup_logger() + + +def main(): + # Fill in the following values + provider = "github" # GitHub provider + user_token = "..." # GitHub user token + openai_key = "..." # OpenAI key + pr_url = "..." # PR URL, for example 'https://github.com/Codium-ai/pr-agent/pull/809' + command = "/review" # Command to run (e.g. '/review', '/describe', '/ask="What is the purpose of this PR?"', ...) + + # Setting the configurations + get_settings().set("CONFIG.git_provider", provider) + get_settings().set("openai.key", openai_key) + get_settings().set("github.user_token", user_token) + + # Preparing the command + run_command = f"--pr_url={pr_url} {command.lstrip('/')}" + args = cli.set_parser().parse_args(run_command.split()) + + # Run the command. Feedback will appear in GitHub PR comments + cli.run(args=args) + + +if __name__ == '__main__': + main() +``` + ## Use Docker image (no installation required) A list of the relevant tools can be found in the [tools guide](../tools/ask.md). diff --git a/docs/docs/usage-guide/automations_and_usage.md b/docs/docs/usage-guide/automations_and_usage.md index ba21b9987..d20516fd5 100644 --- a/docs/docs/usage-guide/automations_and_usage.md +++ b/docs/docs/usage-guide/automations_and_usage.md @@ -1,5 +1,5 @@ ## Local repo (CLI) -When running from your local repo (CLI), your local configuration file will be used. +When running from your locally cloned PR-Agent repo (CLI), your local configuration file will be used. Examples of invoking the different tools via the CLI: - **Review**: `python -m pr_agent.cli --pr_url= review` diff --git a/pr_agent/cli.py b/pr_agent/cli.py index 83faaf8e0..53feeb74e 100644 --- a/pr_agent/cli.py +++ b/pr_agent/cli.py @@ -9,48 +9,52 @@ log_level = os.environ.get("LOG_LEVEL", "INFO") setup_logger(log_level) - - -def run(inargs=None): +def set_parser(): parser = argparse.ArgumentParser(description='AI based pull request analyzer', usage= -"""\ -Usage: cli.py --pr-url= []. -For example: -- cli.py --pr_url=... review -- cli.py --pr_url=... describe -- cli.py --pr_url=... improve -- cli.py --pr_url=... ask "write me a poem about this PR" -- cli.py --pr_url=... reflect -- cli.py --issue_url=... similar_issue + """\ + Usage: cli.py --pr-url= []. + For example: + - cli.py --pr_url=... review + - cli.py --pr_url=... describe + - cli.py --pr_url=... improve + - cli.py --pr_url=... ask "write me a poem about this PR" + - cli.py --pr_url=... reflect + - cli.py --issue_url=... similar_issue -Supported commands: -- review / review_pr - Add a review that includes a summary of the PR and specific suggestions for improvement. + Supported commands: + - review / review_pr - Add a review that includes a summary of the PR and specific suggestions for improvement. -- ask / ask_question [question] - Ask a question about the PR. + - ask / ask_question [question] - Ask a question about the PR. -- describe / describe_pr - Modify the PR title and description based on the PR's contents. + - describe / describe_pr - Modify the PR title and description based on the PR's contents. -- improve / improve_code - Suggest improvements to the code in the PR as pull request comments ready to commit. -Extended mode ('improve --extended') employs several calls, and provides a more thorough feedback + - improve / improve_code - Suggest improvements to the code in the PR as pull request comments ready to commit. + Extended mode ('improve --extended') employs several calls, and provides a more thorough feedback -- reflect - Ask the PR author questions about the PR. + - reflect - Ask the PR author questions about the PR. -- update_changelog - Update the changelog based on the PR's contents. + - update_changelog - Update the changelog based on the PR's contents. -- add_docs + - add_docs -- generate_labels + - generate_labels -Configuration: -To edit any configuration parameter from 'configuration.toml', just add -config_path=. -For example: 'python cli.py --pr_url=... review --pr_reviewer.extra_instructions="focus on the file: ..."' -""") + Configuration: + To edit any configuration parameter from 'configuration.toml', just add -config_path=. + For example: 'python cli.py --pr_url=... review --pr_reviewer.extra_instructions="focus on the file: ..."' + """) parser.add_argument('--pr_url', type=str, help='The URL of the PR to review', default=None) parser.add_argument('--issue_url', type=str, help='The URL of the Issue to review', default=None) parser.add_argument('command', type=str, help='The', choices=commands, default='review') parser.add_argument('rest', nargs=argparse.REMAINDER, default=[]) - args = parser.parse_args(inargs) + return parser + + +def run(inargs=None, args=None): + parser = set_parser() + if not args: + args = parser.parse_args(inargs) if not args.pr_url and not args.issue_url: parser.print_help() return diff --git a/pr_agent/cli_pip.py b/pr_agent/cli_pip.py new file mode 100644 index 000000000..cdab37e94 --- /dev/null +++ b/pr_agent/cli_pip.py @@ -0,0 +1,30 @@ +from pr_agent import cli +from pr_agent.config_loader import get_settings +from pr_agent.log import setup_logger + +setup_logger() + + +def main(): + # Fill in the following values + provider = "github" # GitHub provider + user_token = "..." # GitHub user token + openai_key = "..." # OpenAI key + pr_url = "..." # PR URL, for example 'https://github.com/Codium-ai/pr-agent/pull/809' + command = "/review" # Command to run (e.g. '/review', '/describe', '/ask="What is the purpose of this PR?"') + + # Setting the configurations + get_settings().set("CONFIG.git_provider", provider) + get_settings().set("openai.key", openai_key) + get_settings().set("github.user_token", user_token) + + # Preparing the command + run_command = f"--pr_url={pr_url} {command.lstrip('/')}" + args = cli.set_parser().parse_args(run_command.split()) + + # Run the command. Feedback will appear in GitHub PR comments + cli.run(args=args) + + +if __name__ == '__main__': + main() diff --git a/pr_agent/tools/pr_questions.py b/pr_agent/tools/pr_questions.py index 3849029d2..4e1d3c1e6 100644 --- a/pr_agent/tools/pr_questions.py +++ b/pr_agent/tools/pr_questions.py @@ -17,6 +17,7 @@ class PRQuestions: def __init__(self, pr_url: str, args=None, ai_handler: partial[BaseAiHandler,] = LiteLLMAIHandler): question_str = self.parse_args(args) + self.pr_url = pr_url self.git_provider = get_git_provider()(pr_url) self.main_pr_language = get_main_pr_language( self.git_provider.get_languages(), self.git_provider.get_files() @@ -49,7 +50,7 @@ def parse_args(self, args): return question_str async def run(self): - get_logger().info('Answering a PR question...') + get_logger().info(f'Answering a PR question about the PR {self.pr_url} ') relevant_configs = {'pr_questions': dict(get_settings().pr_questions), 'config': dict(get_settings().config)} get_logger().debug("Relevant configs", artifacts=relevant_configs) diff --git a/pr_agent/tools/pr_similar_issue.py b/pr_agent/tools/pr_similar_issue.py index 485331c0e..1a4d794ab 100644 --- a/pr_agent/tools/pr_similar_issue.py +++ b/pr_agent/tools/pr_similar_issue.py @@ -3,9 +3,6 @@ from typing import List import openai -import pandas as pd -import pinecone -from pinecone_datasets import Dataset, DatasetMetadata from pydantic import BaseModel, Field from pr_agent.algo import MAX_TOKENS @@ -36,6 +33,12 @@ def __init__(self, issue_url: str, ai_handler, args: list = None): index_name = self.index_name = "codium-ai-pr-agent-issues" if get_settings().pr_similar_issue.vectordb == "pinecone": + try: + import pinecone + from pinecone_datasets import Dataset, DatasetMetadata + import pandas as pd + except: + raise Exception("Please install 'pinecone' and 'pinecone_datasets' to use pinecone as vectordb") # assuming pinecone api key and environment are set in secrets file try: api_key = get_settings().pinecone.api_key @@ -107,7 +110,10 @@ def __init__(self, issue_url: str, ai_handler, args: list = None): get_logger().info('No new issues to update') elif get_settings().pr_similar_issue.vectordb == "lancedb": - import lancedb # import lancedb only if needed + try: + import lancedb # import lancedb only if needed + except: + raise Exception("Please install lancedb to use lancedb as vectordb") self.db = lancedb.connect(get_settings().lancedb.uri) self.table = None From cfea8caf1c5d0540ecceca037cb10aa30501d5ff Mon Sep 17 00:00:00 2001 From: mrT23 Date: Sat, 23 Mar 2024 11:13:20 +0200 Subject: [PATCH 4/5] adjustments to pypi --- README.md | 3 +++ docs/docs/installation/locally.md | 14 ++++++-------- requirements-dev.txt | 2 ++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 831d67dec..d5cfb7a25 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,9 @@ Making pull requests less painful with an AI agent ## News and Updates +### Jan 24, 2024 +PR-Agent is now available for easy installation via [pip](https://pr-agent-docs.codium.ai/installation/locally/#using-pip-package). + ### Jan 17, 2024 - A new feature is now available for the review tool: [`require_can_be_split_review`](https://pr-agent-docs.codium.ai/tools/review/#enabledisable-features). If set to true, the tool will add a section that checks if the PR contains several themes, and can be split into smaller PRs. diff --git a/docs/docs/installation/locally.md b/docs/docs/installation/locally.md index 13f7d5d49..e493862ad 100644 --- a/docs/docs/installation/locally.md +++ b/docs/docs/installation/locally.md @@ -1,20 +1,18 @@ -## Using Pip package +## Using pip package -1. Install the package: +Install the package: ``` pip install pr-agent ``` -2. Run the relevant tool. Make sure to fill in the required parameters (`user_token`, `openai_key`, `pr_url`, `command`): +Then run the relevant tool with the script below. +
+Make sure to fill in the required parameters (`user_token`, `openai_key`, `pr_url`, `command`): ```python from pr_agent import cli from pr_agent.config_loader import get_settings -from pr_agent.log import setup_logger - -setup_logger() - def main(): # Fill in the following values @@ -41,7 +39,7 @@ if __name__ == '__main__': main() ``` -## Use Docker image (no installation required) +## Using Docker image A list of the relevant tools can be found in the [tools guide](../tools/ask.md). diff --git a/requirements-dev.txt b/requirements-dev.txt index 70613be0c..1af82d005 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1 +1,3 @@ pytest==7.4.0 +poetry +twine \ No newline at end of file From 8e39394bcfa8ab8555c27ae8d38e0c2960c700a7 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Sat, 23 Mar 2024 11:16:21 +0200 Subject: [PATCH 5/5] adjustments to pypi --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d5cfb7a25..0f1078708 100644 --- a/README.md +++ b/README.md @@ -33,19 +33,19 @@ Making pull requests less painful with an AI agent ## News and Updates -### Jan 24, 2024 +### March 24, 2024 PR-Agent is now available for easy installation via [pip](https://pr-agent-docs.codium.ai/installation/locally/#using-pip-package). -### Jan 17, 2024 +### March 17, 2024 - A new feature is now available for the review tool: [`require_can_be_split_review`](https://pr-agent-docs.codium.ai/tools/review/#enabledisable-features). If set to true, the tool will add a section that checks if the PR contains several themes, and can be split into smaller PRs. -### Jan 10, 2024 +### March 10, 2024 - A new [knowledge-base website](https://pr-agent-docs.codium.ai/) for PR-Agent is now available. It includes detailed information about the different tools, usage guides and more, in an accessible and organized format. -### Jan 8, 2024 +### March 8, 2024 - A new tool, [Find Similar Code](https://pr-agent-docs.codium.ai/tools/similar_code/) 💎 is now available.
This tool retrieves the most similar code components from inside the organization's codebase, or from open-source code: @@ -244,7 +244,8 @@ To use your own version of PR-Agent, you first need to acquire two tokens: There are several ways to use PR-Agent: **Locally** -- [Use Docker image (no installation required)](https://pr-agent-docs.codium.ai/installation/locally/#use-docker-image-no-installation-required) +- [Using pip package](https://pr-agent-docs.codium.ai/installation/locally/#using-pip-package) +- [Using Docker image](https://pr-agent-docs.codium.ai/installation/locally/#using-docker-image) - [Run from source](https://pr-agent-docs.codium.ai/installation/locally/#run-from-source) **GitHub specific methods**