cv-study-utils 0.1.2__tar.gz → 0.1.3__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.
Files changed (21) hide show
  1. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/PKG-INFO +49 -1
  2. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/README.md +48 -0
  3. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/cli.py +11 -0
  4. cv_study_utils-0.1.3/cv_study_utils/theory_full.py +887 -0
  5. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/PKG-INFO +49 -1
  6. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/pyproject.toml +1 -1
  7. cv_study_utils-0.1.2/cv_study_utils/theory_full.py +0 -146
  8. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/__init__.py +0 -0
  9. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/api.py +0 -0
  10. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/llm.py +0 -0
  11. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/practice_solutions.py +0 -0
  12. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/sources.py +0 -0
  13. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/theory_answers.py +0 -0
  14. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/theory_extras.py +0 -0
  15. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils/theory_short.py +0 -0
  16. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/SOURCES.txt +0 -0
  17. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/dependency_links.txt +0 -0
  18. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/entry_points.txt +0 -0
  19. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/requires.txt +0 -0
  20. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/cv_study_utils.egg-info/top_level.txt +0 -0
  21. {cv_study_utils-0.1.2 → cv_study_utils-0.1.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cv-study-utils
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Notebook-friendly study utilities for computer vision theory and practice snippets.
5
5
  Author: CV Exam Helper
6
6
  License-Expression: MIT
@@ -109,6 +109,54 @@ cvstudy llm-status
109
109
  cvstudy ask "объясни Canny" --engine ollama
110
110
  ```
111
111
 
112
+ ## Памятка команд
113
+
114
+ ```python
115
+ pip install --upgrade --no-cache-dir cv-study-utils # установить/обновить библиотеку
116
+ from cv_study_utils import theory, theory_short, practice, find # основной импорт
117
+ theory() # список всех теоретических вопросов
118
+ theory(5) # полный ответ на вопрос 5
119
+ theory(5, variant="short") # короткий ответ на вопрос 5
120
+ theory_short(5) # короткий ответ через отдельную функцию
121
+ theory("Canny") # поиск теории по тексту
122
+ theory(5, copy=True) # скопировать ответ по теории
123
+ practice() # список всех практических заданий
124
+ practice(3) # код практического задания 3
125
+ practice("сегментация") # поиск практики по тексту
126
+ practice(3, copy=True) # скопировать код практики
127
+ find("U-Net") # поиск по теории и практике
128
+ find("Canny", kind="theory") # поиск только по теории
129
+ find("сегментация", kind="practice") # поиск только по практике
130
+ ```
131
+
132
+ ```python
133
+ from cv_study_utils import all_theory, all_theory_variant, all_practice
134
+ all_theory() # вывести всю полную теорию
135
+ all_theory_variant(variant="short") # вывести всю короткую теорию
136
+ all_practice() # вывести все практические шаблоны
137
+ ```
138
+
139
+ ```python
140
+ from cv_study_utils import clipboard_status, ask_local, llm_status
141
+ clipboard_status() # проверить копирование
142
+ llm_status() # проверить Ollama/LM Studio на localhost
143
+ ask_local("Объясни алгоритм Canny") # спросить локальную Ollama
144
+ ask_local("Дай код для сегментации", context_kind="practice") # LLM с контекстом практики
145
+ ask_local("Объясни CNN", context_kind="theory") # LLM с контекстом теории
146
+ ask_local("Объясни U-Net", engine="lmstudio", model="local-model") # спросить LM Studio
147
+ ```
148
+
149
+ ```bash
150
+ python -m cv_study_utils.cli theory 5 # CLI: полный ответ
151
+ python -m cv_study_utils.cli theory 5 --variant short # CLI: короткий ответ
152
+ python -m cv_study_utils.cli theory --all # CLI: вся полная теория
153
+ python -m cv_study_utils.cli practice 3 # CLI: практика 3
154
+ python -m cv_study_utils.cli practice --all # CLI: вся практика
155
+ python -m cv_study_utils.cli find "Vision Transformer" # CLI: поиск
156
+ python -m cv_study_utils.cli llm-status # CLI: проверка локальной LLM
157
+ python -m cv_study_utils.cli ask "объясни Canny" --engine ollama # CLI: спросить Ollama
158
+ ```
159
+
112
160
  ## Что внутри
113
161
 
114
162
  - `cv_study_utils/theory_answers.py` - 48 кратких ответов на теоретические вопросы.
@@ -93,6 +93,54 @@ cvstudy llm-status
93
93
  cvstudy ask "объясни Canny" --engine ollama
94
94
  ```
95
95
 
96
+ ## Памятка команд
97
+
98
+ ```python
99
+ pip install --upgrade --no-cache-dir cv-study-utils # установить/обновить библиотеку
100
+ from cv_study_utils import theory, theory_short, practice, find # основной импорт
101
+ theory() # список всех теоретических вопросов
102
+ theory(5) # полный ответ на вопрос 5
103
+ theory(5, variant="short") # короткий ответ на вопрос 5
104
+ theory_short(5) # короткий ответ через отдельную функцию
105
+ theory("Canny") # поиск теории по тексту
106
+ theory(5, copy=True) # скопировать ответ по теории
107
+ practice() # список всех практических заданий
108
+ practice(3) # код практического задания 3
109
+ practice("сегментация") # поиск практики по тексту
110
+ practice(3, copy=True) # скопировать код практики
111
+ find("U-Net") # поиск по теории и практике
112
+ find("Canny", kind="theory") # поиск только по теории
113
+ find("сегментация", kind="practice") # поиск только по практике
114
+ ```
115
+
116
+ ```python
117
+ from cv_study_utils import all_theory, all_theory_variant, all_practice
118
+ all_theory() # вывести всю полную теорию
119
+ all_theory_variant(variant="short") # вывести всю короткую теорию
120
+ all_practice() # вывести все практические шаблоны
121
+ ```
122
+
123
+ ```python
124
+ from cv_study_utils import clipboard_status, ask_local, llm_status
125
+ clipboard_status() # проверить копирование
126
+ llm_status() # проверить Ollama/LM Studio на localhost
127
+ ask_local("Объясни алгоритм Canny") # спросить локальную Ollama
128
+ ask_local("Дай код для сегментации", context_kind="practice") # LLM с контекстом практики
129
+ ask_local("Объясни CNN", context_kind="theory") # LLM с контекстом теории
130
+ ask_local("Объясни U-Net", engine="lmstudio", model="local-model") # спросить LM Studio
131
+ ```
132
+
133
+ ```bash
134
+ python -m cv_study_utils.cli theory 5 # CLI: полный ответ
135
+ python -m cv_study_utils.cli theory 5 --variant short # CLI: короткий ответ
136
+ python -m cv_study_utils.cli theory --all # CLI: вся полная теория
137
+ python -m cv_study_utils.cli practice 3 # CLI: практика 3
138
+ python -m cv_study_utils.cli practice --all # CLI: вся практика
139
+ python -m cv_study_utils.cli find "Vision Transformer" # CLI: поиск
140
+ python -m cv_study_utils.cli llm-status # CLI: проверка локальной LLM
141
+ python -m cv_study_utils.cli ask "объясни Canny" --engine ollama # CLI: спросить Ollama
142
+ ```
143
+
96
144
  ## Что внутри
97
145
 
98
146
  - `cv_study_utils/theory_answers.py` - 48 кратких ответов на теоретические вопросы.
@@ -2,12 +2,23 @@ from __future__ import annotations
2
2
 
3
3
  import argparse
4
4
  import json
5
+ import sys
5
6
 
6
7
  from .api import all_practice, all_theory_variant, find, list_practice, list_theory, practice, theory
7
8
  from .llm import ask_local, llm_status
8
9
 
9
10
 
11
+ def _configure_output_encoding() -> None:
12
+ for stream in (sys.stdout, sys.stderr):
13
+ try:
14
+ stream.reconfigure(encoding="utf-8", errors="replace")
15
+ except Exception:
16
+ pass
17
+
18
+
10
19
  def main() -> None:
20
+ _configure_output_encoding()
21
+
11
22
  parser = argparse.ArgumentParser(prog="cvstudy")
12
23
  sub = parser.add_subparsers(dest="command", required=True)
13
24