Skip to main content

code-assistant

A FastHTML app that makes FastHTML apps.

commits Github Last Commit Release Docker build and publish PyPI - Downloads Dockerhub Discord chat Stars

Features and Roadmap:

Guiding the LLM

  • LSP support (code actions)
  • LSP support (retrieve diagnostics)
  • LSP Support (linter/formatter with ruff server)
  • LSP Support (type checker, use pyright or wait for ruff red-knot? https://github.com/astral-sh/ruff/issues/12701)
  • LSP support (use diagnostics in LLM context)
  • Self-healing (backend runtime errors)
  • Self-healing (frontend runtime errors)
  • python indentation helper with tree sitter
  • FastHTML specific validations using ast-grep
  • FastHTML documentation llm context
  • HTMX documentation llm context
  • fastlite documentation llm context
  • fastsql documentation llm context
  • fastastra documentation llm context
  • dynamic openapi spec llm context
  • dynamic sample apps llm context
  • astra-assistants documentation llm context
  • Multi-file support
  • Multi-turn generation

UI/UX

  • Live app preview
  • Drive generated_apps dir with env var CA_GENERATED_APPS_DIR
  • Add third party model support to frontend
  • Improve third party auth
  • ollama integration guide / docs

Multi-tenancy

  • Sessions
  • Sandboxing (probably with e2b)

code-assistant is built on OpenAI's Assistant API and uses astra-assistants to support other models including claude and local models.

Install and run

Install with pip:

pip install code-assistant

Run:

code-assistant

this will start the web server on port 5001 and will create a generated_apps directory on your current working directory. You can override this directory by setting the CA_GENERATED_APPS_DIR environment variable.

export CA_GENERATED_APPS_DIR="~/my_apps"
code-assistant

Run as an isolated program

use pipx or uvx if you're a uv user to run as an isolated program:

pipx run code-assistant

or

uvx code-assistant

Deploy on Railway

Deploy on Railway

Run with Docker

docker run -p 5001:5001 phact/code-assistant

optionally pass auth credentials as environment variables:

docker run -p 5001:5001 -e OPENAI_API_KEY="your-key" phact/code-assistant

or

docker run -p 5001:5001 -e ANTHROPIC_API_KEY="your-key" -e ASTRA_DB_APPLICATION_TOKEN="your token" phact/code-assistant

etc depending on your LLM provider.

Third party LLM provider Authentication

If you have not provided credentials via env vars the UI will prompt you for credentials. Credentials inputed via the UI are not persisted.

video

To avoid manual entry, set up environment variables for astradb [required for any non OpenAI models] and your LLM provider of choice.:

#!/bin/bash

# AstraDB -> https://astra.datastax.com/ --> tokens --> administrator user --> generate
export ASTRA_DB_APPLICATION_TOKEN=""

# OpenAI Models - https://platform.openai.com/api-keys --> create new secret key
export OPENAI_API_KEY=""

# Groq Models - https://console.groq.com/keys
export GROQ_API_KEY=""

# Anthropic claude models - https://console.anthropic.com/settings/keys
export ANTHROPIC_API_KEY=""

# Gemini models -> https://makersuite.google.com/app/apikey
export GEMINI_API_KEY=""

# Perplexity models -> https://www.perplexity.ai/settings/api  --> generate
export PERPLEXITYAI_API_KEY=""

# Cohere models -> https://dashboard.cohere.com/api-keys
export COHERE_API_KEY=""

# Bedrock models -> https://docs.aws.amazon.com/bedrock/latest/userguide/setting-up.html
export AWS_REGION_NAME=""
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""

# vertexai models https://console.cloud.google.com/vertex-ai
export GOOGLE_JSON_PATH=""
export GOOGLE_PROJECT_ID=""

# ... for other models see https://github.com/datastax/astra-assistants-api/blob/main/.env.bkp

Metadata

Release files for code-assistant 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for code-assistant 0.1.1
File Size Uploaded
code_assistant-0.1.1.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for code-assistant 0.1.1
File Interpreter ABI Platform
code_assistant-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.7 MB

Release files / code_assistant-0.1.1.tar.gz

Download URL code_assistant-0.1.1.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
f001c43fbfc03c119876e68d59e3957ebb4a425c726b9ef65f6371490d5c7e12
BLAKE2b-256 checksum
How to use checksums
89deeaf46a266803ac75ba733996c9f3909d27697a6fe8bf335dcd2c55f311ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.8

Release files / code_assistant-0.1.1-py3-none-any.whl

Download URL code_assistant-0.1.1-py3-none-any.whl
Size 130.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26a8d3615b60752dee4a25f2cd07cf3338b16778911537bb31ff6f1c23809fc2
BLAKE2b-256 checksum
How to use checksums
dec91278a36d9c2b52ddc1efb92e21ce78e9c19add2349a8034fa583d80ca65f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.8
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page