A comprehensive web-based application for managing Google Cloud Storage uploads and Google Drive transfers, with features including job queuing, real-time analytics, and batch processing capabilities.
- Upload Management — queue-backed GCS uploads with retry, scheduling, and no-clobber support
- Analytics & Monitoring — real-time job stats, file-type breakdown, activity timeline
- Cloud Bucket Analysis — browse and analyze GCS bucket contents
- Native Google Drive Upload — OAuth-authenticated upload and folder sync to Google Drive
- File Filtering — include/exclude patterns for uploads
- Web Dashboard — browser-based UI
- Terminal UI (TUI) — full-featured htop-style dashboard for terminals and remote sessions
| Dashboard | Upload Jobs | Analytics |
|---|---|---|
![]() |
![]() |
![]() |
This guide is for first-time users. Advanced setup, development instructions, Google Drive OAuth, audit commands, environment variables, and detailed TUI controls are in the advanced user guide.
For the basic web dashboard:
- Windows 10 or later, macOS, or Linux
- Python 3.9 or newer
- Note: On Windows, Anaconda Distribution is recommended, which includes Anaconda Navigator, Conda, and Anaconda Prompt
- Google Cloud SDK — for cloud upload features
- Permissions to target cloud buckets
Install Google Cloud SDK
# Authenticate command
gcloud auth loginThe easiest Windows setup for new users is Anaconda Distribution. It includes:
- Anaconda Navigator, a graphical application for managing environments and launching tools
- Anaconda Prompt, a terminal that already knows how to use
condaand Python
During installation, the default options are usually appropriate. After installation, open Anaconda Navigator from the Start menu when you want a graphical overview, or open Anaconda Prompt when you want to paste commands.
In Windows Start menu Search, type anaconda and launch Anaconda Prompt. Paste the commands below into that window, one command at a time.
pip install noaa-jetstreamThe pip install command installs JetStream into Anaconda's active base environment. This is the simplest setup for getting started. A separate conda environment is optional and is covered in the advanced guide.
pip is Python's package installer. It downloads and installs JetStream and its required Python components. After pasting the command, press Enter to run it and wait for the installation to finish.
jetstreamAfter pasting the command, press Enter to start JetStream.
JetStream starts a local server and normally opens your browser automatically. If it does not, open http://localhost:8000 yourself.
Keep the Anaconda Prompt window open while you use the dashboard. Press Ctrl+C in that window to stop the server.
Before using GCS upload, bucket browsing, or cloud analysis features, install the Google Cloud SDK and authenticate:
gcloud auth loginNote: Your Google account must have permission to access the target bucket. If Google reports
Reauthentication required, run the login command again.
Once the dashboard is open:
- Use Uploads to select a local folder and create an upload job.
- Use Jobs to monitor queued, running, completed, and failed work.
- Use Analytics to review activity and file types.
- Use Cloud or Cloud Audit after Google Cloud authentication is complete.
To create optional Windows desktop and Start Menu shortcuts for JetStream and Google Cloud authentication:
jetstream-create-shortcutsThis creates a JetStream launcher plus a GCloud Auth Login shortcut that opens gcloud auth login in a terminal.
Run this command in the same environment where JetStream was installed:
pip install --no-cache --upgrade noaa-jetstreamCheck the available server options with:
jetstream --helpOpen Anaconda Prompt instead of a regular Command Prompt. Then install JetStream into the active base environment:
python -m pip install --upgrade noaa-jetstreamIf conda is not available, install Anaconda Distribution and reopen Anaconda Prompt.
Start JetStream on another port and open the matching URL:
jetstream --port 8080Open http://localhost:8080.
Confirm that the Google Cloud SDK is available and that the correct account is active:
gcloud auth list
gcloud projects listAlso verify that your account has permission to access the bucket and that the bucket name is correct.
From a source checkout, run the diagnostic script in the project folder:
python diagnose.pyThe diagnostic script requires Python 3.10 or newer. For additional startup logging, run:
jetstream --log-level debugThis repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project content is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.
See the LICENSE.md for details



