pr-insight

View on PyPIReverse Dependencies (0)

0.2.1 pr_insight-0.2.1-py3-none-any.whl

Wheel Details

Project: pr-insight
Version: 0.2.1
Filename: pr_insight-0.2.1-py3-none-any.whl
Download: [link]
Size: 196092
MD5: 717cfdca0978425eb2af599608e437fd
SHA256: c5ce9e7774123e2213cc66700de56b379bec4f32037b1fbbb8c925900de238c0
Uploaded: 2024-08-13 06:16:46 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: pr-insight
Version: 0.2.1
Summary: KhulnaSoftAI PR-Insight aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions.
Author-Email: KhulnaSoftAI <tal.r[at]khulnasoft.com>
Maintainer-Email: Tal Ridnik <tal.r[at]khulnasoft.com>, Ori Kotek <ori.k[at]khulnasoft.com>, Hussam Lawen <hussam.l[at]khulnasoft.com>
Project-Url: Homepage, https://github.com/KhulnaSoft/pr-insight
Project-Url: Documentation, https://pr-insight-docs.khulnasoft.com/
License: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [2023] [KhulnaSoft ltd] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Keywords: AI,Insights,Pull Request,Automation,Code Review
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: aiohttp (==3.9.4)
Requires-Dist: anthropic[vertex] (==0.21.3)
Requires-Dist: atlassian-python-api (==3.41.4)
Requires-Dist: azure-devops (==7.1.0b3)
Requires-Dist: azure-identity (==1.15.0)
Requires-Dist: boto3 (==1.33.6)
Requires-Dist: dynaconf (==3.2.4)
Requires-Dist: readyapi (==0.110.3)
Requires-Dist: GitPython (==3.1.41)
Requires-Dist: google-cloud-aiplatform (==1.38.0)
Requires-Dist: google-cloud-storage (==2.10.0)
Requires-Dist: Jinja2 (==3.1.2)
Requires-Dist: litellm (==1.40.17)
Requires-Dist: loguru (==0.7.2)
Requires-Dist: msrest (==0.7.1)
Requires-Dist: openai (==1.35.1)
Requires-Dist: pytest (==7.4.0)
Requires-Dist: PyGithub (==1.59.*)
Requires-Dist: PyYAML (==6.0.1)
Requires-Dist: python-gitlab (==3.15.0)
Requires-Dist: retry (==0.9.2)
Requires-Dist: starlette-context (==0.3.6)
Requires-Dist: tiktoken (==0.7.0)
Requires-Dist: ujson (==5.8.0)
Requires-Dist: uvicorn (==0.22.0)
Requires-Dist: tenacity (==8.2.3)
Requires-Dist: gunicorn (==22.0.0)
Requires-Dist: pytest-cov (==5.0.0)
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 17305 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (72.1.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
pr_insight/__init__.py sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs 1
pr_insight/cli.py sha256=0K0S_i89RLNy1wQoPvdAArpuYXLWHK6-PE_rY3Wgczw 2921
pr_insight/cli_pip.py sha256=KjbPC8GwFDRU6Z_lksVwfIWa8hlD1a3qP-zs4hsEpy4 797
pr_insight/config_loader.py sha256=tNwr-zy6-FUf10cofU9Ppe0bi1Eso-a0rZKR3R7c87s 2535
pr_insight/algo/__init__.py sha256=hU0g4Wo6wSAdXrX4EUzwEpSACfA6W5O_lfJjSWFOQvw 3013
pr_insight/algo/file_filter.py sha256=E7t8PztQX3-6coO-O09gKlIAroUMXgC7M3rWX75dk34 1653
pr_insight/algo/git_patch_processing.py sha256=91u6uRol-H6H2hC_Wre83uOOpGvX9ZfGiZJZQRFRpZg 13395
pr_insight/algo/language_handler.py sha256=9TNgLoEzbsl_MRNV0IDhZKKqV0W5aCZZah1AVgeLGJI 3179
pr_insight/algo/pr_processing.py sha256=7H4vcJHgutA8DsriyKrCYz30WJ4P2gQRMvTO9_G9h_s 22937
pr_insight/algo/token_handler.py sha256=iQluyvhJe6K0EnHaMzt0V_7Cx4wpBFrLgbrG3FSIwGc 3343
pr_insight/algo/types.py sha256=oy6w6lkPkVm_9cOq9X6Ac5HJhnwfZvjueozd-dsjT7c 419
pr_insight/algo/utils.py sha256=EapTANuyWUGA_reBcgqDq40-hx17oaywOvF93iaJQAY 40451
pr_insight/algo/ai_handlers/base_ai_handler.py sha256=xI5wiyjCFMCz8w3gz5OZPbW-6uPLGIVF6OXe4xom_LA 909
pr_insight/algo/ai_handlers/langchain_ai_handler.py sha256=c4TnLw3JjEKmDv3WOKlitLdqi7KKL7ZKhDOBKwN0BzU 3248
pr_insight/algo/ai_handlers/litellm_ai_handler.py sha256=U587vkjFjQq6qSi2zF52anW33M1YzqF40_3Ss_mj1r0 8549
pr_insight/algo/ai_handlers/openai_ai_handler.py sha256=m703KSN0WS0XxqPL9M1zGQs86JERUu7ekYI3dygob1c 2950
pr_insight/git_providers/__init__.py sha256=7IUluK3_2oj6uXNzT5seHJL8_0repMeQyqrMiBF39wk 2606
pr_insight/git_providers/azuredevops_provider.py sha256=WbfIdn8Yas0N33vSTa58k3zccpobJfb7yys1l1n6OA0 26249
pr_insight/git_providers/bitbucket_provider.py sha256=ktoT2Im0-d5zQXXxcaPvW7xBT3KNU17CG8kJvPUUhqk 19971
pr_insight/git_providers/bitbucket_server_provider.py sha256=Kz16O4TmCHjwhCWnnBXYnGbwQONNDRf3bTpSzOnZxIo 16888
pr_insight/git_providers/codecommit_client.py sha256=3T5lbyfLMwDXkxfDrwP2AF8lpYv1Sq7vwG4-LRcJJcY 12545
pr_insight/git_providers/codecommit_provider.py sha256=CzRWHJluu_QZAYTCBRc8_xK6JBPM5wBNN8LKB4Jw52s 19394
pr_insight/git_providers/gerrit_provider.py sha256=eb1jD6HAnvZnf9Sgjvq4a138aKSciZ5UExOu6jckA4E 12802
pr_insight/git_providers/git_provider.py sha256=cooOM0JY1jbhGBePP23-UDTOFuRalq4qUqF5iZkqfDM 13660
pr_insight/git_providers/github_provider.py sha256=M_BOo4IJfFRYq43IVdbLM_eWSHeaNerF8kx3LF0X43E 38536
pr_insight/git_providers/gitlab_provider.py sha256=tKpN2jbp3qW4jA4qyQlmE4QfYJgHqS9NV9HAprUQ0Fk 25320
pr_insight/git_providers/local_git_provider.py sha256=pDaznh4hU-frk4PpOuRvrwjf5FU53MROGkrRpaDOn4k 8031
pr_insight/git_providers/utils.py sha256=5gXWZzb6PW-3E6rALvIIQqu82A4PfY_ucJiNjVdXPg0 2615
pr_insight/identity_providers/__init__.py sha256=QpDJ1_O5bY5okRbBo1xSDlNVeXGbIqhRUtrB5oo4Rxg 513
pr_insight/identity_providers/default_identity_provider.py sha256=CZenEwt_mTImf0BYMk9LHDIZrMKHQxeDCw5FaSSeuyM 331
pr_insight/identity_providers/identity_provider.py sha256=J9EJUcMwGNIEcOUBZTPsseAE28RXl8_imgV05TElGEc 374
pr_insight/insight/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
pr_insight/insight/pr_insight.py sha256=YQewQXrqFdO7pmdXTccxzILwsiRtlL9bsNua9aIz5yU 4019
pr_insight/log/__init__.py sha256=kR5fu4ntn5k75arwd9Oadg6nKKO4WjkVURpjvl18s3o 1704
pr_insight/secret_providers/__init__.py sha256=8-o2e4p1ECOhPspY2blmKuMMXFZpigehG4ITTlZCSzw 656
pr_insight/secret_providers/google_cloud_storage_secret_provider.py sha256=v6Xq8SIElmZerpKvLWIWJhlLPWeegzHR1QJAITG_TBA 1448
pr_insight/secret_providers/secret_provider.py sha256=ww7td7SgF9rK_nkR4Or_ci2xtCJZe5mI6kk-cqfdJ28 249
pr_insight/servers/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
pr_insight/servers/azuredevops_server_webhook.py sha256=OgE4l5dINC6WXpq2-LanhnZlVylbeabQbg1MP8VCTkw 6385
pr_insight/servers/bitbucket_app.py sha256=ZFT0CQ7rJPaOsIFNAiQwn2eXSJCPhaT-9KxcEwTm1nY 9719
pr_insight/servers/bitbucket_server_webhook.py sha256=cFXxh4yhl9ZeyrlVgcC5mUDkvAhYtR8_2enZcL--A3Y 5581
pr_insight/servers/gerrit_server.py sha256=mSohxu3-Z-xDTONNwDuEwt6kWyEs5QscnsqeogPEt-Q 1878
pr_insight/servers/github_action_runner.py sha256=P9EOs7suohCB26lX6-BSZWlJq4BhLad1sfIZEQifapo 6795
pr_insight/servers/github_app.py sha256=mRwD1sWfSsVJ3x_a0FPuDSBZDQJMfQYXEvDSnv1uD28 17271
pr_insight/servers/github_polling.py sha256=MYVOB8nUvzsue_k7cIcqFd-ylq_0JJu4tyM7Xah8v_U 5437
pr_insight/servers/gitlab_webhook.py sha256=5Q0GJaaZs2g2PsgHIZM5gkiGd32qsxXLK41MkzEPsCs 9959
pr_insight/servers/gunicorn_config.py sha256=4jkRp1RVwobBs41ACC53FApK-Im3_4YlcXqPJVxRLEs 5840
pr_insight/servers/help.py sha256=nU5kYeHRjOmKPT8ifhx3AZ4tRmm-mEAOJFHYRCuk6bQ 10851
pr_insight/servers/serverless.py sha256=r6b7i8LmsJm5QPreDw2igU5Jfc-G835Q90z_S7Dzfo4 435
pr_insight/servers/utils.py sha256=i0XaH88ArmwO5Lz7SRedRhspoecGZKQmMKlgKt1Ua5I 3086
pr_insight/settings/.secrets_template.toml sha256=yV-EylBzXTdhZdMAwGGm6Ny4PKewg5Vbd3uw71cd6jA 3347
pr_insight/settings/configuration.toml sha256=YxGVE9gPavTixWEybh744w2Xpj0ceYoiIXk0Knv-GsU 9686
pr_insight/settings/custom_labels.toml sha256=Wpo-1YXLDXzE-DaLeXjqpirjZWRB683m-VEMC76kq94 605
pr_insight/settings/ignore.toml sha256=tcMeewAUgLNH0btp4Ru2V8Se3FJyaKdX8xRLsfaZDWk 344
pr_insight/settings/language_extensions.toml sha256=hI304IkWyYSmL7dP-q5pOauiVFsFZd1KDGKOyixoIK8 13651
pr_insight/settings/pr_add_docs.toml sha256=3jm9WaPp6t-88lvoHkRv15Ffun6rcNpomuCm_7ag_A8 3287
pr_insight/settings/pr_code_suggestions_prompts.toml sha256=4abvalI51Ktaw6Te8PQYiiDMRr1655faYw-f-YQqj38 11074
pr_insight/settings/pr_code_suggestions_reflect_prompts.toml sha256=Fpvc5c4_XEDGqvUcuvZY-aMc8RDp_RWOZU1ETD-xUr0 4394
pr_insight/settings/pr_custom_labels.toml sha256=0jM-bS-FYS79G8I52kA_l_3NmPcivCfRV2ilSHzkV3I 1802
pr_insight/settings/pr_description_prompts.toml sha256=cKaSDXP93XuySz9lVQcZcrH2mEmAgKQtQ1d1S6u-ffI 4198
pr_insight/settings/pr_evaluate_prompt_response.toml sha256=JLMePojrXGaRiCz81zorbq6bxpC3JTVMipdJmyDCOZg 2592
pr_insight/settings/pr_information_from_user_prompts.toml sha256=MwJbUVyq7GAMNSq3CvYn832c_1UNWGyAOdjaodZS3U0 1244
pr_insight/settings/pr_line_questions_prompts.toml sha256=1-yfLQpAINljM2-sPzJD-C0B0_3f1b4zJRPFGktKQv4 1437
pr_insight/settings/pr_questions_prompts.toml sha256=fP3LuxGd4yLoQyPoi4-g9mXt-bb9TD2TnDBXuo6cWgQ 1030
pr_insight/settings/pr_reviewer_prompts.toml sha256=-n7cp1yXKy27Es7PFfuo46s3vsddimcCeI2bxRxFbbs 9410
pr_insight/settings/pr_sort_code_suggestions_prompts.toml sha256=zVTOXSsXt72GPz5vICjQkqg_6Hsqa_9jZNn4QRnaVbQ 1389
pr_insight/settings/pr_update_changelog_prompts.toml sha256=o8s9JPssqV8ypE_yUyD8FQL8n-95pe7V9O9S23e3vS4 1321
pr_insight/tools/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
pr_insight/tools/pr_add_docs.py sha256=wAR9NMGbfyxixMCWjlmfcIFXM3bl7qMPW81zR-YoNJM 8678
pr_insight/tools/pr_code_suggestions.py sha256=kUV9SZyCkGRgMXTvdpsfH7RuYXyo2fn8PaXkpwV_2gQ 40519
pr_insight/tools/pr_config.py sha256=RZXSon7Ax6PFN4LRvTXUM0NwL0qdAjO1jzEJXAFYkrI 2112
pr_insight/tools/pr_description.py sha256=Mo3E4KgRxs0erB1hkaVBNF-AP9T4LSM7Rbvd15wtPK4 33293
pr_insight/tools/pr_generate_labels.py sha256=ILccEZIUex48MggJQvAPu-1FDJmcgZkwRTuIlI7Kh1U 7185
pr_insight/tools/pr_help_message.py sha256=WYMHomBEIlfAhJnM6BwXVr7bSErJIyisjKsvaH38eF8 7383
pr_insight/tools/pr_information_from_user.py sha256=kkRAhFoIvqb6tyhSSk-18Aeq1xSoR7ZvcFKpKmyfjx0 3995
pr_insight/tools/pr_line_questions.py sha256=617oFAp23Pe9SO8PHH6hkrFXOJp42M99VHQzwN0RjiM 5407
pr_insight/tools/pr_questions.py sha256=vZ8FOpO5-tG7CtjnDYizUQH5PjX5AS1jl3N0Yl5rAfA 5831
pr_insight/tools/pr_reviewer.py sha256=lvbHqL6aDMTaqIPP9O-qkHwlnORqMXGaOwQPk0Q4MN8 23077
pr_insight/tools/pr_similar_issue.py sha256=7DsIFOJrafnsuiSoTFxMtggowBLNA73pXQ_6TyI2jXE 21825
pr_insight/tools/pr_update_changelog.py sha256=N0QtiCWJAX8_UaUSHSgnpl3yCq2Ubgb6UJ9LLBi7OY0 7798
pr_insight-0.2.1.dist-info/LICENSE sha256=AOTmsjrqETUcv2Y4QpI_l60SzM5TTVp10lhntEc9Wl4 11348
pr_insight-0.2.1.dist-info/METADATA sha256=hdMhZGjed5kPjc2CjunfmSokiCk219x39Rw9GAlXHxo 32276
pr_insight-0.2.1.dist-info/WHEEL sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs 91
pr_insight-0.2.1.dist-info/entry_points.txt sha256=d0nSpBYEFhZC6EtsSXiY0mXJw5onN21c0RHi_uNJR8I 50
pr_insight-0.2.1.dist-info/top_level.txt sha256=xRvKmu_utcyNT_TbgrbIJzIeqzu_8shTRbHoRJdxnR4 11
pr_insight-0.2.1.dist-info/RECORD

top_level.txt

pr_insight

entry_points.txt

pr-insight = pr_insight.cli:run