Skip to content

NOVA backend is disabled - unstable package #202

@KedoKudo

Description

@KedoKudo

Summary

The NOVA backend for SAMMY execution has been disabled in the codebase. The nova-galaxy package required for this backend is unstable and not a development priority.

Background

PLEIADES supports three SAMMY execution backends:

  1. Local - Direct execution using local SAMMY binary (primary)
  2. Docker - Containerized execution (secondary)
  3. NOVA - ORNL web service execution (disabled)

Why NOVA is Disabled

  1. Package instability: The nova-galaxy package (required dependency) is not stable
  2. No immediate plan: There is no immediate plan to make PLEIADES fully support NOVA
  3. Development focus: Current development priorities are:
    • MCP (Model Context Protocol) integration for AI-assisted workflows
    • 2D resonance fitting capabilities
    • Core functionality improvements

Code Changes

The following changes were made to disable NOVA:

src/pleiades/sammy/factory.py

  • Commented out NovaSammyRunner import
  • Added _NOVA_AVAILABLE = False flag
  • list_available_backends() now returns False for NOVA
  • create_runner() raises BackendNotAvailableError if NOVA is requested

Tests

  • tests/unit/pleiades/sammy/backends/test_nova.py - Entire module skipped
  • tests/unit/pleiades/sammy/test_factory.py - NOVA tests skipped
  • tests/unit/pleiades/sammy/test_config.py - TestNovaSammyConfig class skipped

Code Preserved

The NOVA backend implementation code remains in the codebase for future use:

  • src/pleiades/sammy/backends/nova_ornl.py - Full implementation
  • src/pleiades/sammy/config.py - NovaSammyConfig class

Re-enabling NOVA

When the nova-galaxy package stabilizes, NOVA support can be re-enabled by:

  1. Uncommenting the import in factory.py:

    from pleiades.sammy.backends.nova_ornl import NovaSammyRunner
  2. Setting the flag:

    _NOVA_AVAILABLE = True
  3. Removing skip markers from tests

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions