Build Process
Build the UI
First, navigate to the This uses Vite to create an optimized production build in the
ui/ directory and build the production UI bundle:dist/ directory. The build includes:- Minified JavaScript and CSS
- Optimized assets
- Production-ready Svelte components
Update version in setup.py
Before building the Python package, update the version number in Follow semantic versioning (MAJOR.MINOR.PATCH):
setup.py.Open api/setup.py and replace the placeholder:- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes
Build the Python package
Navigate to the This creates both source distribution (.tar.gz) and wheel (.whl) packages in the
api/ directory and build the distribution packages:dist/ directory.Make sure you have the build package installed:Build Scripts Reference
The UI package.json includes several build-related scripts:- build: Creates production bundle
- dev: Runs development server with hot reload
- start: Previews production build locally
- watch:tailwind: Watches and compiles Tailwind CSS
Pre-Release Checklist
Before publishing a new version:- Test the development build thoroughly
- Update version in
setup.py(remove{{VERSION_PLACEHOLDER}}) - Update CHANGELOG or release notes
- Build UI with
npm run build - Build Python package with
python3 -m build - Test the built package locally
- Tag the release in Git
- Publish to PyPI
Version Management
The current version must be updated inapi/setup.py. The package configuration includes:
Package Distribution
The built package includes:- Python code: All modules in
ganimede/directory - UI bundle: Production build from
ui/dist/→ganimede/ui_dist/ - Entry points:
ganimede: Main CLI commandganimede_dev: Development CLI command
Troubleshooting
Build fails
Ensure all dependencies are installed:Upload fails
Check your PyPI credentials and network connection. You may need to configure authentication in~/.pypirc.