Metadata-Version: 2.4
Name: biscuit-editor
Version: 3.5.0
Summary: A lightweight, fast, and extensible code editor with a growing community
License: MIT
License-File: LICENSE.md
Author: Billy
Author-email: billydevbusiness@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: anthropic (>=0.77,<0.80)
Requires-Dist: chardet (>=5.2.0,<6.0.0)
Requires-Dist: click (>=8.1.8,<9.0.0)
Requires-Dist: editorconfig (>=0.17.0,<0.18.0)
Requires-Dist: filetype (>=1.2.0,<2.0.0)
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
Requires-Dist: google-genai (>=1.61.0,<2.0.0)
Requires-Dist: hintedtext (>=0.6.0,<0.7.0)
Requires-Dist: mistune (>=3.1.2,<4.0.0)
Requires-Dist: pillow (>=11.1,<13.0)
Requires-Dist: psutil (>=7.0.0,<8.0.0)
Requires-Dist: ptyprocess (>=0.7.0,<0.8.0) ; sys_platform == "linux"
Requires-Dist: pygments (>=2.19.1,<3.0.0)
Requires-Dist: pyperclip (>=1.9.0,<2.0.0)
Requires-Dist: python-tkdnd (>=0.2.1,<0.3.0)
Requires-Dist: pywinpty (>=2.0.15,<4.0.0) ; sys_platform == "win32"
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: sortedcontainers (>=2.4.0,<3.0.0)
Requires-Dist: sv-ttk (>=2.6.0,<3.0.0)
Requires-Dist: tarts (>=0.20.1,<0.21.0)
Requires-Dist: tkextrafont (>=0.6.3,<0.7.0) ; sys_platform == "win32"
Requires-Dist: tkinterweb[full] (>=4.17.6,<5.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tree-sitter (>=0.25.2,<0.26.0)
Requires-Dist: tree-sitter-language-pack (>=0.13.0,<0.14.0)
Requires-Dist: watchdog (>=6.0.0,<7.0.0)
Description-Content-Type: text/markdown


[![GitHub](https://img.shields.io/github/license/tomlin7/biscuit)](https://github.com/tomlin7/biscuit/blob/main/LICENSE)
[![PyPI - Version](https://img.shields.io/pypi/v/biscuit-editor)](https://pypi.org/project/biscuit-editor/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/biscuit-editor)](https://pypi.org/project/biscuit-editor/)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/tomlin7/biscuit)](https://github.com/tomlin7/biscuit/pulse)
[![GitHub last commit](https://img.shields.io/github/last-commit/tomlin7/biscuit)](https://github.com/tomlin7/biscuit/commits/main)
[![GitLab Issues](https://img.shields.io/github/issues/tomlin7/biscuit)](https://github.com/tomlin7/biscuit/issues)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/tomlin7/biscuit)

<!--
![image](https://github.com/user-attachments/assets/a578d600-a4a8-4ce4-904d-4aa0e73fc124)
-->

`biscuit` is a fast, extensible, native code editor with agents. lightweight <20 mb in size. install and start using in seconds. 

- explore popular extensions, visit the new [**extension marketplace**](https://biscuit-extensions.github.io/marketplace/) we've been working on
- for developer/user guides & API reference, check [documentation](https://tomlin7.github.io/biscuit), WIP so i recommend checking deepwiki.
- packed with superpowers, [list of features](https://tomlin7.github.io/biscuit/#features)

<img alt="biscuit" src="https://github.com/user-attachments/assets/ac5254cc-e1ac-4fe6-a582-51b5129756e3" />

## `installing`

install the latest release by running:

```bash
> pip install biscuit-editor
```

quickly open up a project using **`biscuit path/to/src`** and start editing. see other [installation methods](https://tomlin7.github.io/biscuit/getting-started/installation/) if you'd like to (like pyinstaller).

<!-- ![home](https://github.com/user-attachments/assets/cd18dcfa-40a9-47b3-aab4-ed38ea3c1715) -->

## `contributing`

- please check the [docs](https://tomlin7.github.io/biscuit/getting-started/quick-start/) and [contributing guide](https://github.com/tomlin7/Biscuit/blob/main/CONTRIBUTING.md) for a quick tour of the project structure and to set up the environment.
- to make a new extension, read the [extension docs](https://github.com/tomlin7/biscuit-extensions) :>
- [support the work](https://github.com/sponsors/tomlin7)

# `PROGRESS` 

### `agents`

- [x] gemini, anthropic API support (`claude-4-5-opus/sonnet/haiku`, `gemini-2-5-flash/pro`)
- [x] planning agent with task list
  - [x] ReadFileTool
  - [x] EditFileTool
  - [x] DeleteFileTool
  - [x] ListDirTool
  - [x] GlobFileSearchTool
  - [x] GrepTool
  - [x] CodebaseSearchTool
  - [x] RunTerminalCmdTool
  - [x] TodoWriteTool
  - [x] GetWorkspaceInfoTool
  - [x] GetActiveEditorTool
- [x] add more LLM providers through biscuit extensions
- [x] attach files for adding context in chat
- [ ] LLM provider extension examples (old ones are now deprecated)
- [x] run local LLMs with ~~[ollama extension](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/ollama.py)~~ (deprecated)
- [ ] ollama extension rewrite 
- [x] LLM calls inside biscuit terminals (use `# your prompt` inside terminal, then accept/decline response)

### `code intelligence`

- [x] fast tree-sitter based parsing and highlights 
- [x] code completions within editor (with icons)
- [x] hover for symbol definition/docstring (rendered with highlights + markdown)
- [x] symbol outline sidebar panel for navigating symbols in open editor
- [x] symbol search through command palette `Ctrl + J`)
- [x] floating peek widget to jump-to-definition/declaration of symbols
- [x] symbol references in open editor
- [x] adding more language servers through biscuit extensions

more language servers are registered through extensions, see the [rust](https://github.com/biscuit-extensions/rust), [clangd](https://github.com/biscuit-extensions/clangd) extensions for reference.

<img alt="lsp and agents" src="https://github.com/user-attachments/assets/30b52da7-af5b-490b-912a-fb8b4d61dcb0" />

### `source control`

- [x] split diff viewer for changes/staged changes
- [x] essential git operations easily accessible (push, pull, commit, stage, unstage, switch branches)
- [x] clone repositories and immediately open in active window, or new window
- [x] view gitHub issues/prs within editor (TODO: disabled rn, will be converted to an extension)

### `fast search`

- [x] ripgrep based fast search, quickly accessible from statusbar
- [x] replace occurrences individually or all at once
- [x] regex support, case sensitive search and more customization
- [x] search within open editors with floating find-replace widget

<img alt="search" src="https://github.com/user-attachments/assets/d4ef7657-f37b-40ab-b9b1-c00d45e7f764" />

### `code debugging`

- [x] setting breakpoints across files
- [x] inspection panel for all runtime variables 
- [x] modify runtime variables while debugging
- [x] call stack visualization and exception tracing
- [ ] full [DAP client](https://github.com/tomlin7/debug-adapter-client) integration
- [x] built-in python debugger
- [x] add debuggers can be registered through biscuit extensions.

### `extensions`

- [x] install and manage all available extensions though a gui
- [x] extension search within biscuit
- [x] extension bootstrapping cli commands and templates
- [x] [extension docs](https://github.com/tomlin7/biscuit-extensions)
- [x] extensions marketplace website: [visit here](https://biscuit-extensions.github.io/marketplace)

<img alt="extensions" src="https://github.com/user-attachments/assets/91ab0044-2eac-4c20-972d-6719002edb1a" />

### `misc`

- [x] split markdown editor, plain HTML renderer
- [x] toggle relative line numbering support
- [ ] vim mode support
- [x] add formatters through biscuit extensions
- [x] formatter extensions: ~~[black](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/black.py)~~ [DEPRECATED], ~~[ruff](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/ruff.py)~~[DEPRECATED], ~~[YAPF](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/yapf.py)~~[DEPRECATED], ~~[autopep8](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/autopep8.py)~~ [DEPRECATED] for reference.
- [x] drag-n-drop to open files or folders in biscuit
- [x] [editorconfig](https://editorconfig.org/) support for projects
- [x] sophisticated command palette (full list of static commands in [src/biscuit/commands](https://github.com/tomlin7/biscuit/blob/main/src/biscuit/commands.py))

<img alt="preview" src="https://github.com/user-attachments/assets/1c44aab4-d8d1-4ba8-b92b-73c0c6dbfb00" />

## `license`

biscuit uses the MIT License, see [LICENSE](https://github.com/tomlin7/Biscuit/blob/main/LICENSE.md) file.

