Skip to main content
Build a deployment-ready artifact for your Flash application without deploying. Use this for more control over the build process or to inspect the artifact before deploying.

Examples

Build with all dependencies:
Build with additional excluded packages:
Build with custom output name:

Flags

Skip transitive dependencies during pip install. Only installs direct dependencies specified in @Endpoint decorators. Useful when the base image already includes dependencies.
string
default:"artifact.tar.gz"
Custom name for the output archive file.
string
Comma-separated list of packages to exclude from the build (e.g., torch,torchvision). Use this to skip packages already in the base image.

What happens during build

  1. Python version validation: Verifies your local Python version is supported (3.10, 3.11, or 3.12).
  2. Function discovery: Finds all @Endpoint decorated functions.
  3. Grouping: Groups functions by their endpoint configuration.
  4. Manifest generation: Creates .flash/flash_manifest.json with endpoint definitions.
  5. Dependency installation: Installs Python packages for Linux x86_64.
  6. Packaging: Bundles everything into .flash/artifact.tar.gz.

Build artifacts

After running flash build:

Cross-platform builds

Flash automatically handles cross-platform builds:
  • Automatic platform targeting: Dependencies are installed for Linux x86_64, regardless of your build platform.
  • Binary wheel enforcement: Only pre-built wheels are used, preventing compilation issues.

Python version in deployed workers

Your local Python version does not affect what runs in the cloud. flash build downloads wheels for the container’s Python version automatically. Image tags follow the pattern py{version}-{tag} (for example, runpod/flash:py3.12-latest).

Managing deployment size

Runpod Serverless has a 1.5GB deployment limit. Flash automatically excludes packages that are pre-installed in the base image:
  • torch, torchvision, torchaudio, triton
These packages are excluded at archive time, so you don’t need to specify them manually.

Manual exclusions

Use --exclude to skip additional packages that are already in a custom base image or not needed:

Base image reference

Check the worker-flash repository for current base images and pre-installed packages.

Troubleshooting

Build fails with “functions not found”

Ensure your project has @Endpoint decorated functions:

Archive is too large

Some CUDA packages (torch, torchvision, torchaudio, triton) are auto-excluded. If the archive is still too large, use --exclude to skip additional packages or --no-deps to skip transitive dependencies:

Dependency installation fails

If a package doesn’t have Linux x86_64 wheels:
  1. Ensure standard pip is installed: python -m ensurepip --upgrade
  2. Check PyPI for Linux wheel availability.

Need to examine generated files

The build directory is kept after building. Inspect it with:
  • flash deploy - Build and deploy in one step (includes --preview option for local testing)
  • flash run - Start development server
  • flash env - Manage environments
Most users should use flash deploy instead, which runs build and deploy in one step. Use flash build when you need more control or want to inspect the artifact.