Go to file
Clément Joly c461a835f9
chore: update rusqlite, rusqlite_migration and tokio-rusqlite (#1017)
I’ve released a new beta version of rusqlite_migration today and I’ve
renamed the `async-tokio-rusqlite` feature that you use to
`alpha-async-tokio-rusqlite`. I suggest updating dependencies as done in
this PR. By the way, if you would like to share feedback on the async
APIs, feel free to use this conversation:
https://github.com/cljoly/rusqlite_migration/discussions/127

Reading the release notes from [tokio-rusqlite][1], the main breaking
change is to the method `Connection::call`:

> - **breaking:** `Connection::call` now takes `tokio_rusqlite::Result` instead
>   of `rusqlite::Result`.

My understanding is that we can either deal with a `Result<Result<…>>`
or call `Connection::call_unwrap`, which could panic if the connection
is closed. I’ve opted for using only `Connection::call` and,
effectively, flattening the `Result<Result<…>>`, to limit the potential
for panics.

[1]: https://github.com/programatik29/tokio-rusqlite/blob/master/CHANGELOG.md#050-25-nov-2023
2023-12-11 10:59:05 +08:00
.github fix: fix release build (#1009) 2023-12-10 20:23:02 +08:00
ci fix: fix release build (#1009) 2023-12-10 20:23:02 +08:00
clients refactor(agent): refactor tabby agent code style. Add typescripty strict check and eslint. (#950) 2023-12-06 22:06:01 +08:00
crates fix: ci build in github runner, simply ignore tild related unit test (#1002) 2023-12-10 03:48:33 +00:00
ee chore: update rusqlite, rusqlite_migration and tokio-rusqlite (#1017) 2023-12-11 10:59:05 +08:00
experimental
python feat(loadtest): add loadtest tools (#906) 2023-11-28 14:34:00 +08:00
website docs: move cuda sample command to first. (#981) 2023-12-08 10:57:09 +08:00
.dockerignore
.gitattributes
.gitignore
.gitmodules
.rustfmt.toml
CHANGELOG.md chore: release 0.6.0 (#882) 2023-11-27 14:57:45 +08:00
Cargo.lock chore: update rusqlite, rusqlite_migration and tokio-rusqlite (#1017) 2023-12-11 10:59:05 +08:00
Cargo.toml feat: fork aim-downloader into crates/aim-downloader to make it compatible with windows (#996) 2023-12-10 10:48:21 +08:00
Dockerfile feat: Allow cloning repositories via SSH (#961) 2023-12-07 08:18:02 +08:00
LICENSE
MODEL_SPEC.md
Makefile feat(loadtest): add loadtest tools (#906) 2023-11-28 14:34:00 +08:00
README.md docs: update what's new in readme, add 0.6.0 release 2023-12-02 12:10:01 +08:00
package.json
yarn.lock refactor(agent): refactor tabby agent code style. Add typescripty strict check and eslint. (#950) 2023-12-06 22:06:01 +08:00

README.md

🐾 Tabby

latest release PRs Welcome Docker pulls

Slack Community Office Hours

Tabby is a self-hosted AI coding assistant, offering an open-source and on-premises alternative to GitHub Copilot. It boasts several key features:

  • Self-contained, with no need for a DBMS or cloud service.
  • OpenAPI interface, easy to integrate with existing infrastructure (e.g Cloud IDE).
  • Supports consumer-grade GPUs.

Open in Playground

Demo

🔥 What's New

  • 11/27/2023 v0.6.0 released!
  • 10/24/2023 Major updates for Tabby IDE plugins across VSCode/Vim/IntelliJ!
  • 10/15/2023 RAG-based code completion is enabled by detail in v0.3.0🎉! Check out the blogpost explaining how Tabby utilizes repo-level context to get even smarter!
Archived
  • 11/09/2023 v0.5.5 released! With a redesign of UI + performance improvement.
  • 10/04/2023 Check out the model directory for the latest models supported by Tabby.
  • 09/18/2023 Apple's M1/M2 Metal inference support has landed in v0.1.1!
  • 08/31/2023 Tabby's first stable release v0.0.1 🥳.
  • 08/28/2023 Experimental support for the CodeLlama 7B.
  • 08/24/2023 Tabby is now on JetBrains Marketplace!

👋 Getting Started

You can find our documentation here.

Run Tabby in 1 Minute

The easiest way to start a Tabby server is by using the following Docker command:

docker run -it \
  --gpus all -p 8080:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby \
  serve --model TabbyML/StarCoder-1B --device cuda

For additional options (e.g inference type, parallelism), please refer to the documentation page.

🤝 Contributing

Get the Code

git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby

If you have already cloned the repository, you could run the git submodule update --recursive --init command to fetch all submodules.

Build

  1. Set up the Rust environment by following this tutorial.

  2. Install the required dependencies:

# For MacOS
brew install protobuf

# For Ubuntu / Debian
apt-get install protobuf-compiler libopenblas-dev
  1. Now, you can build Tabby by running the command cargo build.

Start Hacking!

... and don't forget to submit a Pull Request

🌍 Community

  • #️⃣ Slack - connect with the TabbyML community
  • 🎤 Twitter / X - engage with TabbyML for all things possible
  • 📚 LinkedIn - follow for the latest from the community
  • 💌 Newsletter - subscribe to unlock Tabby insights and secrets

🌟 Star History

Star History Chart