dialoghelper 0.0.31__tar.gz → 0.0.33__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.

Potentially problematic release.


This version of dialoghelper might be problematic. Click here for more details.

Files changed (22) hide show
  1. {dialoghelper-0.0.31/dialoghelper.egg-info → dialoghelper-0.0.33}/PKG-INFO +4 -2
  2. dialoghelper-0.0.33/dialoghelper/__init__.py +2 -0
  3. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper/_modidx.py +3 -0
  4. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper/core.py +46 -11
  5. {dialoghelper-0.0.31 → dialoghelper-0.0.33/dialoghelper.egg-info}/PKG-INFO +4 -2
  6. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/requires.txt +3 -1
  7. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/settings.ini +2 -2
  8. dialoghelper-0.0.31/dialoghelper/__init__.py +0 -2
  9. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/LICENSE +0 -0
  10. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/MANIFEST.in +0 -0
  11. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/README.md +0 -0
  12. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper/db_dc.py +0 -0
  13. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper/experimental.py +0 -0
  14. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper/screenshot.js +0 -0
  15. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/SOURCES.txt +0 -0
  16. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/dependency_links.txt +0 -0
  17. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/entry_points.txt +0 -0
  18. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/not-zip-safe +0 -0
  19. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/dialoghelper.egg-info/top_level.txt +0 -0
  20. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/pyproject.toml +0 -0
  21. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/setup.cfg +0 -0
  22. {dialoghelper-0.0.31 → dialoghelper-0.0.33}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dialoghelper
3
- Version: 0.0.31
3
+ Version: 0.0.33
4
4
  Summary: Helper functions for solveit dialogs
5
5
  Home-page: https://github.com/AnswerDotAI/dialoghelper
6
6
  Author: Jeremy Howard
@@ -18,11 +18,13 @@ Classifier: License :: OSI Approved :: Apache Software License
18
18
  Requires-Python: >=3.9
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: fastcore>=1.8.5
21
+ Requires-Dist: fastcore>=1.8.11
22
22
  Requires-Dist: fastlite
23
23
  Requires-Dist: ghapi
24
24
  Requires-Dist: ipykernel-helper
25
25
  Requires-Dist: claudette
26
+ Requires-Dist: ast-grep-cli
27
+ Requires-Dist: ast-grep-py
26
28
  Provides-Extra: dev
27
29
  Requires-Dist: python-fasthtml; extra == "dev"
28
30
  Dynamic: author
