osa_tool 0.1.2__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {osa_tool-0.1.2 → osa_tool-0.2.0}/PKG-INFO +111 -48
- {osa_tool-0.1.2 → osa_tool-0.2.0}/README.md +97 -41
- osa_tool-0.2.0/osa_tool/aboutgen/about_generator.py +305 -0
- osa_tool-0.2.0/osa_tool/aboutgen/prompts_about_config.py +39 -0
- osa_tool-0.2.0/osa_tool/analytics/metadata.py +278 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/analytics/prompt_builder.py +24 -6
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/analytics/report_generator.py +13 -48
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/analytics/report_maker.py +101 -105
- osa_tool-0.2.0/osa_tool/analytics/run_report_gen.py +161 -0
- osa_tool-0.2.0/osa_tool/analytics/sourcerank.py +46 -0
- osa_tool-0.2.0/osa_tool/arguments_parser.py +98 -0
- osa_tool-0.2.0/osa_tool/config/settings/arguments.yaml +263 -0
- {osa_tool-0.1.2/osa_tool/config/standart → osa_tool-0.2.0/osa_tool/config}/settings/config.toml +18 -0
- {osa_tool-0.1.2/osa_tool/config/standart → osa_tool-0.2.0/osa_tool/config}/settings/prompt_for_analysis.toml +5 -2
- osa_tool-0.2.0/osa_tool/config/settings/prompt_for_scheduler.toml +48 -0
- osa_tool-0.2.0/osa_tool/config/settings/prompts.toml +261 -0
- osa_tool-0.2.0/osa_tool/config/settings/prompts_about_section.toml +111 -0
- osa_tool-0.2.0/osa_tool/config/settings/prompts_article.toml +171 -0
- osa_tool-0.2.0/osa_tool/config/settings.py +141 -0
- osa_tool-0.2.0/osa_tool/config/templates/template.toml +170 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/convertion/notebook_converter.py +46 -43
- osa_tool-0.2.0/osa_tool/docs/templates/community.toml +257 -0
- osa_tool-0.2.0/osa_tool/docs/templates/contributing.toml +97 -0
- osa_tool-0.2.0/osa_tool/docs/templates/licenses.toml +247 -0
- osa_tool-0.2.0/osa_tool/docs/templates/mkdocs.yml +47 -0
- osa_tool-0.2.0/osa_tool/docs_generator/community.py +100 -0
- osa_tool-0.2.0/osa_tool/docs_generator/contributing.py +122 -0
- osa_tool-0.2.0/osa_tool/docs_generator/docs_run.py +31 -0
- osa_tool-0.2.0/osa_tool/docs_generator/license.py +50 -0
- osa_tool-0.2.0/osa_tool/git_agent/git_agent.py +758 -0
- osa_tool-0.2.0/osa_tool/github_workflow/README.md +334 -0
- osa_tool-0.2.0/osa_tool/github_workflow/__init__.py +15 -0
- osa_tool-0.2.0/osa_tool/github_workflow/generator.py +496 -0
- osa_tool-0.2.0/osa_tool/github_workflow/providers/black.py +69 -0
- osa_tool-0.2.0/osa_tool/github_workflow/providers/unit_test.py +81 -0
- osa_tool-0.2.0/osa_tool/models/models.py +266 -0
- osa_tool-0.2.0/osa_tool/organization/repo_organizer.py +104 -0
- osa_tool-0.2.0/osa_tool/osatreesitter/docgen.py +959 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/osatreesitter/osa_treesitter.py +248 -55
- osa_tool-0.2.0/osa_tool/readmegen/context/article_content.py +128 -0
- osa_tool-0.2.0/osa_tool/readmegen/context/article_path.py +62 -0
- osa_tool-0.2.0/osa_tool/readmegen/context/dependencies.py +173 -0
- osa_tool-0.2.0/osa_tool/readmegen/context/files_contents.py +40 -0
- osa_tool-0.2.0/osa_tool/readmegen/context/pypi_status_checker.py +175 -0
- osa_tool-0.2.0/osa_tool/readmegen/generator/base_builder.py +148 -0
- osa_tool-0.2.0/osa_tool/readmegen/generator/builder.py +97 -0
- osa_tool-0.2.0/osa_tool/readmegen/generator/builder_article.py +68 -0
- osa_tool-0.2.0/osa_tool/readmegen/generator/header.py +127 -0
- osa_tool-0.2.0/osa_tool/readmegen/generator/installation.py +67 -0
- osa_tool-0.2.0/osa_tool/readmegen/models/llm_service.py +143 -0
- osa_tool-0.2.0/osa_tool/readmegen/postprocessor/readme_refiner.py +76 -0
- osa_tool-0.2.0/osa_tool/readmegen/postprocessor/response_cleaner.py +38 -0
- osa_tool-0.2.0/osa_tool/readmegen/prompts/prompts_builder.py +202 -0
- osa_tool-0.2.0/osa_tool/readmegen/readme_core.py +50 -0
- osa_tool-0.2.0/osa_tool/readmegen/utils.py +172 -0
- osa_tool-0.2.0/osa_tool/run.py +260 -0
- osa_tool-0.2.0/osa_tool/scheduler/README.md +148 -0
- osa_tool-0.2.0/osa_tool/scheduler/prompts.py +81 -0
- osa_tool-0.2.0/osa_tool/scheduler/scheduler.py +127 -0
- osa_tool-0.2.0/osa_tool/scheduler/workflow_manager.py +158 -0
- osa_tool-0.2.0/osa_tool/translation/__init__.py +0 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/translation/dir_translator.py +23 -50
- osa_tool-0.2.0/osa_tool/ui/__init__.py +0 -0
- osa_tool-0.2.0/osa_tool/ui/plan_editor.py +470 -0
- osa_tool-0.2.0/osa_tool/ui/web_plan_editor.py +74 -0
- osa_tool-0.2.0/osa_tool/utils.py +280 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/pyproject.toml +18 -8
- osa_tool-0.1.2/osa_tool/analytics/metadata.py +0 -258
- osa_tool-0.1.2/osa_tool/analytics/sourcerank.py +0 -52
- osa_tool-0.1.2/osa_tool/arguments_parser.py +0 -80
- osa_tool-0.1.2/osa_tool/config/standart/settings/prompts.toml +0 -91
- osa_tool-0.1.2/osa_tool/config/standart/templates/ITMO_template.toml +0 -148
- osa_tool-0.1.2/osa_tool/config/with_article/settings/config.toml +0 -41
- osa_tool-0.1.2/osa_tool/config/with_article/settings/prompts.toml +0 -91
- osa_tool-0.1.2/osa_tool/config/with_article/templates/ITMO_template.toml +0 -29
- osa_tool-0.1.2/osa_tool/github_agent/github_agent.py +0 -245
- osa_tool-0.1.2/osa_tool/models/models.py +0 -466
- osa_tool-0.1.2/osa_tool/osatreesitter/docgen.py +0 -438
- osa_tool-0.1.2/osa_tool/readmeai/LICENSE +0 -21
- osa_tool-0.1.2/osa_tool/readmeai/README.md +0 -6
- osa_tool-0.1.2/osa_tool/readmeai/config/constants.py +0 -50
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/commands.toml +0 -46
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/contributing_config.toml +0 -28
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/docs_list.toml +0 -29
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/ignore_list.toml +0 -143
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/languages.toml +0 -70
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/parsers.toml +0 -184
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/quickstart.toml +0 -471
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/quickstart_config.toml +0 -55
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/tool_config.toml +0 -666
- osa_tool-0.1.2/osa_tool/readmeai/config/settings/tooling.toml +0 -192
- osa_tool-0.1.2/osa_tool/readmeai/config/settings.py +0 -258
- osa_tool-0.1.2/osa_tool/readmeai/errors.py +0 -131
- osa_tool-0.1.2/osa_tool/readmeai/generators/badges.py +0 -111
- osa_tool-0.1.2/osa_tool/readmeai/generators/builder.py +0 -187
- osa_tool-0.1.2/osa_tool/readmeai/generators/quickstart.py +0 -163
- osa_tool-0.1.2/osa_tool/readmeai/generators/svg/skill_icons.json +0 -204
- osa_tool-0.1.2/osa_tool/readmeai/ingestion/file_processor.py +0 -87
- osa_tool-0.1.2/osa_tool/readmeai/ingestion/metadata_extractor.py +0 -72
- osa_tool-0.1.2/osa_tool/readmeai/ingestion/models.py +0 -43
- osa_tool-0.1.2/osa_tool/readmeai/ingestion/pipeline.py +0 -52
- osa_tool-0.1.2/osa_tool/readmeai/logger.py +0 -112
- osa_tool-0.1.2/osa_tool/readmeai/models/base.py +0 -176
- osa_tool-0.1.2/osa_tool/readmeai/models/prompts.py +0 -81
- osa_tool-0.1.2/osa_tool/readmeai/models/tokens.py +0 -81
- osa_tool-0.1.2/osa_tool/readmeai/parsers/base.py +0 -40
- osa_tool-0.1.2/osa_tool/readmeai/parsers/cpp.py +0 -100
- osa_tool-0.1.2/osa_tool/readmeai/parsers/docker.py +0 -107
- osa_tool-0.1.2/osa_tool/readmeai/parsers/factory.py +0 -75
- osa_tool-0.1.2/osa_tool/readmeai/parsers/go.py +0 -33
- osa_tool-0.1.2/osa_tool/readmeai/parsers/gradle.py +0 -65
- osa_tool-0.1.2/osa_tool/readmeai/parsers/maven.py +0 -35
- osa_tool-0.1.2/osa_tool/readmeai/parsers/npm.py +0 -32
- osa_tool-0.1.2/osa_tool/readmeai/parsers/properties.py +0 -265
- osa_tool-0.1.2/osa_tool/readmeai/parsers/python.py +0 -167
- osa_tool-0.1.2/osa_tool/readmeai/parsers/rust.py +0 -45
- osa_tool-0.1.2/osa_tool/readmeai/parsers/swift.py +0 -55
- osa_tool-0.1.2/osa_tool/readmeai/postprocessor/response_cleaner.py +0 -92
- osa_tool-0.1.2/osa_tool/readmeai/preprocessor/directory_cleaner.py +0 -25
- osa_tool-0.1.2/osa_tool/readmeai/preprocessor/document_cleaner.py +0 -103
- osa_tool-0.1.2/osa_tool/readmeai/preprocessor/file_filter.py +0 -31
- osa_tool-0.1.2/osa_tool/readmeai/readme_core.py +0 -104
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/config/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/config/settings.py +0 -140
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/generators/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/generators/builder.py +0 -42
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/models/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/models/prompts.py +0 -107
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/parser/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/parser/article_finder.py +0 -90
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/parser/pdf_parser.py +0 -134
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/templates/__init__.py +0 -1
- osa_tool-0.1.2/osa_tool/readmeai/readmegen_article/templates/header.py +0 -36
- osa_tool-0.1.2/osa_tool/readmeai/templates/base.py +0 -11
- osa_tool-0.1.2/osa_tool/readmeai/templates/contributing.py +0 -105
- osa_tool-0.1.2/osa_tool/readmeai/templates/header.py +0 -36
- osa_tool-0.1.2/osa_tool/readmeai/templates/quickstart.py +0 -136
- osa_tool-0.1.2/osa_tool/readmeai/utils/file_handler.py +0 -164
- osa_tool-0.1.2/osa_tool/readmeai/utils/file_resource.py +0 -42
- osa_tool-0.1.2/osa_tool/readmeai/utils/helpers.py +0 -10
- osa_tool-0.1.2/osa_tool/run.py +0 -178
- osa_tool-0.1.2/osa_tool/utils.py +0 -72
- {osa_tool-0.1.2 → osa_tool-0.2.0}/LICENSE +0 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/analytics → osa_tool-0.2.0/osa_tool/aboutgen}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/convertion → osa_tool-0.2.0/osa_tool/analytics}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/github_agent → osa_tool-0.2.0/osa_tool/config}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/models → osa_tool-0.2.0/osa_tool/convertion}/__init__.py +0 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/docs/images/osa_logo.PNG +0 -0
- {osa_tool-0.1.2 → osa_tool-0.2.0}/osa_tool/docs/images/osa_logo_transparent.PNG +0 -0
- {osa_tool-0.1.2/osa_tool/osatreesitter → osa_tool-0.2.0/osa_tool/docs_generator}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai → osa_tool-0.2.0/osa_tool/git_agent}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/config → osa_tool-0.2.0/osa_tool/models}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/generators → osa_tool-0.2.0/osa_tool/osatreesitter}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/ingestion → osa_tool-0.2.0/osa_tool/readmegen}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/models → osa_tool-0.2.0/osa_tool/readmegen/context}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/parsers → osa_tool-0.2.0/osa_tool/readmegen/generator}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/generators/svg → osa_tool-0.2.0/osa_tool/readmegen/generator/icons}/shieldsio_icons.json +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/postprocessor → osa_tool-0.2.0/osa_tool/readmegen/models}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/preprocessor → osa_tool-0.2.0/osa_tool/readmegen/postprocessor}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/templates → osa_tool-0.2.0/osa_tool/readmegen/prompts}/__init__.py +0 -0
- {osa_tool-0.1.2/osa_tool/readmeai/utils → osa_tool-0.2.0/osa_tool/scheduler}/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: osa_tool
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Tool that just makes your open source project better!
|
|
5
5
|
License: BSD-3-Clause
|
|
6
6
|
Author: ITMO-NSS-team
|
|
@@ -20,9 +20,9 @@ Requires-Dist: aiohttp (==3.11.11)
|
|
|
20
20
|
Requires-Dist: aiosignal (==1.3.2)
|
|
21
21
|
Requires-Dist: annotated-types (==0.7.0)
|
|
22
22
|
Requires-Dist: anyio (==4.7.0)
|
|
23
|
-
Requires-Dist: aspose-pdf (==25.1.0) ; python_version >= "3.10" and python_version < "3.14"
|
|
24
23
|
Requires-Dist: async-timeout (>=4.0.0,<5.0.0)
|
|
25
24
|
Requires-Dist: attrs (==25.1.0)
|
|
25
|
+
Requires-Dist: black (==25.1.0)
|
|
26
26
|
Requires-Dist: certifi (==2024.12.14)
|
|
27
27
|
Requires-Dist: charset-normalizer (==3.4.1)
|
|
28
28
|
Requires-Dist: colorama (==0.4.6)
|
|
@@ -30,23 +30,30 @@ Requires-Dist: distro (==1.9.0)
|
|
|
30
30
|
Requires-Dist: exceptiongroup (==1.2.2)
|
|
31
31
|
Requires-Dist: frozenlist (==1.5.0)
|
|
32
32
|
Requires-Dist: gitdb (==4.0.11)
|
|
33
|
-
Requires-Dist: gitingest (==0.1.3)
|
|
34
33
|
Requires-Dist: gitpython (==3.1.43)
|
|
35
|
-
Requires-Dist: h11 (==0.
|
|
36
|
-
Requires-Dist: httpcore (==1.0.
|
|
34
|
+
Requires-Dist: h11 (==0.16.0)
|
|
35
|
+
Requires-Dist: httpcore (==1.0.9)
|
|
37
36
|
Requires-Dist: httpx (>=0.27.2,<0.28.0)
|
|
38
37
|
Requires-Dist: idna (==3.10)
|
|
39
38
|
Requires-Dist: iniconfig (==2.0.0)
|
|
40
39
|
Requires-Dist: jiter (==0.8.2)
|
|
41
40
|
Requires-Dist: markdown-it-py (==3.0.0)
|
|
42
41
|
Requires-Dist: mdurl (==0.1.2)
|
|
42
|
+
Requires-Dist: mkdocs (==1.6.1)
|
|
43
|
+
Requires-Dist: mkdocs-material (==9.6.13)
|
|
44
|
+
Requires-Dist: mkdocstrings[python] (==0.29.1)
|
|
43
45
|
Requires-Dist: multidict (==6.1.0)
|
|
44
46
|
Requires-Dist: nbconvert (>=6.0)
|
|
45
47
|
Requires-Dist: nbformat (>=5.0)
|
|
46
48
|
Requires-Dist: openai (==1.58.1)
|
|
49
|
+
Requires-Dist: openpyxl (==3.1.5)
|
|
47
50
|
Requires-Dist: packaging (==24.2)
|
|
51
|
+
Requires-Dist: pandas (==2.2.3)
|
|
48
52
|
Requires-Dist: pdfminer.six (==20231228)
|
|
53
|
+
Requires-Dist: pdfplumber (==0.11.5)
|
|
54
|
+
Requires-Dist: pipreqs (>=0.5.0,<0.6.0) ; python_version < "3.13"
|
|
49
55
|
Requires-Dist: pluggy (==1.5.0)
|
|
56
|
+
Requires-Dist: prompt_toolkit (==3.0.51)
|
|
50
57
|
Requires-Dist: propcache (==0.2.1)
|
|
51
58
|
Requires-Dist: pydantic (>=2.9.0,<2.11.0)
|
|
52
59
|
Requires-Dist: pydantic-extra-types (==2.9.0)
|
|
@@ -71,13 +78,12 @@ Requires-Dist: typing_extensions (==4.12.2)
|
|
|
71
78
|
Requires-Dist: urllib3 (==2.3.0)
|
|
72
79
|
Requires-Dist: yarl (==1.18.3)
|
|
73
80
|
Project-URL: Documentation, https://itmo-nss-team.github.io/Open-Source-Advisor/
|
|
74
|
-
Project-URL: Homepage, https://github.com/
|
|
75
|
-
Project-URL: Issues, https://github.com/
|
|
81
|
+
Project-URL: Homepage, https://github.com/aimclub/OSA
|
|
82
|
+
Project-URL: Issues, https://github.com/aimclub/OSA/issues
|
|
76
83
|
Description-Content-Type: text/markdown
|
|
77
84
|
|
|
78
85
|
# OSA: OPEN-SOURCE ADVISOR
|
|
79
86
|
|
|
80
|
-
|
|
81
87
|
<p align="center">
|
|
82
88
|
|
|
83
89
|
<img src="./docs/images/osa_logo_h.PNG" width="600">
|
|
@@ -89,30 +95,33 @@ Description-Content-Type: text/markdown
|
|
|
89
95
|
[](https://aimclub.github.io/open-source-ops/)
|
|
90
96
|
[](https://opensource.org/licenses/BSD-3-Clause)
|
|
91
97
|
[](https://badge.fury.io/py/osa_tool)
|
|
92
|
-
[](https://github.com/
|
|
98
|
+
[](https://github.com/aimclub/OSA)
|
|
93
99
|
[](https://t.me/OSA_helpdesk)
|
|
94
100
|
</p>
|
|
95
101
|
|
|
96
102
|
<p>Built with:</p>
|
|
97
103
|
<p>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
<img src="https://img.shields.io/badge/Python-3776AB.svg?style=BadgeStyleOptions.DEFAULT&logo=Python&logoColor=white" alt="Python">
|
|
105
|
+
<img src="https://img.shields.io/badge/Docker-2496ED.svg?style=BadgeStyleOptions.DEFAULT&logo=Docker&logoColor=white" alt="Docker">
|
|
106
|
+
<img src="https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style=BadgeStyleOptions.DEFAULT&logo=GitHub-Actions&logoColor=white" alt="GitHub%20Actions">
|
|
107
|
+
<img src="https://img.shields.io/badge/AIOHTTP-2C5BB4.svg?style=BadgeStyleOptions.DEFAULT&logo=AIOHTTP&logoColor=white" alt="AIOHTTP">
|
|
108
|
+
<img src="https://img.shields.io/badge/OpenAI-412991.svg?style=BadgeStyleOptions.DEFAULT&logo=OpenAI&logoColor=white" alt="OpenAI">
|
|
109
|
+
<img src="https://img.shields.io/badge/Pydantic-E92063.svg?style=BadgeStyleOptions.DEFAULT&logo=Pydantic&logoColor=white" alt="Pydantic">
|
|
104
110
|
</p>
|
|
105
111
|
|
|
106
112
|
---
|
|
113
|
+
|
|
107
114
|
## Overview
|
|
108
115
|
|
|
109
|
-
OSA (Open-Source-Advisor) is a LLM-based tool for improving the quality of scientific open source projects and helping
|
|
110
|
-
|
|
116
|
+
OSA (Open-Source-Advisor) is a LLM-based tool for improving the quality of scientific open source projects and helping
|
|
117
|
+
create them from scratch.
|
|
118
|
+
It automates the generation of README, different levels of documentation, CI/CD scripts, etc.
|
|
111
119
|
It also generates advices and recommendations for the repository.
|
|
112
120
|
|
|
113
121
|
OSA is currently under development, so not all features are implemented.
|
|
114
122
|
|
|
115
123
|
---
|
|
124
|
+
|
|
116
125
|
## How it works?
|
|
117
126
|
|
|
118
127
|
Here is a short demo:
|
|
@@ -137,13 +146,19 @@ Here is a short demo:
|
|
|
137
146
|
|
|
138
147
|
## Core features
|
|
139
148
|
|
|
140
|
-
1. **README file generation**: Automates the creation of a clear and structured README file for a repository, including
|
|
149
|
+
1. **README file generation**: Automates the creation of a clear and structured README file for a repository, including
|
|
150
|
+
projects based on research papers.
|
|
141
151
|
|
|
142
152
|
2. **Documentation generation**: Automatically generates docstrings for Python code.
|
|
143
153
|
|
|
144
|
-
3. **Automatic implementation of changes**: Clones the repository, creates a branch, commits and pushes changes, and
|
|
154
|
+
3. **Automatic implementation of changes**: Clones the repository, creates a branch, commits and pushes changes, and
|
|
155
|
+
creates a pull request with proposed changes.
|
|
145
156
|
|
|
146
|
-
4. **Various LLMs**: Use OSA with an LLM accessible via API (e.g., OpenAI, VseGPT, Ollama), a local server, or try
|
|
157
|
+
4. **Various LLMs**: Use OSA with an LLM accessible via API (e.g., OpenAI, VseGPT, Ollama), a local server, or try
|
|
158
|
+
an [osa_bot](https://github.com/osa-bot) hosted on ITMO servers.
|
|
159
|
+
|
|
160
|
+
5. **GitHub Action Workflow Generator**: Automatically generates customizable CI/CD workflows for Python repositories,
|
|
161
|
+
including unit tests, code formatting, PEP 8 compliance checks, and PyPI publication.
|
|
147
162
|
|
|
148
163
|
---
|
|
149
164
|
|
|
@@ -160,11 +175,13 @@ pip install osa_tool
|
|
|
160
175
|
**Build from source:**
|
|
161
176
|
|
|
162
177
|
1. Clone the Open-Source-Advisor repository:
|
|
178
|
+
|
|
163
179
|
```sh
|
|
164
|
-
git clone https://github.com/
|
|
180
|
+
git clone https://github.com/aimclub/OSA
|
|
165
181
|
```
|
|
166
182
|
|
|
167
183
|
2. Navigate to the project directory:
|
|
184
|
+
|
|
168
185
|
```sh
|
|
169
186
|
cd Open-Source-Advisor
|
|
170
187
|
```
|
|
@@ -209,6 +226,15 @@ export OPENAI_API_KEY=<your_api_key>
|
|
|
209
226
|
export GIT_TOKEN=<your_git_token>
|
|
210
227
|
```
|
|
211
228
|
|
|
229
|
+
### Tokens
|
|
230
|
+
|
|
231
|
+
| Token name | Description | Mandatory |
|
|
232
|
+
|------------------|--------------------------------------------------------------------------------------------------------------------|-----------|
|
|
233
|
+
| `GIT_TOKEN` | Personal GitHub/GitLab token used to clone private repositories, access metadata, and interact with the GitHub/GitLab API. | Yes |
|
|
234
|
+
| `OPENAI_API_KEY` | API key for accessing [OpenAI](https://platform.openai.com/docs/api-reference/introduction)'s language models. | No |
|
|
235
|
+
| `VSE_GPT_KEY` | API key for [vsegpt](https://vsegpt.ru/Docs/API) LLM provider compatible with OpenAI's API format. | No |
|
|
236
|
+
| `X-API-Key` | API key for the [pepy.tech](https://pepy.tech/pepy-api) REST API, used to fetch Python package download statistics | No |
|
|
237
|
+
|
|
212
238
|
### Usage
|
|
213
239
|
|
|
214
240
|
Run Open-Source-Advisor using the following command:
|
|
@@ -227,68 +253,104 @@ python -m osa_tool.run -r {repository} [--api {api}] [--base-url {base_url}] [--
|
|
|
227
253
|
docker run --env-file .env {image-name} -r {repository} [--api {api}] [--base-url {base_url}] [--model {model_name}] [--article {article}] [--convert-notebooks {notebook_paths}]
|
|
228
254
|
```
|
|
229
255
|
|
|
230
|
-
The --article option enables you to choose a README template for a repository based on an article. You can provide
|
|
256
|
+
The --article option enables you to choose a README template for a repository based on an article. You can provide
|
|
257
|
+
either a link to a PDF file of the article or a path to a local PDF file after the --article option. If you are using
|
|
258
|
+
Docker, ensure that you upload the PDF file to the OSA folder before building the image, then, specify the path as
|
|
259
|
+
/app/OSA/... or just use volume mounting to access the file.
|
|
260
|
+
|
|
261
|
+
The --generate-workflows option is intended to create customizable CI/CD pipelines for Python repositories. For detailed
|
|
262
|
+
documentation, see the [GitHub Action Workflow Generator README](./osa_tool/github_workflow/README.md).
|
|
231
263
|
|
|
232
264
|
### Configuration
|
|
233
265
|
|
|
234
|
-
| Flag | Description
|
|
235
|
-
|
|
236
|
-
| `-r`, `--repository` | URL of the GitHub repository (**Mandatory**)
|
|
237
|
-
| `--
|
|
238
|
-
| `--
|
|
239
|
-
| `--
|
|
240
|
-
| `--
|
|
241
|
-
| `--
|
|
242
|
-
| `--
|
|
243
|
-
| `--
|
|
266
|
+
| Flag | Description | Default |
|
|
267
|
+
|----------------------|-------------------------------------------------------------------------------------|-----------------------------|
|
|
268
|
+
| `-r`, `--repository` | URL of the GitHub repository (**Mandatory**) | |
|
|
269
|
+
| `-b`, `--branch` | Branch name of the GitHub repository | Default branch |
|
|
270
|
+
| `--api` | LLM API service provider | `llama` |
|
|
271
|
+
| `--base-url` | URL of the provider compatible with API OpenAI | `https://api.openai.com/v1` |
|
|
272
|
+
| `--model` | Specific LLM model to use | `gpt-3.5-turbo` |
|
|
273
|
+
| `-m`, `--mode` | Operation mode for repository processing: `basic`, `auto` (default), or `advanced`. | `auto` |
|
|
274
|
+
| `--delete-dir` | Enable deleting the downloaded repository after processing | `disabled` |
|
|
275
|
+
| `--no-fork` | Avoid create fork for target repository | `False` |
|
|
276
|
+
| `--no-pull-request` | Avoid create pull request for target repository | `False` |
|
|
277
|
+
| `--top_p` | Nucleus sampling probability | `null` |
|
|
278
|
+
| `--temperature` | Sampling temperature to use for the LLM output (0 = deterministic, 1 = creative). | `null` |
|
|
279
|
+
| `--max_tokens` | Maximum number of tokens the model can generate in a single response | `null` |
|
|
280
|
+
|
|
281
|
+
To learn how to work with the interactive CLI and view descriptions of all available keys, visit
|
|
282
|
+
the [CLI usage guide](./osa_tool/scheduler/README.md).
|
|
244
283
|
|
|
245
284
|
---
|
|
246
285
|
|
|
247
286
|
## Examples
|
|
248
287
|
|
|
249
|
-
Examples of generated README files are available in [examples](https://github.com/
|
|
288
|
+
Examples of generated README files are available in [examples](https://github.com/aimclub/OSA/tree/main/examples).
|
|
250
289
|
|
|
251
|
-
URL of the GitHub repository, LLM API service provider (*optional*) and Specific LLM model to use (*optional*) are
|
|
290
|
+
URL of the GitHub repository, LLM API service provider (*optional*) and Specific LLM model to use (*optional*) are
|
|
291
|
+
required to use the generator.
|
|
252
292
|
|
|
253
293
|
To see available models go there:
|
|
294
|
+
|
|
254
295
|
1. [VseGpt](https://vsegpt.ru/Docs/Models)
|
|
255
296
|
2. [OpenAI](https://platform.openai.com/docs/models)
|
|
256
297
|
3. [Ollama](https://ollama.com/library)
|
|
257
298
|
|
|
258
299
|
Local Llama ITMO:
|
|
300
|
+
|
|
259
301
|
```sh
|
|
260
|
-
python -m osa_tool.run -r https://github.com/
|
|
302
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA
|
|
261
303
|
```
|
|
304
|
+
|
|
262
305
|
OpenAI:
|
|
306
|
+
|
|
263
307
|
```sh
|
|
264
|
-
python -m osa_tool.run -r https://github.com/
|
|
308
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api openai
|
|
265
309
|
```
|
|
310
|
+
|
|
266
311
|
VseGPT:
|
|
312
|
+
|
|
267
313
|
```sh
|
|
268
|
-
python -m osa_tool.run -r https://github.com/
|
|
314
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api openai --base-url https://api.vsegpt.ru/v1 --model openai/gpt-3.5-turbo
|
|
269
315
|
```
|
|
316
|
+
|
|
270
317
|
Ollama:
|
|
318
|
+
|
|
271
319
|
```sh
|
|
272
|
-
python -m osa_tool.run -r https://github.com/
|
|
320
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api ollama --base-url http://[YOUR_OLLAMA_IP]:11434 --model gemma3:27b
|
|
273
321
|
```
|
|
274
322
|
|
|
275
323
|
---
|
|
276
324
|
|
|
277
325
|
## Documentation
|
|
278
326
|
|
|
279
|
-
Detailed description of OSA API is available [here](https://
|
|
327
|
+
Detailed description of OSA API is available [here](https://aimclub.github.io/OSA/).
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Publications about OSA
|
|
332
|
+
|
|
333
|
+
In English:
|
|
334
|
+
|
|
335
|
+
- [Automate Your Coding with OSA – ITMO-Made AI Assistant for Researchers](https://news.itmo.ru/en/news/14282/)
|
|
336
|
+
|
|
337
|
+
In Russian:
|
|
338
|
+
|
|
339
|
+
- [OSA: ИИ-помощник для разработчиков научного open source кода](https://habr.com/ru/companies/spbifmo/articles/906018/)
|
|
280
340
|
|
|
281
341
|
---
|
|
282
342
|
|
|
283
343
|
## Contributing
|
|
284
344
|
|
|
285
|
-
- **[Report Issues](https://github.com/
|
|
345
|
+
- **[Report Issues](https://github.com/aimclub/OSA/issues )**: Submit bugs found or log feature requests for the
|
|
346
|
+
Open-Source-Advisor project.
|
|
286
347
|
|
|
287
348
|
---
|
|
288
349
|
|
|
289
350
|
## License
|
|
290
351
|
|
|
291
|
-
This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to
|
|
352
|
+
This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to
|
|
353
|
+
the [LICENSE](https://github.com/aimclub/OSA/blob/main/LICENSE) file.
|
|
292
354
|
|
|
293
355
|
---
|
|
294
356
|
|
|
@@ -296,10 +358,11 @@ This project is protected under the BSD 3-Clause "New" or "Revised" License. For
|
|
|
296
358
|
|
|
297
359
|
The project is supported as ITMO University Research Project in AI Initiative (RPAII).
|
|
298
360
|
|
|
299
|
-
OSA is tested by the members of [ITMO OpenSource](https://t.me/scientific_opensource) community. Useful content from
|
|
361
|
+
OSA is tested by the members of [ITMO OpenSource](https://t.me/scientific_opensource) community. Useful content from
|
|
362
|
+
community
|
|
300
363
|
is available in [**Open-source-ops**](https://github.com/aimclub/open-source-ops)
|
|
301
364
|
|
|
302
|
-
Also, we thank [**Readme-ai**](https://github.com/eli64s/readme-ai)
|
|
365
|
+
Also, we thank [**Readme-ai**](https://github.com/eli64s/readme-ai)
|
|
303
366
|
for their code that we used as a foundation for our own version of README generator.
|
|
304
367
|
|
|
305
368
|
---
|
|
@@ -308,11 +371,11 @@ for their code that we used as a foundation for our own version of README genera
|
|
|
308
371
|
|
|
309
372
|
If you use this software, please cite it as below.
|
|
310
373
|
|
|
311
|
-
### APA format
|
|
374
|
+
### APA format
|
|
312
375
|
|
|
313
|
-
ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/
|
|
376
|
+
ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/aimclub/OSA
|
|
314
377
|
|
|
315
|
-
### BibTeX format
|
|
378
|
+
### BibTeX format
|
|
316
379
|
|
|
317
380
|
@misc{Open-Source-Advisor,
|
|
318
381
|
|
|
@@ -326,9 +389,9 @@ If you use this software, please cite it as below.
|
|
|
326
389
|
|
|
327
390
|
journal = {github.com repository},
|
|
328
391
|
|
|
329
|
-
howpublished = {\url{https://github.com/
|
|
392
|
+
howpublished = {\url{https://github.com/aimclub/OSA.git}},
|
|
330
393
|
|
|
331
|
-
url = {https://github.com/
|
|
394
|
+
url = {https://github.com/aimclub/OSA.git}
|
|
332
395
|
|
|
333
396
|
}
|
|
334
397
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# OSA: OPEN-SOURCE ADVISOR
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
<p align="center">
|
|
5
4
|
|
|
6
5
|
<img src="./docs/images/osa_logo_h.PNG" width="600">
|
|
@@ -12,30 +11,33 @@
|
|
|
12
11
|
[](https://aimclub.github.io/open-source-ops/)
|
|
13
12
|
[](https://opensource.org/licenses/BSD-3-Clause)
|
|
14
13
|
[](https://badge.fury.io/py/osa_tool)
|
|
15
|
-
[](https://github.com/
|
|
14
|
+
[](https://github.com/aimclub/OSA)
|
|
16
15
|
[](https://t.me/OSA_helpdesk)
|
|
17
16
|
</p>
|
|
18
17
|
|
|
19
18
|
<p>Built with:</p>
|
|
20
19
|
<p>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
<img src="https://img.shields.io/badge/Python-3776AB.svg?style=BadgeStyleOptions.DEFAULT&logo=Python&logoColor=white" alt="Python">
|
|
21
|
+
<img src="https://img.shields.io/badge/Docker-2496ED.svg?style=BadgeStyleOptions.DEFAULT&logo=Docker&logoColor=white" alt="Docker">
|
|
22
|
+
<img src="https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style=BadgeStyleOptions.DEFAULT&logo=GitHub-Actions&logoColor=white" alt="GitHub%20Actions">
|
|
23
|
+
<img src="https://img.shields.io/badge/AIOHTTP-2C5BB4.svg?style=BadgeStyleOptions.DEFAULT&logo=AIOHTTP&logoColor=white" alt="AIOHTTP">
|
|
24
|
+
<img src="https://img.shields.io/badge/OpenAI-412991.svg?style=BadgeStyleOptions.DEFAULT&logo=OpenAI&logoColor=white" alt="OpenAI">
|
|
25
|
+
<img src="https://img.shields.io/badge/Pydantic-E92063.svg?style=BadgeStyleOptions.DEFAULT&logo=Pydantic&logoColor=white" alt="Pydantic">
|
|
27
26
|
</p>
|
|
28
27
|
|
|
29
28
|
---
|
|
29
|
+
|
|
30
30
|
## Overview
|
|
31
31
|
|
|
32
|
-
OSA (Open-Source-Advisor) is a LLM-based tool for improving the quality of scientific open source projects and helping
|
|
33
|
-
|
|
32
|
+
OSA (Open-Source-Advisor) is a LLM-based tool for improving the quality of scientific open source projects and helping
|
|
33
|
+
create them from scratch.
|
|
34
|
+
It automates the generation of README, different levels of documentation, CI/CD scripts, etc.
|
|
34
35
|
It also generates advices and recommendations for the repository.
|
|
35
36
|
|
|
36
37
|
OSA is currently under development, so not all features are implemented.
|
|
37
38
|
|
|
38
39
|
---
|
|
40
|
+
|
|
39
41
|
## How it works?
|
|
40
42
|
|
|
41
43
|
Here is a short demo:
|
|
@@ -60,13 +62,19 @@ Here is a short demo:
|
|
|
60
62
|
|
|
61
63
|
## Core features
|
|
62
64
|
|
|
63
|
-
1. **README file generation**: Automates the creation of a clear and structured README file for a repository, including
|
|
65
|
+
1. **README file generation**: Automates the creation of a clear and structured README file for a repository, including
|
|
66
|
+
projects based on research papers.
|
|
64
67
|
|
|
65
68
|
2. **Documentation generation**: Automatically generates docstrings for Python code.
|
|
66
69
|
|
|
67
|
-
3. **Automatic implementation of changes**: Clones the repository, creates a branch, commits and pushes changes, and
|
|
70
|
+
3. **Automatic implementation of changes**: Clones the repository, creates a branch, commits and pushes changes, and
|
|
71
|
+
creates a pull request with proposed changes.
|
|
68
72
|
|
|
69
|
-
4. **Various LLMs**: Use OSA with an LLM accessible via API (e.g., OpenAI, VseGPT, Ollama), a local server, or try
|
|
73
|
+
4. **Various LLMs**: Use OSA with an LLM accessible via API (e.g., OpenAI, VseGPT, Ollama), a local server, or try
|
|
74
|
+
an [osa_bot](https://github.com/osa-bot) hosted on ITMO servers.
|
|
75
|
+
|
|
76
|
+
5. **GitHub Action Workflow Generator**: Automatically generates customizable CI/CD workflows for Python repositories,
|
|
77
|
+
including unit tests, code formatting, PEP 8 compliance checks, and PyPI publication.
|
|
70
78
|
|
|
71
79
|
---
|
|
72
80
|
|
|
@@ -83,11 +91,13 @@ pip install osa_tool
|
|
|
83
91
|
**Build from source:**
|
|
84
92
|
|
|
85
93
|
1. Clone the Open-Source-Advisor repository:
|
|
94
|
+
|
|
86
95
|
```sh
|
|
87
|
-
git clone https://github.com/
|
|
96
|
+
git clone https://github.com/aimclub/OSA
|
|
88
97
|
```
|
|
89
98
|
|
|
90
99
|
2. Navigate to the project directory:
|
|
100
|
+
|
|
91
101
|
```sh
|
|
92
102
|
cd Open-Source-Advisor
|
|
93
103
|
```
|
|
@@ -132,6 +142,15 @@ export OPENAI_API_KEY=<your_api_key>
|
|
|
132
142
|
export GIT_TOKEN=<your_git_token>
|
|
133
143
|
```
|
|
134
144
|
|
|
145
|
+
### Tokens
|
|
146
|
+
|
|
147
|
+
| Token name | Description | Mandatory |
|
|
148
|
+
|------------------|--------------------------------------------------------------------------------------------------------------------|-----------|
|
|
149
|
+
| `GIT_TOKEN` | Personal GitHub/GitLab token used to clone private repositories, access metadata, and interact with the GitHub/GitLab API. | Yes |
|
|
150
|
+
| `OPENAI_API_KEY` | API key for accessing [OpenAI](https://platform.openai.com/docs/api-reference/introduction)'s language models. | No |
|
|
151
|
+
| `VSE_GPT_KEY` | API key for [vsegpt](https://vsegpt.ru/Docs/API) LLM provider compatible with OpenAI's API format. | No |
|
|
152
|
+
| `X-API-Key` | API key for the [pepy.tech](https://pepy.tech/pepy-api) REST API, used to fetch Python package download statistics | No |
|
|
153
|
+
|
|
135
154
|
### Usage
|
|
136
155
|
|
|
137
156
|
Run Open-Source-Advisor using the following command:
|
|
@@ -150,68 +169,104 @@ python -m osa_tool.run -r {repository} [--api {api}] [--base-url {base_url}] [--
|
|
|
150
169
|
docker run --env-file .env {image-name} -r {repository} [--api {api}] [--base-url {base_url}] [--model {model_name}] [--article {article}] [--convert-notebooks {notebook_paths}]
|
|
151
170
|
```
|
|
152
171
|
|
|
153
|
-
The --article option enables you to choose a README template for a repository based on an article. You can provide
|
|
172
|
+
The --article option enables you to choose a README template for a repository based on an article. You can provide
|
|
173
|
+
either a link to a PDF file of the article or a path to a local PDF file after the --article option. If you are using
|
|
174
|
+
Docker, ensure that you upload the PDF file to the OSA folder before building the image, then, specify the path as
|
|
175
|
+
/app/OSA/... or just use volume mounting to access the file.
|
|
176
|
+
|
|
177
|
+
The --generate-workflows option is intended to create customizable CI/CD pipelines for Python repositories. For detailed
|
|
178
|
+
documentation, see the [GitHub Action Workflow Generator README](./osa_tool/github_workflow/README.md).
|
|
154
179
|
|
|
155
180
|
### Configuration
|
|
156
181
|
|
|
157
|
-
| Flag | Description
|
|
158
|
-
|
|
159
|
-
| `-r`, `--repository` | URL of the GitHub repository (**Mandatory**)
|
|
160
|
-
| `--
|
|
161
|
-
| `--
|
|
162
|
-
| `--
|
|
163
|
-
| `--
|
|
164
|
-
| `--
|
|
165
|
-
| `--
|
|
166
|
-
| `--
|
|
182
|
+
| Flag | Description | Default |
|
|
183
|
+
|----------------------|-------------------------------------------------------------------------------------|-----------------------------|
|
|
184
|
+
| `-r`, `--repository` | URL of the GitHub repository (**Mandatory**) | |
|
|
185
|
+
| `-b`, `--branch` | Branch name of the GitHub repository | Default branch |
|
|
186
|
+
| `--api` | LLM API service provider | `llama` |
|
|
187
|
+
| `--base-url` | URL of the provider compatible with API OpenAI | `https://api.openai.com/v1` |
|
|
188
|
+
| `--model` | Specific LLM model to use | `gpt-3.5-turbo` |
|
|
189
|
+
| `-m`, `--mode` | Operation mode for repository processing: `basic`, `auto` (default), or `advanced`. | `auto` |
|
|
190
|
+
| `--delete-dir` | Enable deleting the downloaded repository after processing | `disabled` |
|
|
191
|
+
| `--no-fork` | Avoid create fork for target repository | `False` |
|
|
192
|
+
| `--no-pull-request` | Avoid create pull request for target repository | `False` |
|
|
193
|
+
| `--top_p` | Nucleus sampling probability | `null` |
|
|
194
|
+
| `--temperature` | Sampling temperature to use for the LLM output (0 = deterministic, 1 = creative). | `null` |
|
|
195
|
+
| `--max_tokens` | Maximum number of tokens the model can generate in a single response | `null` |
|
|
196
|
+
|
|
197
|
+
To learn how to work with the interactive CLI and view descriptions of all available keys, visit
|
|
198
|
+
the [CLI usage guide](./osa_tool/scheduler/README.md).
|
|
167
199
|
|
|
168
200
|
---
|
|
169
201
|
|
|
170
202
|
## Examples
|
|
171
203
|
|
|
172
|
-
Examples of generated README files are available in [examples](https://github.com/
|
|
204
|
+
Examples of generated README files are available in [examples](https://github.com/aimclub/OSA/tree/main/examples).
|
|
173
205
|
|
|
174
|
-
URL of the GitHub repository, LLM API service provider (*optional*) and Specific LLM model to use (*optional*) are
|
|
206
|
+
URL of the GitHub repository, LLM API service provider (*optional*) and Specific LLM model to use (*optional*) are
|
|
207
|
+
required to use the generator.
|
|
175
208
|
|
|
176
209
|
To see available models go there:
|
|
210
|
+
|
|
177
211
|
1. [VseGpt](https://vsegpt.ru/Docs/Models)
|
|
178
212
|
2. [OpenAI](https://platform.openai.com/docs/models)
|
|
179
213
|
3. [Ollama](https://ollama.com/library)
|
|
180
214
|
|
|
181
215
|
Local Llama ITMO:
|
|
216
|
+
|
|
182
217
|
```sh
|
|
183
|
-
python -m osa_tool.run -r https://github.com/
|
|
218
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA
|
|
184
219
|
```
|
|
220
|
+
|
|
185
221
|
OpenAI:
|
|
222
|
+
|
|
186
223
|
```sh
|
|
187
|
-
python -m osa_tool.run -r https://github.com/
|
|
224
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api openai
|
|
188
225
|
```
|
|
226
|
+
|
|
189
227
|
VseGPT:
|
|
228
|
+
|
|
190
229
|
```sh
|
|
191
|
-
python -m osa_tool.run -r https://github.com/
|
|
230
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api openai --base-url https://api.vsegpt.ru/v1 --model openai/gpt-3.5-turbo
|
|
192
231
|
```
|
|
232
|
+
|
|
193
233
|
Ollama:
|
|
234
|
+
|
|
194
235
|
```sh
|
|
195
|
-
python -m osa_tool.run -r https://github.com/
|
|
236
|
+
python -m osa_tool.run -r https://github.com/aimclub/OSA --api ollama --base-url http://[YOUR_OLLAMA_IP]:11434 --model gemma3:27b
|
|
196
237
|
```
|
|
197
238
|
|
|
198
239
|
---
|
|
199
240
|
|
|
200
241
|
## Documentation
|
|
201
242
|
|
|
202
|
-
Detailed description of OSA API is available [here](https://
|
|
243
|
+
Detailed description of OSA API is available [here](https://aimclub.github.io/OSA/).
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Publications about OSA
|
|
248
|
+
|
|
249
|
+
In English:
|
|
250
|
+
|
|
251
|
+
- [Automate Your Coding with OSA – ITMO-Made AI Assistant for Researchers](https://news.itmo.ru/en/news/14282/)
|
|
252
|
+
|
|
253
|
+
In Russian:
|
|
254
|
+
|
|
255
|
+
- [OSA: ИИ-помощник для разработчиков научного open source кода](https://habr.com/ru/companies/spbifmo/articles/906018/)
|
|
203
256
|
|
|
204
257
|
---
|
|
205
258
|
|
|
206
259
|
## Contributing
|
|
207
260
|
|
|
208
|
-
- **[Report Issues](https://github.com/
|
|
261
|
+
- **[Report Issues](https://github.com/aimclub/OSA/issues )**: Submit bugs found or log feature requests for the
|
|
262
|
+
Open-Source-Advisor project.
|
|
209
263
|
|
|
210
264
|
---
|
|
211
265
|
|
|
212
266
|
## License
|
|
213
267
|
|
|
214
|
-
This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to
|
|
268
|
+
This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to
|
|
269
|
+
the [LICENSE](https://github.com/aimclub/OSA/blob/main/LICENSE) file.
|
|
215
270
|
|
|
216
271
|
---
|
|
217
272
|
|
|
@@ -219,10 +274,11 @@ This project is protected under the BSD 3-Clause "New" or "Revised" License. For
|
|
|
219
274
|
|
|
220
275
|
The project is supported as ITMO University Research Project in AI Initiative (RPAII).
|
|
221
276
|
|
|
222
|
-
OSA is tested by the members of [ITMO OpenSource](https://t.me/scientific_opensource) community. Useful content from
|
|
277
|
+
OSA is tested by the members of [ITMO OpenSource](https://t.me/scientific_opensource) community. Useful content from
|
|
278
|
+
community
|
|
223
279
|
is available in [**Open-source-ops**](https://github.com/aimclub/open-source-ops)
|
|
224
280
|
|
|
225
|
-
Also, we thank [**Readme-ai**](https://github.com/eli64s/readme-ai)
|
|
281
|
+
Also, we thank [**Readme-ai**](https://github.com/eli64s/readme-ai)
|
|
226
282
|
for their code that we used as a foundation for our own version of README generator.
|
|
227
283
|
|
|
228
284
|
---
|
|
@@ -231,11 +287,11 @@ for their code that we used as a foundation for our own version of README genera
|
|
|
231
287
|
|
|
232
288
|
If you use this software, please cite it as below.
|
|
233
289
|
|
|
234
|
-
### APA format
|
|
290
|
+
### APA format
|
|
235
291
|
|
|
236
|
-
ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/
|
|
292
|
+
ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/aimclub/OSA
|
|
237
293
|
|
|
238
|
-
### BibTeX format
|
|
294
|
+
### BibTeX format
|
|
239
295
|
|
|
240
296
|
@misc{Open-Source-Advisor,
|
|
241
297
|
|
|
@@ -249,9 +305,9 @@ If you use this software, please cite it as below.
|
|
|
249
305
|
|
|
250
306
|
journal = {github.com repository},
|
|
251
307
|
|
|
252
|
-
howpublished = {\url{https://github.com/
|
|
308
|
+
howpublished = {\url{https://github.com/aimclub/OSA.git}},
|
|
253
309
|
|
|
254
|
-
url = {https://github.com/
|
|
310
|
+
url = {https://github.com/aimclub/OSA.git}
|
|
255
311
|
|
|
256
312
|
}
|
|
257
313
|
|