Skip to main content

pymss-core

中文文档

Core model, configuration, and checkpoint package for music source separation.

pymss-core is the shared low-level package for higher-level projects such as pymss inference and pymsst training. It contains model definitions, configuration loading, and checkpoint compatibility helpers. It intentionally does not include inference DSP pipelines, chunked demixing, audio file I/O, model downloads, catalog management, CLI, HTTP server, WebUI, datasets, losses, or training loops.

Install

pip install pymss-core

For local development:

uv sync --dev

Optional MLX backend on Apple Silicon:

pip install "pymss-core[mlx]"

Ascend NPU

Install matching PyTorch, torch_npu, CANN, firmware, and driver versions from the Ascend compatibility matrix. torch_npu is optional and is not installed by this package. Spectral models use NPU-specific STFT/ISTFT helpers; CPU, CUDA, and MPS retain their native paths.

For recurrent models, enable the CPU fallback after importing torch_npu:

import torch
from pymss_core.npu_rnn import install_npu_rnn_fallback

install_npu_rnn_fallback()
model.eval()
with torch.inference_mode():
    output = model(audio)

The fallback handles NPU RNN/LSTM/GRU inputs only, including packed sequences. It copies recurrent weights and inputs to CPU for each call, computes low-precision inputs in float32, and returns results to the input device and dtype. It supports inference only; NPU training with this fallback raises an error. CPU/CUDA recurrent execution and autograd remain native. pymss enables the fallback automatically when selecting NPU.

Public API

from pymss_core import (
    clear_model_runtime_caches,
    get_model_from_config,
    load_config,
    load_model_weights,
)

model, config = get_model_from_config("bs_roformer", "config.yaml")
load_model_weights(model, "model.ckpt", model_type="bs_roformer", strict=True)

model.eval()
  • Use get_model_from_config("auto", "config.yaml") to detect the architecture from YAML. detect_model_type(config) exposes the same detection for an already loaded configuration. Unknown or conflicting architectures raise ModelTypeDetectionError (a RuntimeError subclass); an explicit model type overrides detection.
  • bs_roformer also loads BS PolarFormer checkpoints when the matching YAML sets model.use_pope: true.

After inference has finished, clear model-owned derived caches before releasing the model:

clear_model_runtime_caches(model)

Cleanup preserves parameters and registered buffers. It calls module-owned clear_runtime_cache() hooks and releases known inference-cache references. If a hook fails, cleanup continues through the remaining modules before re-raising the first error.

Process-wide shared MLX caches, including overlap-add indices and Hann windows, and backend allocator caches are managed separately. They are outside the scope of this model-level cleanup.

Package Boundary

Included:

  • YAML config loading with AttrDict
  • PyTorch model definitions under pymss_core.modules
  • Optional MLX backend implementations for supported model forward paths
  • Model factory: get_model_from_config(model_type, config_path)
  • Checkpoint helpers for common MSS checkpoint containers
  • Cleanup for model-owned inference caches
  • Small model-internal DSP math needed to construct model structures
  • VR network structures and VR model parameter JSON files

Excluded:

  • Audio file decoding/encoding
  • Resampling, preprocessing, and full inference DSP pipelines
  • Tensor-level chunked demixing runtime
  • Model catalog, aliases, downloads, and model-file cache management
  • CLI, server, WebUI, and endpoint schemas
  • Dataset, augmentation, loss, metrics, and trainer code
  • Any default dependency on MLX, Librosa, tqdm, Lightning, FastAPI, Uvicorn, PyAV, WandB, or training extras

Repository Roles

pymss-core
  shared model/config/checkpoint layer

pymss
  user-facing inference package built on pymss-core, with audio I/O and demix

pymsst
  training package built on pymss-core, with training data/loss/runtime code

Metadata

Release files for pymss-core 0.1.15

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

Source distribution (sdist)

Source distribution for pymss-core 0.1.15
File Size Uploaded Provenance Actions
pymss_core-0.1.15.tar.gz 171.3 kB With provenance Details for pymss_core-0.1.15.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pymss-core 0.1.15
File Interpreter ABI Platform Actions
pymss_core-0.1.15-py3-none-any.whl Python 3 none any Details for pymss_core-0.1.15-py3-none-any.whl

Total release size: 342.8 kB

Release files / pymss_core-0.1.15.tar.gz

Download URL pymss_core-0.1.15.tar.gz
Size 171.3 kB
Tags Source
SHA-256 checksum
How to use checksums
55e34030381d46395fbf9040d3c839f05e179aaf41d445361b71c3b917d07717
BLAKE2b-256 checksum
How to use checksums
0cf38089f8d6b8da3af8ddd7ab6d6324f5b389ce4c6ce55d3affe09b9c086241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Release files / pymss_core-0.1.15-py3-none-any.whl

Download URL pymss_core-0.1.15-py3-none-any.whl
Size 171.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
423a1d15b2c515cec97f861edc102530e8257adf774a6af0a9dae591ec460677
BLAKE2b-256 checksum
How to use checksums
c1dc39986caa12749f3b94cc0de9e938907583790ce11774152d48937f67ecaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Security for pymss-core 0.1.15

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pymss_core-0.1.15.tar.gz

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 Nov 5, 2026.

Transparency log

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.

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