Skip to main content

A terminal user interface for SPONGE molecular dynamics simulations

Project description

SPONGE CLI

A modern terminal user interface (TUI) for SPONGE molecular dynamics simulations, built with Textual.

Features

  • Real-time Monitoring: Monitor CPU, memory, GPU, and VRAM usage with live charts
  • Simulation Data Tracking: Track potential energy, temperature, and pressure from MD simulations
  • Interactive UI: Easy-to-use terminal interface with configurable paths and parameters
  • Dynamic Chart Visualization: Plotext-based line charts for data visualization
  • SPONGE Integration: Direct support for running SPONGE simulations with custom parameters

Installation

Install from PyPI:

pip install sponge-cli

Requirements

  • Python >= 3.8
  • textual >= 0.12.0
  • rich >= 13.0.0
  • psutil >= 5.8.0
  • plotext >= 5.0.0

Optional Dependencies

For development:

pip install sponge-cli[dev]

Usage

Start the SPONGE CLI:

sponge-cli

Or from Python:

from sponge_cli import SpongeCLI

app = SpongeCLI()
app.run()

Configuration

In the CLI interface, you can configure:

  1. SPONGE Executable Path: Set the path to your SPONGE binary
  2. Output File Path Prefix: Specify where to save simulation outputs
  3. Simulation Parameters: Add custom SPONGE parameters

Features

Monitoring Panel (Right Side)

  • CPU: CPU utilization percentage with trend
  • Memory: RAM usage percentage with trend
  • GPU: GPU utilization percentage (if nvidia-smi available)
  • VRAM: GPU memory usage percentage (if nvidia-smi available)

Simulation Tracking (Bottom)

  • Potential: Total potential energy trends
  • Temperature: Temperature evolution
  • Pressure: Pressure changes

Controls

  • Run SPONGE simulations with custom parameters
  • Real-time viewing of simulation output
  • Monitor resource usage during simulations

Requirements for SPONGE

  • SPONGE executable binary (MD.x or SPONGE.exe)
  • Input files: mdin.txt, mdinfo.txt, etc.
  • Output file: mdout.txt (or custom prefix with .out extension)

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues and questions, please use the GitHub Issues page.

Changelog

v0.1.0

  • Initial release
  • Basic TUI with monitoring panels
  • SPONGE simulation support
  • Real-time data visualization

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

sponge_cli-0.1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

sponge_cli-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file sponge_cli-0.1.0.tar.gz.

File metadata

  • Download URL: sponge_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for sponge_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2b52cca84d75faa1017bbdce0cc77161edd4eca351e3eed81fb4aaec20b17b86
MD5 9eebe8b30ee7e1cba744eda57a578ad0
BLAKE2b-256 7e5b4a5b3ac960eef8cefe18198b0422341232a3e8882de03bb33f9a77561daa

See more details on using hashes here.

File details

Details for the file sponge_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sponge_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for sponge_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ae46c6a8f12c20dbbaeb15d6fd930613078c0a70a8b9a079b8e3e6c0e02e53d
MD5 9ef75d04361be2b72c992335cfc6d486
BLAKE2b-256 b5ab1026db161a87d833e3ca7b631cd074284938f9824d3add5ba8f25bb024e6

See more details on using hashes here.

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