Getting Started

Installation

Install touchstone.parser from PyPI:

pip install touchstone.parser

To install with development dependencies:

pip install "touchstone.parser[dev]"

For optional visualization support (matplotlib):

pip install "touchstone.parser[viz]"

Requirements

  • Python 3.10 or higher

  • NumPy ≥ 1.20.0

Quick Start

Parse a Touchstone file and inspect the data:

from touchstone.parser import TouchstoneParser

# Parse a 2-port Touchstone file
data = TouchstoneParser.parse("filter.s2p")

print(f"Ports: {data.n_ports}")
print(f"Frequency points: {data.n_freq}")

# Query S21 insertion loss
il = data.to_insertion_loss()
for f, val in zip(data.frequencies, il):
    freq_ghz = f / 1e9
    print(f"{freq_ghz:.3f} GHz → IL = {val:.2f} dB")

Parse from a string instead of a file:

from touchstone.parser import TouchstoneParser

content = (
    "! Example 1-port data\n"
    "# GHz S MA R 50\n"
    "1.0  0.9  -10.0\n"
    "2.0  0.8  -20.0\n"
)

data = TouchstoneParser.parse_string(content, n_ports=1)
print(data)