pretzelai


Namepretzelai JSON
Version 4.2.5 PyPI version JSON
download
home_pageNone
SummaryPretzel is a fork of JupyterLab that improves the user experience of the JupyterLab computational environment.
upload_time2024-06-12 14:18:19
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licensePretzel is a fork of Project Jupyter, which is licensed under the terms of the Modified BSD License. The original code of this project, contributed by the Project Jupyter Contributors and other parties, remains under the original license. The original LICENSE text is as follows: ============================================================================== Copyright (c) 2015-2022 Project Jupyter Contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Semver File License =================== The semver.py file is from https://github.com/podhmo/python-semver which is licensed under the "MIT" license. See the semver.py file for details. ============================================================================== All modifications and additions to the Jupyter codebase made by Pretzel contributors listed in the PRETZEL_CONTRIBUTORS file (found at the root of the project) are licensed under the terms of the GNU Affero General Public License v3.0. These terms can be found in the LICENSE_AGPLv3 file at the root of the project. Copyright for all new code contributions by Pretzel AI GmbH and listed contributors is held by Pretzel AI GmbH. Each new file created by Pretzel AI GmbH or its contributors is identified with a header stating the copyright and licensing under AGPLv3. ============================================================================== The contents of the folder pretzelai_visual represent an older tool, which is no longer actively developed. All files in this folder are licensed under the terms of the Apache License, Version 2.0. These terms can be found in the LICENSE file in the pretzelai_visual folder.
keywords ipython jupyter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [Pretzel](https://withpretzel.com)

Pretzel is a fork of Jupyter with the goal to improve Jupyter's capabilities. As one of our first releases, we've added AI code generation, editing and error fixing to Jupyter.

**TL;DR**

- Install Pretzel: `pip install pretzelai` then run `pretzel lab` to open the web interface
- In any Jupyter cell, click “**Ask AI**” or press Cmd+K (Mac) / Ctrl+K (Linux/Windows) to prompt AI
- Try our free hosted version: https://pretzelai.app

Switching to Pretzel from Jupyter is extremely easy. We use your existing Jupyter extensions, settings and keybindings.

Our roadmap includes building features such as:

- Native AI features similar to [Cursor](https://cursor.sh/)
- Frictionless realtime collaboration: pair-programming, comments, version history, etc.
- SQL support (both in code cells and as a standalone SQL IDE)
- Visual analysis builder (see more here)
- VSCode like code-writing experience using [Monaco](https://github.com/microsoft/monaco-editor)
- 1-click dashboard creation from data analysis results
- End-to-end analysis on datasets for non-data folks

## Installation

Just as with Jupyter, you can install Pretzel by using pip:

```
pip install pretzelai
```

If using conda, first install pip with `conda install pip` followed by `pip install pretzelai`.

Then, start Pretzel with:

```
pretzel lab
```

Just as with Jupyter, you should see a URL to access the Pretzel interface.

**Bleeding Edge Version**

Bugs possible. To use the latest version of Pretzel:

- Make sure Node.js is installed and is version 20
- Clone and install the package

```
git clone https://github.com/pretzelai/pretzelai.git
cd pretzelai
pip install .
```

## Configuration

Pretzel comes with out-of-the-box support for a free AI server. You should be able to start using it with no configuration needed.

**OpenAI Support**
You can configure Pretzel to use your own OpenAI API key. To do so:

- Open the `Settings` menu in the top menubar
- Go down to `Settings Editor`, open it and search for `Pretzel` in the search box. Select `Pretzel AI Settings` on the left bar.
- From the `AI Service` dropdown, select `OpenAI API Key` and fill out your API key under `OpenAI Settings > API Key`
- If your company uses OpenAI Enterprise, then you can also enter the base URL for OpenAI call under `OpenAI Settings`

**Azure Support**
Just as with OpenAI settings, you can also use Azure hosted models if you select `Use Azure API` in the `AI Service` dropdown. _We haven't tested this so there may be bugs._

## Usage

**Adding code to an empty cell**

- When in a cell, press `Cmd+K` (Mac) / `Ctrl+K` (Windows/Linux) to open AI prompting textbox and write your prompt
  - You can use `@variable` syntax to refer to variables and dataframes in memory. Press "Enter" to submit
- You can accept/reject the response or edit your prompt if you want to re-submit with modifications

**Adding code in the middle of existing code**

- Put your cursor either on an empty line or an existing line of code. Bring up the AI prompting text box with Cmd+K
- Start your prompt with the word `inject` or `ij` (case-insensitive) - this tells the AI to only add new code and not edit the existing code in the cell
- Code will be added one line below where your cursor was placed

**Support for editing code**

- If there's existing code in a cell, you can prompt the AI to edit the code
- If you select/highlight some code in a cell, only the selected code will be edited

**Fix errors with AI**

- When there's an error, you'll see a button on top-right "**Fix Error with AI**". Click it
- The AI will try to resolve the error even if it is in a different cell by adding the appropriate code

## Feedback, bugs and docs

- Please report bugs here: https://github.com/pretzelai/pretzelai/issues
- Have any feedback? Any complains? We'd love feedback: founders@withpretzel.com
- Additional documentation will become available on our website by end of May!

## Jupyter specific information

The original Jupyter documentation is available [here](https://jupyter.org/) and
the Jupyterlab README is available [here](https://github.com/jupyterlab/jupyterlab).

## FAQ

**Q.** _What happened to the old version of Pretzel AI - the visual, in-browser data manipulation tool?_

**A.** It's available in the [`pretzelai_visual` folder here](https://github.com/pretzelai/pretzelai/tree/main/pretzelai_visual). Please see [this PR](https://github.com/pretzelai/pretzelai/pull/76) for more info.

**Q.** _What AI model does Pretzel use?_

**A.** We currently use GPT-4o by default and it's been good so far. We also allow you to switch models in Pretzel Settings if you're using your own API key. We will keep experimenting with the model, prompts and parameters to keep improving the code-gen experience.

**Q.** _What about feature X?_

**A.** There's a ton we want to build. Please [open an issue](https://github.com/pretzelai/pretzelai/issues) and tell us what you want us to build!

**Q.** _Where's the roadmap?_

**A.** There's so many features we'd like to build! But, there's just two of us and so, we're collecting feedback about what would be most helpful. As a result, we don't have a concrete roadmap just yet. We'd love your help with this! Please open an issue or just send us an email with your feedback!

**Q.** _What's the deal with the license?_

**A.** Our goal with building Pretzel is to make an amazing data tool that is free for both individuals and companies to use. That said, we are a two person startup - and we don't want some third party to just take our code and sell a hosted version of it without giving back to the community. Jupyter code is licensed as BSD-3 and if we keep our new code BSD-3 licensed, there would be no way to stop third-party from doing this. As a result, we went with the AGPLv3 license for all the new code. This ensures that if someone else does want to take our code and sell it (SaaS or otherwise), they have to open-source all of their modifications under AGPLv3 as well.

**Q.** _Why a fork of Jupyter? Why not contribute into Jupyter directly?_

**A.** This deserves a longer answer but here's the short answer: We've set out to make the **new** de-facto, modern, open-source data tool. Initially, we wanted to start from scratch. However, after talking to several data professionals, we realized it will be very hard to get people to switch to a new tool, no matter how good. The best way to get people to switch is to not have them switch at all. That's why we decided to fork Jupyter - for the near zero switching costs. Also, Jupyter is a mature product and we're shipping feature really fast - frankly, at the pace we're shipping features, the code we write won't be accepted into the Jupyter codebase 😅. There are also many downsides to this decision - we've had to spend considerable time understanding the whole Jupyter ecosystem and multiple codebases, the complex release processes, the various APIs etc. However, we think this is the right decision for us.

**Q.** _My company is worried about using an AGPLv3 licensed tool. What can I do?_

**A.** The AGPL is a barrier ONLY IF you're modifying Pretzel AND redistributing it to the public. If you're simply using it as a tool in your company (even with modifications), the AGPL DOES NOT ask you to share your code. Still, if AGPL is an issue for you, please contact us, and we can figure out something that works.

**Q.** _I'm worried about a "rug-pull" - that you will re-license the code to be under a paid license in the future? OR, how are you planning on making money?_

**A.** We're planning on selling a hosted version of the tool to companies to make money. This hosted version will probably have some company specific features that individuals don't want or need such as data access controls, connectors for data sources, integration with GitHub, hosted and shareable dashboard, scalable compute for large jobs etc. We will not retroactively make Pretzel's individual version paid.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pretzelai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ipython, jupyter",
    "author": null,
    "author_email": "Pretzel AI GmbH <founders@pretzel.ai>",
    "download_url": "https://files.pythonhosted.org/packages/db/05/abb4ebfc12b837f6c644ac280db84a198199599e93d26815f958b53e6825/pretzelai-4.2.5.tar.gz",
    "platform": null,
    "description": "# [Pretzel](https://withpretzel.com)\n\nPretzel is a fork of Jupyter with the goal to improve Jupyter's capabilities. As one of our first releases, we've added AI code generation, editing and error fixing to Jupyter.\n\n**TL;DR**\n\n- Install Pretzel: `pip install pretzelai` then run `pretzel lab` to open the web interface\n- In any Jupyter cell, click \u201c**Ask AI**\u201d or press Cmd+K (Mac) / Ctrl+K (Linux/Windows) to prompt AI\n- Try our free hosted version: https://pretzelai.app\n\nSwitching to Pretzel from Jupyter is extremely easy. We use your existing Jupyter extensions, settings and keybindings.\n\nOur roadmap includes building features such as:\n\n- Native AI features similar to [Cursor](https://cursor.sh/)\n- Frictionless realtime collaboration: pair-programming, comments, version history, etc.\n- SQL support (both in code cells and as a standalone SQL IDE)\n- Visual analysis builder (see more here)\n- VSCode like code-writing experience using [Monaco](https://github.com/microsoft/monaco-editor)\n- 1-click dashboard creation from data analysis results\n- End-to-end analysis on datasets for non-data folks\n\n## Installation\n\nJust as with Jupyter, you can install Pretzel by using pip:\n\n```\npip install pretzelai\n```\n\nIf using conda, first install pip with `conda install pip` followed by `pip install pretzelai`.\n\nThen, start Pretzel with:\n\n```\npretzel lab\n```\n\nJust as with Jupyter, you should see a URL to access the Pretzel interface.\n\n**Bleeding Edge Version**\n\nBugs possible. To use the latest version of Pretzel:\n\n- Make sure Node.js is installed and is version 20\n- Clone and install the package\n\n```\ngit clone https://github.com/pretzelai/pretzelai.git\ncd pretzelai\npip install .\n```\n\n## Configuration\n\nPretzel comes with out-of-the-box support for a free AI server. You should be able to start using it with no configuration needed.\n\n**OpenAI Support**\nYou can configure Pretzel to use your own OpenAI API key. To do so:\n\n- Open the `Settings` menu in the top menubar\n- Go down to `Settings Editor`, open it and search for `Pretzel` in the search box. Select `Pretzel AI Settings` on the left bar.\n- From the `AI Service` dropdown, select `OpenAI API Key` and fill out your API key under `OpenAI Settings > API Key`\n- If your company uses OpenAI Enterprise, then you can also enter the base URL for OpenAI call under `OpenAI Settings`\n\n**Azure Support**\nJust as with OpenAI settings, you can also use Azure hosted models if you select `Use Azure API` in the `AI Service` dropdown. _We haven't tested this so there may be bugs._\n\n## Usage\n\n**Adding code to an empty cell**\n\n- When in a cell, press `Cmd+K` (Mac) / `Ctrl+K` (Windows/Linux) to open AI prompting textbox and write your prompt\n  - You can use `@variable` syntax to refer to variables and dataframes in memory. Press \"Enter\" to submit\n- You can accept/reject the response or edit your prompt if you want to re-submit with modifications\n\n**Adding code in the middle of existing code**\n\n- Put your cursor either on an empty line or an existing line of code. Bring up the AI prompting text box with Cmd+K\n- Start your prompt with the word `inject` or `ij` (case-insensitive) - this tells the AI to only add new code and not edit the existing code in the cell\n- Code will be added one line below where your cursor was placed\n\n**Support for editing code**\n\n- If there's existing code in a cell, you can prompt the AI to edit the code\n- If you select/highlight some code in a cell, only the selected code will be edited\n\n**Fix errors with AI**\n\n- When there's an error, you'll see a button on top-right \"**Fix Error with AI**\". Click it\n- The AI will try to resolve the error even if it is in a different cell by adding the appropriate code\n\n## Feedback, bugs and docs\n\n- Please report bugs here: https://github.com/pretzelai/pretzelai/issues\n- Have any feedback? Any complains? We'd love feedback: founders@withpretzel.com\n- Additional documentation will become available on our website by end of May!\n\n## Jupyter specific information\n\nThe original Jupyter documentation is available [here](https://jupyter.org/) and\nthe Jupyterlab README is available [here](https://github.com/jupyterlab/jupyterlab).\n\n## FAQ\n\n**Q.** _What happened to the old version of Pretzel AI - the visual, in-browser data manipulation tool?_\n\n**A.** It's available in the [`pretzelai_visual` folder here](https://github.com/pretzelai/pretzelai/tree/main/pretzelai_visual). Please see [this PR](https://github.com/pretzelai/pretzelai/pull/76) for more info.\n\n**Q.** _What AI model does Pretzel use?_\n\n**A.** We currently use GPT-4o by default and it's been good so far. We also allow you to switch models in Pretzel Settings if you're using your own API key. We will keep experimenting with the model, prompts and parameters to keep improving the code-gen experience.\n\n**Q.** _What about feature X?_\n\n**A.** There's a ton we want to build. Please [open an issue](https://github.com/pretzelai/pretzelai/issues) and tell us what you want us to build!\n\n**Q.** _Where's the roadmap?_\n\n**A.** There's so many features we'd like to build! But, there's just two of us and so, we're collecting feedback about what would be most helpful. As a result, we don't have a concrete roadmap just yet. We'd love your help with this! Please open an issue or just send us an email with your feedback!\n\n**Q.** _What's the deal with the license?_\n\n**A.** Our goal with building Pretzel is to make an amazing data tool that is free for both individuals and companies to use. That said, we are a two person startup - and we don't want some third party to just take our code and sell a hosted version of it without giving back to the community. Jupyter code is licensed as BSD-3 and if we keep our new code BSD-3 licensed, there would be no way to stop third-party from doing this. As a result, we went with the AGPLv3 license for all the new code. This ensures that if someone else does want to take our code and sell it (SaaS or otherwise), they have to open-source all of their modifications under AGPLv3 as well.\n\n**Q.** _Why a fork of Jupyter? Why not contribute into Jupyter directly?_\n\n**A.** This deserves a longer answer but here's the short answer: We've set out to make the **new** de-facto, modern, open-source data tool. Initially, we wanted to start from scratch. However, after talking to several data professionals, we realized it will be very hard to get people to switch to a new tool, no matter how good. The best way to get people to switch is to not have them switch at all. That's why we decided to fork Jupyter - for the near zero switching costs. Also, Jupyter is a mature product and we're shipping feature really fast - frankly, at the pace we're shipping features, the code we write won't be accepted into the Jupyter codebase \ud83d\ude05. There are also many downsides to this decision - we've had to spend considerable time understanding the whole Jupyter ecosystem and multiple codebases, the complex release processes, the various APIs etc. However, we think this is the right decision for us.\n\n**Q.** _My company is worried about using an AGPLv3 licensed tool. What can I do?_\n\n**A.** The AGPL is a barrier ONLY IF you're modifying Pretzel AND redistributing it to the public. If you're simply using it as a tool in your company (even with modifications), the AGPL DOES NOT ask you to share your code. Still, if AGPL is an issue for you, please contact us, and we can figure out something that works.\n\n**Q.** _I'm worried about a \"rug-pull\" - that you will re-license the code to be under a paid license in the future? OR, how are you planning on making money?_\n\n**A.** We're planning on selling a hosted version of the tool to companies to make money. This hosted version will probably have some company specific features that individuals don't want or need such as data access controls, connectors for data sources, integration with GitHub, hosted and shareable dashboard, scalable compute for large jobs etc. We will not retroactively make Pretzel's individual version paid.\n",
    "bugtrack_url": null,
    "license": "Pretzel is a fork of Project Jupyter, which is licensed under the terms of the Modified BSD License. The original code of this project, contributed by the Project Jupyter Contributors and other parties, remains under the original license. The original LICENSE text is as follows:  ============================================================================== Copyright (c) 2015-2022 Project Jupyter Contributors All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  Semver File License ===================  The semver.py file is from https://github.com/podhmo/python-semver which is licensed under the \"MIT\" license.  See the semver.py file for details. ==============================================================================  All modifications and additions to the Jupyter codebase made by Pretzel contributors listed in the PRETZEL_CONTRIBUTORS file (found at the root of the project) are licensed under the terms of the GNU Affero General Public License v3.0. These terms can be found in the LICENSE_AGPLv3 file at the root of the project.  Copyright for all new code contributions by Pretzel AI GmbH and listed contributors is held by Pretzel AI GmbH. Each new file created by Pretzel AI GmbH or its contributors is identified with a header stating the copyright and licensing under AGPLv3.   ==============================================================================  The contents of the folder pretzelai_visual represent an older tool, which is no longer actively developed. All files in this folder are licensed under the terms of the Apache License, Version 2.0. These terms can be found in the LICENSE file in the pretzelai_visual folder.",
    "summary": "Pretzel is a fork of JupyterLab that improves the user experience of the JupyterLab computational environment.",
    "version": "4.2.5",
    "project_urls": {
        "Changelog": "https://withpretzel.com/changelog",
        "Documentation": "https://withpretzel.com/docs",
        "Homepage": "https://withpretzel.com",
        "Issues": "https://github.com/pretzelai/pretzelai/issues/new/choose",
        "Pypi": "https://pypi.org/project/pretzelai",
        "Source": "https://github.com/pretzelai/pretzelai"
    },
    "split_keywords": [
        "ipython",
        " jupyter"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37b6d464e7659e1af61dbb3146189f4ebd08100d415f57b2083ffb1885c87bb3",
                "md5": "496efefb9b2259d5d324a6a7085e9d44",
                "sha256": "e17b295247b417e9d10703aa356c3a723bb7c69645fafe3f6b60602137021edd"
            },
            "downloads": -1,
            "filename": "pretzelai-4.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "496efefb9b2259d5d324a6a7085e9d44",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14797640,
            "upload_time": "2024-06-12T14:18:11",
            "upload_time_iso_8601": "2024-06-12T14:18:11.906486Z",
            "url": "https://files.pythonhosted.org/packages/37/b6/d464e7659e1af61dbb3146189f4ebd08100d415f57b2083ffb1885c87bb3/pretzelai-4.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db05abb4ebfc12b837f6c644ac280db84a198199599e93d26815f958b53e6825",
                "md5": "b4fb69e583f2e28cdfce1f1695b81cc8",
                "sha256": "902147f686112ed38c6ac3f2ede4a3aa723961c18a675ef76972d93bdcc6f6a1"
            },
            "downloads": -1,
            "filename": "pretzelai-4.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "b4fb69e583f2e28cdfce1f1695b81cc8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 23004722,
            "upload_time": "2024-06-12T14:18:19",
            "upload_time_iso_8601": "2024-06-12T14:18:19.428161Z",
            "url": "https://files.pythonhosted.org/packages/db/05/abb4ebfc12b837f6c644ac280db84a198199599e93d26815f958b53e6825/pretzelai-4.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-12 14:18:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pretzelai",
    "github_project": "pretzelai",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pretzelai"
}
        
Elapsed time: 0.28918s