Prerequisites
Before you begin, ensure you have the following installed:- Python 3.8 or higher
- Node.js and npm
- Git
- pip (Python package installer)
Setup Process
Install API dependencies
Navigate to the This will install all required dependencies including:
api/ directory and install the package in editable mode:- jupyter_client (7.4.9)
- starlette (0.23.1)
- ipykernel (6.20.2)
- uvicorn (0.20.0)
- websockets (11.0.3)
- ypy-websocket (0.12.1)
- And other dependencies
-e flag installs the package in editable mode, allowing you to make changes to the code without reinstalling.Install UI dependencies
Navigate to the The
ui/ directory and install the dependencies:npm ci command performs a clean install based on the package-lock.json file, ensuring consistent dependency versions.Start the UI development server
In the This starts both Vite and the Tailwind CSS watcher using concurrently. The UI will be available at the local development URL shown in the terminal.
ui/ directory, start the development server:Development Workflow
Once your environment is set up:- UI Changes: The Vite dev server provides hot module replacement, so changes to Svelte components and styles will automatically reload in the browser
-
API Changes: Since the API is installed in editable mode, Python changes take effect immediately. Restart
ganimede_devto apply changes to the server -
Testing: Use the test notebooks in the
tests/directory to verify your changes
Key Dependencies
Python (API)
JavaScript (UI)
Troubleshooting
Port conflicts
If you encounter port conflicts, check that no other services are running on the default ports used by Vite and the Ganimede server.WebSocket connection issues
Ensure both the UI dev server andganimede_dev are running simultaneously for real-time collaboration features to work.