Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

About AIPyApp on QPython

This project is forked from https://github.com/knownsec/aipyapp/. We fully adhere to their licensing agreement and extend our heartfelt gratitude for their generous spirit of sharing.

We have made a lot of adjustments to the QPython runtime environment. If you need the PC version of AIPyApp, please use the original version.

Python use

Python use (aipython) is a Python command-line interpreter integrated with LLM.

What

Python use provides the entire Python execution environment to LLM. Imagine LLM sitting in front of a computer, typing various commands into the Python command-line interpreter, pressing Enter to execute, observing the results, and then typing and executing more code.

Unlike Agents, Python use does not define any tools interface. LLM can freely use all the features provided by the Python runtime environment.

Why

If you are a data engineer, you are likely familiar with the following scenarios:

  • Handling various data file formats: csv/excel, json, html, sqlite, parquet, etc.
  • Performing operations like data cleaning, transformation, computation, aggregation, sorting, grouping, filtering, analysis, and visualization.

This process often requires:

  • Starting Python, importing pandas as pd, and typing a bunch of commands to process data.
  • Generating a bunch of intermediate temporary files.
  • Describing your needs to ChatGPT/Claude, copying the generated data processing code, and running it manually.

So, why not start the Python command-line interpreter, directly describe your data processing needs, and let it be done automatically? The benefits are:

  • No need to manually input a bunch of Python commands temporarily.
  • No need to describe your needs to GPT, copy the program, and run it manually.

This is the problem Python use aims to solve!

How

Python use (aipython) is a Python command-line interpreter integrated with LLM. You can:

  • Enter and execute Python commands as usual.
  • Describe your needs in natural language, and aipython will automatically generate Python commands and execute them.

Moreover, the two modes can access data interchangeably. For example, after aipython processes your natural language commands, you can use standard Python commands to view various data.

Interfaces

ai Object

  • __call__(instruction): Execute the automatic processing loop until LLM no longer returns code messages
  • save(path): Save the interaction process to an svg or html file
  • llm Property: LLM object
  • runner Property: Runner object

LLM Object

  • history Property: Message history of the interaction process between the user and LLM

Runner Object

  • globals: Global variables of the Python environment executing the code returned by LLM
  • locals: Local variables of the Python environment executing the code returned by LLM

runtime Object

For the code generated by LLM to call, providing the following interface:

  • install_packages(packages): Request to install third-party packages
  • getenv(name, desc=None): Get environment variables
  • display(path=None, url=None): Display images in the terminal

Usage

AIPython has two running modes:

  • Task mode: Very simple and easy to use, just input your task, suitable for users unfamiliar with Python.
  • Python mode: Suitable for users familiar with Python, allowing both task input and Python commands, ideal for advanced users.

The default running mode is task mode, which can be switched to Python mode using the --python parameter.

Task Mode

uv run aipython

>>> Get the latest posts from Reddit r/LocalLLaMA
......
......
>>> /done

Python Mode

Basic Usage

Automatic task processing:

>>> ai("Get the title of Google's homepage")

Automatically Request to Install Third-Party Libraries

Python use - AIPython (Quit with 'exit()')
>>> ai("Use psutil to list all processes on MacOS")
📦 LLM requests to install third-party packages: ['psutil']
If you agree and have installed, please enter 'y [y/n] (n): y

TODO

  • Use AST to automatically detect and fix Python code returned by LLM

Thanks

  • Hei Ge: Product manager/senior user/chief tester
  • Sonnet 3.7: Generated the first version of the code, which was almost ready to use without modification.
  • ChatGPT: Provided many suggestions and code snippets, especially for the command-line interface.
  • Codeium: Intelligent code completion
  • Copilot: Code improvement suggestions and README translation

About

aipython on QPython

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages