Skip to main content

aws-spot-advisor-sejto

Sejto aims to provide a bit better filtering capabilities of AWS Spot instances than AWS Spot Advisor's website. What's missing there for me? Filtering in general.

Imagine yourself in your low-tech company running workloads on AWS Spot instances and you notice that those Spot instances are being interrupted more than usual. That's nothing unusual since availability of Spot instances changes over time. You need to find a suitable alternative within budget. You don't need bare metal machine or huge VM, just something with similar specification for a reasonable price. Perhaps you cannot run your workload on Graviton instances, therefore these are off the table as well.

Despite AWS Spot Advisor is a good tool, it will happily show you instances that you don't want and need right now. And that's where Sejto comes in since it offers the same capabilities as AWS Spot Advisor with some additional features.

AWS Spot Advisor features:

  • filter by min vCPU
  • filter by min memory
  • filter EMR-only
  • filter by OS
  • filter by region

on top of that Sejto enables you to:

  • filter by max vCPU
  • filter by max memory
  • filter by min/max interrupts
  • filter by min/max savings
  • filter out either bare metal or VM instances
  • filter by series, generation or options, eg. include/exclude Graviton, AMD, Intel, Trainium, 7th generation etc.
  • output in text, CSV and JSON format

Example usage

Example usage for Linux instances:

$ aws_spot_advisor_sejto \
    --region us-east-1 \
    --os Linux \
    --savings-min 60 \
    --inters-max=15 \
    --exclude-metal \
    --vcpu-min 2 \
    --mem-max 64
instance_type=t3.nano vcpus=2 mem_gb=0.5 savings=90% interrupts=<5%
instance_type=c8g.large vcpus=2 mem_gb=4.0 savings=87% interrupts=<5%
instance_type=inf2.xlarge vcpus=4 mem_gb=16.0 savings=85% interrupts=<5%
[...]
instance_type=m8g.2xlarge vcpus=8 mem_gb=32.0 savings=88% interrupts=5-10%
instance_type=m8g.large vcpus=2 mem_gb=8.0 savings=85% interrupts=5-10%
instance_type=c8g.4xlarge vcpus=16 mem_gb=32.0 savings=85% interrupts=5-10%
instance_type=m8g.xlarge vcpus=4 mem_gb=16.0 savings=85% interrupts=5-10%
instance_type=c7gn.large vcpus=2 mem_gb=4.0 savings=85% interrupts=5-10%
instance_type=c7gn.2xlarge vcpus=8 mem_gb=16.0 savings=81% interrupts=5-10%
[...]

And example usage for Windows instances:

$ aws_spot_advisor_sejto \
    --region us-east-1 \
    --os Windows \
    --savings-min 60 \
    --inters-max=15 \
    --exclude-metal \
    --vcpu-min 2 \
    --mem-max 64
instance_type=t2.2xlarge vcpus=8 mem_gb=32.0 savings=77% interrupts=<5%
instance_type=i3en.xlarge vcpus=4 mem_gb=32.0 savings=64% interrupts=<5%
instance_type=t3.medium vcpus=2 mem_gb=4.0 savings=62% interrupts=<5%
instance_type=r6idn.large vcpus=2 mem_gb=16.0 savings=61% interrupts=<5%
instance_type=g4ad.xlarge vcpus=4 mem_gb=16.0 savings=61% interrupts=<5%
instance_type=g5.xlarge vcpus=4 mem_gb=16.0 savings=76% interrupts=5-10%
instance_type=g4dn.xlarge vcpus=4 mem_gb=16.0 savings=67% interrupts=5-10%
instance_type=d3en.4xlarge vcpus=16 mem_gb=64.0 savings=67% interrupts=5-10%
instance_type=r7iz.large vcpus=2 mem_gb=16.0 savings=60% interrupts=5-10%

Possible planned features

  • show cost/pricing
  • web UI

Data structures

Spot Advisor

Example:

>>> data["global_rate"]
'<10%'
>>> data['instance_types']['r8g.24xlarge']
{'emr': True, 'cores': 96, 'ram_gb': 768.0}
>>> data['ranges']
[
  {'index': 0, 'label': '<5%', 'dots': 0, 'max': 5},
  {'index': 1, 'label': '5-10%', 'dots': 1, 'max': 11},
  [...]
]
>>> data['spot_advisor']['us-east-1']['Linux']['r5.16xlarge']
{'s': 82, 'r': 4}
  • global_rate - global rate of interruptions(I guess)
  • instance_types - list of AWS instances and their parameters
    • emr - whether instance supports EMR
    • cores - number of vCPUs
    • ram_gb - amount of RAM in GB
  • ranges - lookup/aggregation table for spot_advisor
  • spot_advisor - approximate savings and interruptions in given region, for given OS and AWS instance
    • s - savings in percent
    • r - interrupt range, lookup in ranges

Metadata

Release files for aws-spot-advisor-sejto 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-spot-advisor-sejto 0.0.3
File Size Uploaded
aws_spot_advisor_sejto-0.0.3.tar.gz 25.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-spot-advisor-sejto 0.0.3
File Interpreter ABI Platform
aws_spot_advisor_sejto-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 42.3 kB

Release files / aws_spot_advisor_sejto-0.0.3.tar.gz

Download URL aws_spot_advisor_sejto-0.0.3.tar.gz
Size 25.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1555040d8a0ea2aea89fad36e31204013df423ba5a4c2ed3832a42d884af7a60
BLAKE2b-256 checksum
How to use checksums
da1490f2b98a859f109e7c9b2efca811a85ea06028497ace2f571a1b409009d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 10, 2025.

Transparency log

Release files / aws_spot_advisor_sejto-0.0.3-py3-none-any.whl

Download URL aws_spot_advisor_sejto-0.0.3-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b31060c9c74712f2739fa807b9fc85813433f884a44f97ad3f271f7f86a856bf
BLAKE2b-256 checksum
How to use checksums
0d4e3a0f034d4082287b802a63602a301a94cc52ecb7823df41828564803ea8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 10, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page