Skip to main content

SWOOPS Optimization GUI

Setup, Workflows, Orchestrate, Optimize, Plot, Surrogates

Author: Jason Krist

Date: October 1st, 2025

Description

SWOOPS is an in-progress Graphical User Interface (GUI) designed for parametric optimization. Each letter of SWOOPS stands for a feature set that is within the scope of the tool. Swoops are also the name for the bats in super mario, hence the mascot for the tool is a swoop named Zippy, which is an homage to the Microsoft Office Assistance Clippy.

Table of Contents

  1. Why Create Swoops?
  2. Core Tenets
  3. Feature Sets
  4. Architectural Choices
  5. Target Uses
  6. Install
  7. Usage (Incomplete)
  8. Roadmap

Why Create Swoops?

SWOOPS is a culmination of everything I want in an optimization GUI. Below are my grievances with the state of current optimization interfaces:

  • COTS (Commercial Off The Shelf) tools are expensive, lack necessary configurability, and prioritize supporting tools within their own ecosystem
  • COTS tools have architectures which make interoperability with open source optimization frameworks difficult
  • Open source frameworks have little to no GUIs, with DAKOTA being the exception
  • Custom tools have high tech debt and steep learning curves
  • Unfriendly user experience across the board

Therefore, I have developed SWOOPS with the "Core Tenets" below in mind.

Core Tenets

Table of Contents

  1. Democratize Optimization
  2. Prioritize User Experience
  3. Seamless Automation
  4. Free and Open Source Core Program
  5. Modularity is a Must
  6. Encourage Community Collaboration
  7. Make Lasting Contributions

Feature Sets

Table of Contents

  1. Setup - prepare files or processes for optimization, which includes file parsers and workflow templates
  2. Workflows - specify tasks, inputs, outputs, and dependencies of a workflow
  3. Orchestrate - export and execute a workflow. See progress as it completes
  4. Optimize - specify constraints, objectives, algorithms, and check ongoing optimization progress
  5. Plot - create user-defined plots from existing data sets or optimization results
  6. Surrogates - create and test surrogate models for utilizing in multi-fidelity optimization

Architectural Choices

Table of Contents

  • Written in Python due to the breadth of experience for develops in this field, and because it is the language of choice for existing frameworks
  • Primarily target desktop platform for architectural simplicity
  • QT (Pyside6) chosen for being the most robust, feature rich, and cross-platform Desktop GUI Framework in Python

Target Uses

Table of Contents

  • Generic workflow automation
  • DOE (Design of Experiments) and analyzing interaction effects
  • Early conceptual design optimization with derivatives and tightly coupled variables
  • Gradient free, multi-fidelity optimization for design tuning
  • Multi-objective optimization for pareto optimal solutions

Install

Table of Contents

pip install swoops

Usage (Incomplete)

Table of Contents

python test_app.py

Dark Mode

Light Mode

Video Test

Add more GUI usage steps and images here.

Python In-Line Usage (Incomplete)

Probably don't need this section.

Command Line Usage (Incomplete)

swoops [-h] [-file FILE] [-b]

Roadmap

Table of Contents

Complete

  1. Backend data structures which can represent most optimization setups
  2. Widgets
    1. Docked windows - each widget is nested in a dockable window
    2. Tree View - visualize nested data structures or file system
    3. Edit Window - visualize and edit all attributes of a data structure
    4. Table View - visualize and edit a large set of entities and their attributes in a table
    5. Web View - load local HTML files (Plotly, N2 Diagram) or online web pages
    6. Plot View - load interactive Matplotlib plots
    7. Python Code Editor - text edit python scripts
  3. Undoablility for Data Structure and Widget related changes (new, delete, edit)
  4. Tabs which can contain different widgets and layouts
  5. Rudimentary export script for swoops data structures to GEMSEO optimization format

In Progress

  1. Block Diagram Viewer - visualize Workflow, Dependencies, and data flow
  2. Get App fully functional for simple demos. This encompasses many small To-Do's
  3. Python Command Window - run python commands in-session and see results

Future Plans

  1. File Parser for defining variable locations in input or output files
  2. Workflow "Templates" can be created with Empty values which are highlighted to user to complete
  3. Create a "Library" of common tasks with drag-and-drop functionality
  4. User-friendly, Documented Python API
  5. Custom optimization orchestrator with modular optimizer interface
  6. "Zippy" button opens a helper overlay for tutorials and trainings
  7. Out-of-the-Box interoperability with GEMSEO, OpenMDAO, and Pymoo. Potentially work on supporting Philote, CSDL, and SUAVE.

Table of Contents

Read The Docs (Incomplete)

Download "docs" folder or check preview.

Contributing

Message me on Github.

License

GNU GPLv3

(c) 2025, Jason Krist

Metadata

Release files for swoops 0.0.7

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

Source distribution (sdist)

Source distribution for swoops 0.0.7
File Size Uploaded Provenance Actions
swoops-0.0.7.tar.gz 20.1 kB Without provenance Details for swoops-0.0.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for swoops 0.0.7
File Interpreter ABI Platform Actions
swoops-0.0.7-py3-none-any.whl Python 3 none any Details for swoops-0.0.7-py3-none-any.whl

Total release size: 36.9 kB

Release files / swoops-0.0.7.tar.gz

Download URL swoops-0.0.7.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
574398adc6ec2d102c6564ea1d7cc09ee7e137ebe17f8cdc1d1c085da557a11b
BLAKE2b-256 checksum
How to use checksums
7f43f679f3388f00181d0dd6239319ae2783406f325762050682c21b03f28cce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / swoops-0.0.7-py3-none-any.whl

Download URL swoops-0.0.7-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0427e357a9f2f4ccded3099dbeeee7b82aa30ca5034d6b9c98fe74a5a9057f8a
BLAKE2b-256 checksum
How to use checksums
6f8ebb75a2f8621cba39ffe58a4d1185e3167e481eded5c4e2cba62f66c31859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Security for swoops 0.0.7

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files No provenance

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