Skip to main content

Scout optimal AWS compute for cluster workloads. Compare spot, capacity blocks, and on-demand pricing across regions and instance types. Auto-discover instances for CPU and GPU deployments with HPC schedulers.

Project description

AWS Fleet Scout

Scout optimal AWS compute for cluster workloads. Compare spot, capacity blocks, and on-demand pricing across regions and instance types. Auto-discover instances for CPU and GPU deployments with HPC schedulers.

Features

  • Compare: Side-by-side comparison of Spot, Capacity Blocks, and On-Demand pricing
  • Auto-Discovery: Automatically find all instances matching a prefix (e.g., all P-series, G-series)
  • Quota Validation: Automatic checking against AWS Service Quotas with actionable warnings
  • Smart Caching: Reference data cached locally to minimize API calls and improve performance
  • Capacity Calendar: Flight-booking style calendar view of capacity block availability
  • Fleet Packing: Find optimal regions for mixed instance type deployments
  • Placement Engine: Ranked recommendations with customizable constraints
  • Composite Utility: Combine spot stability, pricing, and latency scores
  • Spot Scores: Query placement scores and pricing for spot instances
  • Read-Only: Safe to use - only queries AWS APIs, never creates/modifies resources

Installation

Per PyPI:

pip install aws-fleet-scout

From source:

git clone https://github.com/markodjukic/aws-fleet-scout.git
cd aws-fleet-scout
pip install -e .

Quick Start

Interactive Mode (Easiest!)

Launch the interactive menu for a guided experience:

aws-fleet-scout interactive

Compare All Procurement Methods

# Compare spot, capacity blocks, and on-demand
aws-fleet-scout compare --instance-type p4d.24xlarge

# Compare with multiple instances
aws-fleet-scout compare --instance-type p4d.24xlarge --count 4

# Auto-discover all P-series GPU instances
aws-fleet-scout compare --discover-p-series --regions us-east-1,us-west-2

# Auto-discover by instance family prefix
aws-fleet-scout compare --discover g5 --regions us-east-1
aws-fleet-scout compare --discover m7i,c7i,r7i --regions us-east-1

Spot Instance Commands

# Check spot placement scores
aws-fleet-scout spot score --instance-type p5.48xlarge --target-capacity 15

# Use wildcards for regions
aws-fleet-scout spot score --instance-type p5.48xlarge --regions "us-*"

# Auto-discover all P-series and check scores
aws-fleet-scout spot score --discover-p-series --regions us-east-1

Find Best Region for Fleet

# Mixed instance fleet (Ray/Slurm/HPC)
aws-fleet-scout fleet pack --job-spec '{"m7i.4xlarge": 20, "p5.48xlarge": 2}'

Capacity Blocks

# Find reserved GPU capacity
aws-fleet-scout capacity find --instance-type p5.48xlarge --duration 1

# View availability calendar
aws-fleet-scout capacity calendar --instance-type p4d.24xlarge --window 7 --duration 1

Configuration

AWS Credentials

Set AWS credentials:

export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_DEFAULT_REGION=us-east-1

Or use AWS CLI:

aws configure

Caching

AWS Fleet Scout caches reference data locally to improve performance:

Cache Location (platform-specific):

  • macOS: ~/Library/Caches/aws-fleet-scout/
  • Linux: ~/.cache/aws-fleet-scout/
  • Windows: C:\Users\<user>\AppData\Local\aws-fleet-scout\Cache\

What's Cached:

  • Quota codes (7 days TTL)
  • vCPU counts per instance type (7 days TTL)
  • Instance type offerings per region (7 days TTL)
  • Current quota values (1 hour TTL)
  • AWS region mapping (30 days TTL)
  • Spot placement scores (10 minutes TTL)

Development Workflow (Pixi)

This repository uses Pixi as the single development workflow manager.

Prerequisites

Setup

pixi install

Common Commands

# Run unit tests
pixi run test

# Run all tests
pixi run test-all

# Run functional tests only (requires AWS credentials)
pixi run test-functional

# Lint + type check + unit tests
pixi run check

# Build package artifacts
pixi run build

# Show CLI help
pixi run cli-help

Versioning

Current version comes from aws_fleet_scout/__init__.py.

# Show current version
pixi run version-current

# Bump next release version
pixi run bump-patch
pixi run bump-minor
pixi run bump-major

Documentation

Packaging and Publishing

  • TestPyPI workflow: .github/workflows/publish-testpypi.yml
  • PyPI workflow: .github/workflows/publish-pypi.yml

Both workflows use GitHub Actions with trusted publishing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_fleet_scout-1.0.2.tar.gz (68.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_fleet_scout-1.0.2-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

File details

Details for the file aws_fleet_scout-1.0.2.tar.gz.

File metadata

  • Download URL: aws_fleet_scout-1.0.2.tar.gz
  • Upload date:
  • Size: 68.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aws_fleet_scout-1.0.2.tar.gz
Algorithm Hash digest
SHA256 898dd43aa4630de94dcda3c94006b549bfc662fb89ba4f9ec7b1665eba1cbd72
MD5 913a770db3129629812beee3e38802b2
BLAKE2b-256 851658801c4a06c524dcd76530c861f801a9785432bf65ea66fb2d4725730dd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aws_fleet_scout-1.0.2.tar.gz:

Publisher: publish-pypi.yml on markodjukic/aws-fleet-scout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aws_fleet_scout-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_fleet_scout-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d633db0f87ba7841bcfc2d3f7eb2ecf0e14c33e6ec63a6c862780484180fc0fc
MD5 f1d782c508417908c9634bfd90d39c0a
BLAKE2b-256 b4cbecada9f389e4e20bd7a3d29c7903cc96f667f4b7ec863e1ef721347c9e98

See more details on using hashes here.

Provenance

The following attestation bundles were made for aws_fleet_scout-1.0.2-py3-none-any.whl:

Publisher: publish-pypi.yml on markodjukic/aws-fleet-scout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page