@@ -0,0 +1,2 @@
1
+ __version__ = "0.0.33"
2
+ from .core import *
@@ -9,9 +9,12 @@ d = { 'settings': { 'branch': 'main',
9
9
  'dialoghelper.core._umsg': ('core.html#_umsg', 'dialoghelper/core.py'),
10
10
  'dialoghelper.core.add_html': ('core.html#add_html', 'dialoghelper/core.py'),
11
11
  'dialoghelper.core.add_msg': ('core.html#add_msg', 'dialoghelper/core.py'),
12
+ 'dialoghelper.core.ast_grep': ('core.html#ast_grep', 'dialoghelper/core.py'),
13
+ 'dialoghelper.core.ast_py': ('core.html#ast_py', 'dialoghelper/core.py'),
12
14
  'dialoghelper.core.call_endp': ('core.html#call_endp', 'dialoghelper/core.py'),
13
15
  'dialoghelper.core.curr_dialog': ('core.html#curr_dialog', 'dialoghelper/core.py'),
14
16
  'dialoghelper.core.del_msg': ('core.html#del_msg', 'dialoghelper/core.py'),
17
+ 'dialoghelper.core.fc_tool_info': ('core.html#fc_tool_info', 'dialoghelper/core.py'),
15
18
  'dialoghelper.core.find_dname': ('core.html#find_dname', 'dialoghelper/core.py'),
16
19
  'dialoghelper.core.find_msg_id': ('core.html#find_msg_id', 'dialoghelper/core.py'),
17
20
  'dialoghelper.core.find_msgs': ('core.html#find_msgs', 'dialoghelper/core.py'),
@@ -2,8 +2,9 @@
2
2
 
3
3
  # %% auto 0
4
4
  __all__ = ['Placements', 'empty', 'find_var', 'call_endp', 'find_dname', 'find_msg_id', 'curr_dialog', 'find_msgs', 'msg_idx',
5
- 'read_msg', 'add_html', 'del_msg', 'run_msg', 'add_msg', 'update_msg', 'url2note', 'load_gist', 'gist_file',
6
- 'import_string', 'is_usable_tool', 'mk_toollist', 'import_gist', 'tool_info', 'asdict']
5
+ 'read_msg', 'add_html', 'run_msg', 'add_msg', 'del_msg', 'update_msg', 'url2note', 'ast_py', 'ast_grep',
6
+ 'load_gist', 'gist_file', 'import_string', 'is_usable_tool', 'mk_toollist', 'import_gist', 'tool_info',
7
+ 'fc_tool_info', 'asdict']
7
8
 
8
9
  # %% ../nbs/00_core.ipynb
9
10
  import json, importlib, linecache
@@ -106,14 +107,6 @@ def add_html(
106
107
  "Send HTML to the browser to be swapped into the DOM"
107
108
  call_endp('add_html_', dname, content=to_xml(content))
108
109
 
109
- # %% ../nbs/00_core.ipynb
110
- def del_msg(
111
- msgid:str=None, # id of message to delete
112
- dname:str='' # Running dialog to get info for; defaults to current dialog
113
- ):
114
- "Delete a message from the dialog."
115
- call_endp('rm_msg_', dname, raiseex=True, msid=msgid)
116
-
117
110
  # %% ../nbs/00_core.ipynb
118
111
  def run_msg(
119
112
  msgid:str=None, # id of message to execute
@@ -148,6 +141,14 @@ def add_msg(
148
141
  time_run=time_run, is_exported=is_exported, skipped=skipped, pinned=pinned,
149
142
  i_collapsed=i_collapsed, o_collapsed=o_collapsed, heading_collapsed=heading_collapsed)
150
143
 
144
+ # %% ../nbs/00_core.ipynb
145
+ def del_msg(
146
+ msgid:str=None, # id of message to delete
147
+ dname:str='' # Running dialog to get info for; defaults to current dialog
148
+ ):
149
+ "Delete a message from the dialog."
150
+ call_endp('rm_msg_', dname, raiseex=True, msid=msgid)
151
+
151
152
  # %% ../nbs/00_core.ipynb
152
153
  @delegates(add_msg)
153
154
  def _add_msg_unsafe(
@@ -155,12 +156,12 @@ def _add_msg_unsafe(
155
156
  placement:str='add_after', # Can be 'add_after', 'add_before', 'at_start', 'at_end'
156
157
  msgid:str=None, # id of message that placement is relative to (if None, uses current message)
157
158
  run:bool=False, # For prompts, send it to the AI; for code, execute it (*DANGEROUS -- be careful of what you run!)
159
+ dname:str='', # Running dialog to get info for; defaults to current dialog
158
160
  **kwargs
159
161
  ):
160
162
  """Add/update a message to the queue to show after code execution completes, and optionally run it. Be sure to pass a `sid` (stable id) not a `mid` (which is used only for sorting, and can change).
161
163
  *WARNING*--This can execute arbitrary code, so check carefully what you run!--*WARNING"""
162
164
  if placement not in ('at_start','at_end') and not msgid: msgid = find_msg_id()
163
- dname = kwargs.pop('dname')
164
165
  return call_endp(
165
166
  'add_relative_', dname, content=content, placement=placement, msgid=msgid, run=run, **kwargs)
166
167
 
@@ -201,6 +202,25 @@ def url2note(
201
202
  res = read_url(url, as_md=True, extract_section=extract_section, selector=selector)
202
203
  return add_msg(res)
203
204
 
205
+ # %% ../nbs/00_core.ipynb
206
+ def ast_py(code:str):
207
+ "Get an SgRoot root node for python `code`"
208
+ from ast_grep_py import SgRoot
209
+ return SgRoot(code, "python").root()
210
+
211
+ # %% ../nbs/00_core.ipynb
212
+ def ast_grep(
213
+ pattern:str, # ast-grep pattern to search
214
+ path=".", # path to recursively search for files
215
+ lang="python" # language to search/scan
216
+ ):
217
+ "Use the `ast-grep` command to find `pattern` in `path`"
218
+ import json, subprocess
219
+ cmd = f"ast-grep --pattern '{pattern}' --lang {lang} --json=compact"
220
+ if path != ".": cmd = f"cd {path} && {cmd}"
221
+ res = subprocess.run(cmd, shell=True, capture_output=True, text=True)
222
+ return json.loads(res.stdout) if res.stdout else res.stderr
223
+
204
224
  # %% ../nbs/00_core.ipynb
205
225
  def load_gist(gist_id:str):
206
226
  "Retrieve a gist"
@@ -283,3 +303,18 @@ def tool_info():
283
303
  - &`update_msg`: Update an existing message.
284
304
  - &`url2note`: Read URL as markdown, and add a note below current message with the result'''
285
305
  add_msg(cts)
306
+
307
+ # %% ../nbs/00_core.ipynb
308
+ def fc_tool_info():
309
+ cts='''Tools available from `fastcore.tools`:
310
+
311
+ - &`rg`: Run the `rg` command with the args in `argstr` (no need to backslash escape)
312
+ - &`sed`: Run the `sed` command with the args in `argstr` (e.g for reading a section of a file)
313
+ - &`view`: View directory or file contents with optional line range and numbers
314
+ - &`create`: Creates a new file with the given content at the specified path
315
+ - &`insert`: Insert new_str at specified line number
316
+ - &`str_replace`: Replace first occurrence of old_str with new_str in file
317
+ - &`strs_replace`: Replace for each str pair in old_strs,new_strs
318
+ - &`replace_lines`: Replace lines in file using start and end line-numbers'''
319
+ add_msg(cts)
320
+ add_msg('from fastcore.tools import *', msg_type='code')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dialoghelper
3
- Version: 0.0.31
3
+ Version: 0.0.33
4
4
  Summary: Helper functions for solveit dialogs
5
5
  Home-page: https://github.com/AnswerDotAI/dialoghelper
6
6
  Author: Jeremy Howard
@@ -18,11 +18,13 @@ Classifier: License :: OSI Approved :: Apache Software License
18
18
  Requires-Python: >=3.9
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: fastcore>=1.8.5
21
+ Requires-Dist: fastcore>=1.8.11
22
22
  Requires-Dist: fastlite
23
23
  Requires-Dist: ghapi
24
24
  Requires-Dist: ipykernel-helper
25
25
  Requires-Dist: claudette
26
+ Requires-Dist: ast-grep-cli
27
+ Requires-Dist: ast-grep-py
26
28
  Provides-Extra: dev
27
29
  Requires-Dist: python-fasthtml; extra == "dev"
28
30
  Dynamic: author
@@ -1,8 +1,10 @@
1
- fastcore>=1.8.5
1
+ fastcore>=1.8.11
2
2
  fastlite
3
3
  ghapi
4
4
  ipykernel-helper
5
5
  claudette
6
+ ast-grep-cli
7
+ ast-grep-py
6
8
 
7
9
  [dev]
8
10
  python-fasthtml
@@ -1,11 +1,11 @@
1
1
  [DEFAULT]
2
2
  repo = dialoghelper
3
3
  lib_name = dialoghelper
4
- version = 0.0.31
4
+ version = 0.0.33
5
5
  min_python = 3.9
6
6
  license = apache2
7
7
  black_formatting = False
8
- requirements = fastcore>=1.8.5 fastlite ghapi ipykernel-helper claudette
8
+ requirements = fastcore>=1.8.11 fastlite ghapi ipykernel-helper claudette ast-grep-cli ast-grep-py
9
9
  dev_requirements = python-fasthtml
10
10
  doc_path = _docs
11
11
  lib_path = dialoghelper
@@ -1,2 +0,0 @@
1
- __version__ = "0.0.31"
2
- from .core import *
File without changes
File without changes
File without changes
File without changes
File without changes