Skip to main content

Unofficial parser for NETZSCH STA (Simultaneous Thermal Analysis) NGB instrument binary files. Not affiliated with, endorsed by, or approved by NETZSCH-Gerätebau GmbH.

Project description

pyNGB - NETZSCH STA File Parser

PyPI version Python 3.10+ License: MIT Tests

A high-performance Python library for parsing NETZSCH STA (Simultaneous Thermal Analysis) NGB files with comprehensive metadata extraction and analysis tools.

⚠️ Disclaimer: This package is not affiliated with NETZSCH-Gerätebau GmbH. NETZSCH is a trademark of NETZSCH-Gerätebau GmbH.

Features

  • Fast Binary Parsing: Optimized parsing with NumPy and PyArrow (0.1-1 sec/file)
  • Complete Metadata: Extract instrument settings, sample info, and experimental conditions
  • Baseline Correction: Automatic baseline subtraction with validation
  • DTG Analysis: Derivative thermogravimetry calculation with smoothing options
  • Batch Processing: Parallel processing of multiple files
  • Data Export: Convert to Parquet, CSV, and JSON formats
  • CLI Support: Command-line interface for automation

Installation

pip install pyngb

Quick Example

from pyngb import read_ngb
import polars as pl
import json

# Load NGB file with embedded metadata
table = read_ngb("experiment.ngb-ss3")
df = pl.from_arrow(table)

# Access data
print(f"Loaded {df.height} data points")
print(f"Temperature range: {df['sample_temperature'].min():.1f} to {df['sample_temperature'].max():.1f} °C")

# Access metadata
metadata = json.loads(table.schema.metadata[b'file_metadata'])
print(f"Sample: {metadata.get('sample_name', 'Unknown')}")

# Baseline correction
corrected = read_ngb("sample.ngb-ss3", baseline_file="baseline.ngb-bs3")

# DTG analysis
from pyngb.api.analysis import add_dtg
table_with_dtg = add_dtg(table, method="savgol", smooth="medium")

Command Line Usage

# Convert single file
python -m pyngb sample.ngb-ss3

# Batch processing with baseline correction
python -m pyngb *.ngb-ss3 -b baseline.ngb-bs3 -f parquet -o ./processed/

# Get help
python -m pyngb --help

Documentation

License

MIT License. See LICENSE for details.

Support


Made with ❤️ for the scientific community

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

pyngb-0.1.2.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

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

pyngb-0.1.2-py3-none-any.whl (84.6 kB view details)

Uploaded Python 3

File details

Details for the file pyngb-0.1.2.tar.gz.

File metadata

  • Download URL: pyngb-0.1.2.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyngb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 163e8f1e19aee2d4b42e728ca65ba0314765bf647a9cf9d11ab97c8f9faba75d
MD5 c94a9aa0af5a1bf8e8a88ef3e507beb7
BLAKE2b-256 7aef2ec271c159885fdb2f16b5707216d04e98e5828c8e340d6e5e67b3379583

See more details on using hashes here.

File details

Details for the file pyngb-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pyngb-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 84.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyngb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0eedbad29a49574ddc335baed53c938db2a13dc2eab7dd6a15c115c86d730fe0
MD5 cea83090aede52ee27b75866c7e7b45e
BLAKE2b-256 c3b0d6799093ff727054f72215cacd33172655c36aa3c19f8ab50f9923c7c52c

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