query_api module#

Query API for the JITX parts database.

This module provides a Python implementation of the query builder API for the JITX parts database, translating the Stanza query-api.stanza to Python.

class FindDistinctType[source]#

Marker class for FIND_DISTINCT functionality.

Use the FIND_DISTINCT constant instead of creating instances directly.

class AuthorizedVendor(*values)[source]#

Bases: Enum

Authorized vendors for electronic components.

JLCPCB = 'JLCPCB'#
LCSC = 'LCSC'#
DigiKey = 'DigiKey'#
Future = 'Future'#
Mouser = 'Mouser'#
Arrow = 'Arrow'#
Avnet = 'Avnet'#
Newark = 'Newark'#
class SortDir(*values)[source]#

Bases: Enum

Sort direction options.

INCREASING = 'increasing'#
DECREASING = 'decreasing'#
class SortKey(key, direction)[source]#

Sort key for database queries.

Parameters:
key: str#
direction: SortDir#
class DistinctKey(key)[source]#

Distinct key for database queries.

Parameters:

key (str)

key: str#
class ExistKeys(keys)[source]#

Existence keys for database queries.

Parameters:

keys (Sequence[str])

keys: Sequence[str]#
class FindOptimum(*values)[source]#

Bases: Enum

Find optimum options.

FIND_MAXIMUM = 'find_maximum'#
FIND_MINIMUM = 'find_minimum'#
class PartQueryDict[source]#

Bases: TypedDict

trust: str | Sequence[str] | FindDistinctType | None#
category: str | Sequence[str] | FindDistinctType | None#
mpn: str | Sequence[str] | FindDistinctType | None#
mounting: str | Sequence[str] | FindDistinctType | None#
manufacturer: str | Sequence[str] | FindDistinctType | None#
description: str | Sequence[str] | FindDistinctType | None#
case: str | Sequence[str] | FindDistinctType | None#
min_stock: int | FindDistinctType | None#
quantity_needed: int | FindDistinctType | None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
x: float | Interval | Sequence[float] | FindDistinctType | None#
y: float | Interval | Sequence[float] | FindDistinctType | None#
z: float | Interval | Sequence[float] | FindDistinctType | None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None#
operating_temperature: Interval | FindDistinctType | None#
stock: int | FindDistinctType | None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None#
exist: ExistKeys | FindDistinctType | None#
distinct: DistinctKey | FindDistinctType | None#
ignore_stock: bool | FindDistinctType | None#
class PassiveQueryDict[source]#

Bases: PartQueryDict

type: str | Sequence[str] | FindDistinctType | None#
tolerance: float | PlainQuantity | FindDistinctType | None#
precision: float | PlainQuantity | FindDistinctType | None#
tolerance_min: float | Interval | FindDistinctType | None#
tolerance_max: float | Interval | FindDistinctType | None#
component_datasheet: str | Sequence[str] | FindDistinctType | None#
metadata_image: str | Sequence[str] | FindDistinctType | None#
metadata_digi_key_part_number: str | Sequence[str] | FindDistinctType | None#
metadata_description: str | Sequence[str] | FindDistinctType | None#
metadata_packaging: str | Sequence[str] | FindDistinctType | None#
trust: str | Sequence[str] | FindDistinctType | None#
category: str | Sequence[str] | FindDistinctType | None#
mpn: str | Sequence[str] | FindDistinctType | None#
mounting: str | Sequence[str] | FindDistinctType | None#
manufacturer: str | Sequence[str] | FindDistinctType | None#
description: str | Sequence[str] | FindDistinctType | None#
case: str | Sequence[str] | FindDistinctType | None#
min_stock: int | FindDistinctType | None#
quantity_needed: int | FindDistinctType | None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
x: float | Interval | Sequence[float] | FindDistinctType | None#
y: float | Interval | Sequence[float] | FindDistinctType | None#
z: float | Interval | Sequence[float] | FindDistinctType | None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None#
operating_temperature: Interval | FindDistinctType | None#
stock: int | FindDistinctType | None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None#
exist: ExistKeys | FindDistinctType | None#
distinct: DistinctKey | FindDistinctType | None#
ignore_stock: bool | FindDistinctType | None#
class ResistorQueryDict[source]#

Bases: PassiveQueryDict

resistance: float | PlainQuantity | Interval | Sequence[float] | FindDistinctType | None#
rated_power: float | Interval | Sequence[float] | FindDistinctType | None#
composition: str | FindDistinctType | None#
tcr_pos: float | Interval | FindDistinctType | None#
tcr_neg: float | Interval | FindDistinctType | None#
metadata_series: str | FindDistinctType | None#
metadata_features: str | FindDistinctType | None#
metadata_supplier_device_package: str | FindDistinctType | None#
metadata_number_of_terminations: int | FindDistinctType | None#
trust: str | Sequence[str] | FindDistinctType | None#
category: str | Sequence[str] | FindDistinctType | None#
mpn: str | Sequence[str] | FindDistinctType | None#
mounting: str | Sequence[str] | FindDistinctType | None#
manufacturer: str | Sequence[str] | FindDistinctType | None#
description: str | Sequence[str] | FindDistinctType | None#
case: str | Sequence[str] | FindDistinctType | None#
min_stock: int | FindDistinctType | None#
quantity_needed: int | FindDistinctType | None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
x: float | Interval | Sequence[float] | FindDistinctType | None#
y: float | Interval | Sequence[float] | FindDistinctType | None#
z: float | Interval | Sequence[float] | FindDistinctType | None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None#
operating_temperature: Interval | FindDistinctType | None#
stock: int | FindDistinctType | None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None#
exist: ExistKeys | FindDistinctType | None#
distinct: DistinctKey | FindDistinctType | None#
ignore_stock: bool | FindDistinctType | None#
type: str | Sequence[str] | FindDistinctType | None#
tolerance: float | PlainQuantity | FindDistinctType | None#
precision: float | PlainQuantity | FindDistinctType | None#
tolerance_min: float | Interval | FindDistinctType | None#
tolerance_max: float | Interval | FindDistinctType | None#
component_datasheet: str | Sequence[str] | FindDistinctType | None#
metadata_image: str | Sequence[str] | FindDistinctType | None#
metadata_digi_key_part_number: str | Sequence[str] | FindDistinctType | None#
metadata_description: str | Sequence[str] | FindDistinctType | None#
metadata_packaging: str | Sequence[str] | FindDistinctType | None#
class CapacitorQueryDict[source]#

Bases: PassiveQueryDict

capacitance: float | PlainQuantity | Interval | FindDistinctType | None#
anode: str | FindDistinctType | None#
electrolyte: str | FindDistinctType | None#
esr: float | Interval | FindDistinctType | None#
esr_frequency: float | Interval | FindDistinctType | None#
rated_voltage: float | Interval | FindDistinctType | None#
rated_voltage_ac: float | Interval | FindDistinctType | None#
rated_current_pk: float | Interval | FindDistinctType | None#
rated_current_rms: float | Interval | FindDistinctType | None#
temperature_coefficient_code: str | FindDistinctType | None#
temperature_coefficient_raw_data: str | FindDistinctType | None#
temperature_coefficient_tolerance: float | FindDistinctType | None#
temperature_coefficient_lower_temperature: float | FindDistinctType | None#
temperature_coefficient_upper_temperature: float | FindDistinctType | None#
temperature_coefficient_change: float | FindDistinctType | None#
metadata_lifetime_temp: float | Interval | FindDistinctType | None#
metadata_applications: str | FindDistinctType | None#
metadata_ripple_current_low_frequency: float | Interval | FindDistinctType | None#
metadata_ripple_current_high_frequency: float | Interval | FindDistinctType | None#
metadata_lead_spacing: float | Interval | FindDistinctType | None#
trust: str | Sequence[str] | FindDistinctType | None#
category: str | Sequence[str] | FindDistinctType | None#
mpn: str | Sequence[str] | FindDistinctType | None#
mounting: str | Sequence[str] | FindDistinctType | None#
manufacturer: str | Sequence[str] | FindDistinctType | None#
description: str | Sequence[str] | FindDistinctType | None#
case: str | Sequence[str] | FindDistinctType | None#
min_stock: int | FindDistinctType | None#
quantity_needed: int | FindDistinctType | None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
x: float | Interval | Sequence[float] | FindDistinctType | None#
y: float | Interval | Sequence[float] | FindDistinctType | None#
z: float | Interval | Sequence[float] | FindDistinctType | None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None#
operating_temperature: Interval | FindDistinctType | None#
stock: int | FindDistinctType | None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None#
exist: ExistKeys | FindDistinctType | None#
distinct: DistinctKey | FindDistinctType | None#
ignore_stock: bool | FindDistinctType | None#
type: str | Sequence[str] | FindDistinctType | None#
tolerance: float | PlainQuantity | FindDistinctType | None#
precision: float | PlainQuantity | FindDistinctType | None#
tolerance_min: float | Interval | FindDistinctType | None#
tolerance_max: float | Interval | FindDistinctType | None#
component_datasheet: str | Sequence[str] | FindDistinctType | None#
metadata_image: str | Sequence[str] | FindDistinctType | None#
metadata_digi_key_part_number: str | Sequence[str] | FindDistinctType | None#
metadata_description: str | Sequence[str] | FindDistinctType | None#
metadata_packaging: str | Sequence[str] | FindDistinctType | None#
class InductorQueryDict[source]#

Bases: PassiveQueryDict

inductance: float | PlainQuantity | Interval | FindDistinctType | None#
material_core: str | FindDistinctType | None#
shielding: str | FindDistinctType | None#
current_rating: float | Interval | FindDistinctType | None#
saturation_current: float | Interval | FindDistinctType | None#
dc_resistance: float | Interval | FindDistinctType | None#
quality_factor: float | Interval | FindDistinctType | None#
quality_factor_frequency: float | Interval | FindDistinctType | None#
self_resonant_frequency: float | Interval | FindDistinctType | None#
trust: str | Sequence[str] | FindDistinctType | None#
category: str | Sequence[str] | FindDistinctType | None#
mpn: str | Sequence[str] | FindDistinctType | None#
mounting: str | Sequence[str] | FindDistinctType | None#
manufacturer: str | Sequence[str] | FindDistinctType | None#
description: str | Sequence[str] | FindDistinctType | None#
case: str | Sequence[str] | FindDistinctType | None#
min_stock: int | FindDistinctType | None#
quantity_needed: int | FindDistinctType | None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
x: float | Interval | Sequence[float] | FindDistinctType | None#
y: float | Interval | Sequence[float] | FindDistinctType | None#
z: float | Interval | Sequence[float] | FindDistinctType | None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None#
operating_temperature: Interval | FindDistinctType | None#
stock: int | FindDistinctType | None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None#
exist: ExistKeys | FindDistinctType | None#
distinct: DistinctKey | FindDistinctType | None#
ignore_stock: bool | FindDistinctType | None#
type: str | Sequence[str] | FindDistinctType | None#
tolerance: float | PlainQuantity | FindDistinctType | None#
precision: float | PlainQuantity | FindDistinctType | None#
tolerance_min: float | Interval | FindDistinctType | None#
tolerance_max: float | Interval | FindDistinctType | None#
component_datasheet: str | Sequence[str] | FindDistinctType | None#
metadata_image: str | Sequence[str] | FindDistinctType | None#
metadata_digi_key_part_number: str | Sequence[str] | FindDistinctType | None#
metadata_description: str | Sequence[str] | FindDistinctType | None#
metadata_packaging: str | Sequence[str] | FindDistinctType | None#
class PartQuery(*, trust=None, category=None, mpn=None, mounting=None, manufacturer=None, description=None, case=None, min_stock=None, quantity_needed=None, price=None, x=None, y=None, z=None, area=None, rated_temperature_min=None, rated_temperature_max=None, operating_temperature=None, stock=None, sellers=None, sort=None, exist=None, distinct=None, ignore_stock=None)[source]#

Bases: Context

Context for part queries.

Parameters:
trust: str | Sequence[str] | FindDistinctType | None = None#
category: str | Sequence[str] | FindDistinctType | None = None#
mpn: str | Sequence[str] | FindDistinctType | None = None#
mounting: str | Sequence[str] | FindDistinctType | None = None#
manufacturer: str | Sequence[str] | FindDistinctType | None = None#
description: str | Sequence[str] | FindDistinctType | None = None#
case: str | Sequence[str] | FindDistinctType | None = None#
min_stock: int | FindDistinctType | None = None#
quantity_needed: int | FindDistinctType | None = None#
price: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None = None#
x: float | Interval | Sequence[float] | FindDistinctType | None = None#
y: float | Interval | Sequence[float] | FindDistinctType | None = None#
z: float | Interval | Sequence[float] | FindDistinctType | None = None#
area: float | Interval | FindOptimum | Sequence[float] | FindDistinctType | None = None#
rated_temperature_min: float | Interval | Sequence[float] | FindDistinctType | None = None#
rated_temperature_max: float | Interval | Sequence[float] | FindDistinctType | None = None#
operating_temperature: Interval | FindDistinctType | None = None#
stock: int | FindDistinctType | None = None#
sellers: Sequence[str | AuthorizedVendor] | FindDistinctType | None = None#
sort: SortKey | Sequence[SortKey] | FindDistinctType | None = None#
exist: ExistKeys | FindDistinctType | None = None#
distinct: DistinctKey | FindDistinctType | None = None#
ignore_stock: bool | FindDistinctType | None = None#
classmethod from_query(query)[source]#

Create a PartQuery from a PartQuery.

Return type:

PartQuery

Parameters:

query (PartQuery)

update(**kwargs)[source]#

Update the context with new values.

Parameters:

**kwargs (Unpack[PartQueryDict]) – Keyword arguments corresponding to dataclass fields

Return type:

PartQuery

Returns:

New PartQuery with updated values

params()[source]#

Get the parameters for the query.

Return type:

PartQueryDict

class PassiveQuery(*, trust=None, category=None, mpn=None, mounting=None, manufacturer=None, description=None, case=None, min_stock=None, quantity_needed=None, price=None, x=None, y=None, z=None, area=None, rated_temperature_min=None, rated_temperature_max=None, operating_temperature=None, stock=None, sellers=None, sort=None, exist=None, distinct=None, ignore_stock=None, type=None, tolerance=None, precision=None, tolerance_min=None, tolerance_max=None, component_datasheet=None, metadata_image=None, metadata_digi_key_part_number=None, metadata_description=None, metadata_packaging=None)[source]#

Bases: PartQuery

Context for passive queries.

Parameters:
type: str | Sequence[str] | FindDistinctType | None = None#
tolerance: float | PlainQuantity | FindDistinctType | None = None#
precision: float | PlainQuantity | FindDistinctType | None = None#
tolerance_min: float | Interval | FindDistinctType | None = None#
tolerance_max: float | Interval | FindDistinctType | None = None#
component_datasheet: str | Sequence[str] | FindDistinctType | None = None#
metadata_image: str | Sequence[str] | FindDistinctType | None = None#
metadata_digi_key_part_number: str | Sequence[str] | FindDistinctType | None = None#
metadata_description: str | Sequence[str] | FindDistinctType | None = None#
metadata_packaging: str | Sequence[str] | FindDistinctType | None = None#
classmethod from_query(query)[source]#

Create a PassiveQuery from a PartQuery.

Return type:

PassiveQuery

Parameters:

query (PartQuery)

update(**kwargs)[source]#

Update the context with new values.

Parameters:

**kwargs (Unpack[PassiveQueryDict]) – Keyword arguments corresponding to dataclass fields

Return type:

PassiveQuery

Returns:

New PassiveQuery with updated values

params()[source]#

Get the parameters for the query.

Return type:

PassiveQueryDict

class ResistorQuery(*, trust=None, category='resistor', mpn=None, mounting=None, manufacturer=None, description=None, case=None, min_stock=None, quantity_needed=None, price=None, x=None, y=None, z=None, area=None, rated_temperature_min=None, rated_temperature_max=None, operating_temperature=None, stock=None, sellers=None, sort=None, exist=None, distinct=None, ignore_stock=None, type=None, tolerance=None, precision=None, tolerance_min=None, tolerance_max=None, component_datasheet=None, metadata_image=None, metadata_digi_key_part_number=None, metadata_description=None, metadata_packaging=None, resistance=None, rated_power=None, composition=None, tcr_pos=None, tcr_neg=None, metadata_series=None, metadata_features=None, metadata_supplier_device_package=None, metadata_number_of_terminations=None)[source]#

Bases: PassiveQuery

Context for resistor queries.

Parameters:
category: str | Sequence[str] | FindDistinctType | None = 'resistor'#
resistance: float | PlainQuantity | Interval | Sequence[float] | FindDistinctType | None = None#
rated_power: float | Interval | Sequence[float] | FindDistinctType | None = None#
composition: str | FindDistinctType | None = None#
tcr_pos: float | Interval | FindDistinctType | None = None#
tcr_neg: float | Interval | FindDistinctType | None = None#
metadata_series: str | FindDistinctType | None = None#
metadata_features: str | FindDistinctType | None = None#
metadata_supplier_device_package: str | FindDistinctType | None = None#
metadata_number_of_terminations: int | FindDistinctType | None = None#
classmethod from_query(query)[source]#

Create a ResistorQuery from a PartQuery.

Return type:

ResistorQuery

Parameters:

query (PartQuery)

update(**kwargs)[source]#

Update the context with new values.

Parameters:

**kwargs (Unpack[ResistorQueryDict]) – Keyword arguments corresponding to dataclass fields

Return type:

ResistorQuery

Returns:

New ResistorQuery with updated values

classmethod refine(**kwargs)[source]#

Refine an existing context with additional values.

Return type:

ResistorQuery

Parameters:

kwargs (Unpack[ResistorQueryDict])

params()[source]#

Get the parameters for the query.

Return type:

ResistorQueryDict

class CapacitorQuery(*, trust=None, category='capacitor', mpn=None, mounting=None, manufacturer=None, description=None, case=None, min_stock=None, quantity_needed=None, price=None, x=None, y=None, z=None, area=None, rated_temperature_min=None, rated_temperature_max=None, operating_temperature=None, stock=None, sellers=None, sort=None, exist=None, distinct=None, ignore_stock=None, type=None, tolerance=None, precision=None, tolerance_min=None, tolerance_max=None, component_datasheet=None, metadata_image=None, metadata_digi_key_part_number=None, metadata_description=None, metadata_packaging=None, capacitance=None, anode=None, electrolyte=None, esr=None, esr_frequency=None, rated_voltage=None, rated_voltage_ac=None, rated_current_pk=None, rated_current_rms=None, temperature_coefficient_code=None, temperature_coefficient_raw_data=None, temperature_coefficient_tolerance=None, temperature_coefficient_lower_temperature=None, temperature_coefficient_upper_temperature=None, temperature_coefficient_change=None, metadata_lifetime_temp=None, metadata_applications=None, metadata_ripple_current_low_frequency=None, metadata_ripple_current_high_frequency=None, metadata_lead_spacing=None)[source]#

Bases: PassiveQuery

Context for capacitor queries.

Parameters:
category: str | Sequence[str] | FindDistinctType | None = 'capacitor'#
capacitance: float | PlainQuantity | Interval | FindDistinctType | None = None#
anode: str | FindDistinctType | None = None#
electrolyte: str | FindDistinctType | None = None#
esr: float | Interval | FindDistinctType | None = None#
esr_frequency: float | Interval | FindDistinctType | None = None#
rated_voltage: float | Interval | FindDistinctType | None = None#
rated_voltage_ac: float | Interval | FindDistinctType | None = None#
rated_current_pk: float | Interval | FindDistinctType | None = None#
rated_current_rms: float | Interval | FindDistinctType | None = None#
temperature_coefficient_code: str | FindDistinctType | None = None#
temperature_coefficient_raw_data: str | FindDistinctType | None = None#
temperature_coefficient_tolerance: float | FindDistinctType | None = None#
temperature_coefficient_lower_temperature: float | FindDistinctType | None = None#
temperature_coefficient_upper_temperature: float | FindDistinctType | None = None#
temperature_coefficient_change: float | FindDistinctType | None = None#
metadata_lifetime_temp: float | Interval | FindDistinctType | None = None#
metadata_applications: str | FindDistinctType | None = None#
metadata_ripple_current_low_frequency: float | Interval | FindDistinctType | None = None#
metadata_ripple_current_high_frequency: float | Interval | FindDistinctType | None = None#
metadata_lead_spacing: float | Interval | FindDistinctType | None = None#
classmethod from_query(query)[source]#

Create a CapacitorQuery from a PartQuery.

Return type:

CapacitorQuery

Parameters:

query (PartQuery)

update(**kwargs)[source]#

Update the context with new values.

Parameters:

**kwargs (Unpack[CapacitorQueryDict]) – Keyword arguments corresponding to dataclass fields

Return type:

CapacitorQuery

Returns:

New CapacitorQuery with updated values

classmethod refine(**kwargs)[source]#

Refine an existing context with additional values.

Return type:

CapacitorQuery

Parameters:

kwargs (Unpack[CapacitorQueryDict])

params()[source]#

Get the parameters for the query.

Return type:

CapacitorQueryDict

class InductorQuery(*, trust=None, category='inductor', mpn=None, mounting=None, manufacturer=None, description=None, case=None, min_stock=None, quantity_needed=None, price=None, x=None, y=None, z=None, area=None, rated_temperature_min=None, rated_temperature_max=None, operating_temperature=None, stock=None, sellers=None, sort=None, exist=None, distinct=None, ignore_stock=None, type=None, tolerance=None, precision=None, tolerance_min=None, tolerance_max=None, component_datasheet=None, metadata_image=None, metadata_digi_key_part_number=None, metadata_description=None, metadata_packaging=None, inductance=None, material_core=None, shielding=None, current_rating=None, saturation_current=None, dc_resistance=None, quality_factor=None, quality_factor_frequency=None, self_resonant_frequency=None)[source]#

Bases: PassiveQuery

Context for inductor queries.

Parameters:
category: str | Sequence[str] | FindDistinctType | None = 'inductor'#
inductance: float | PlainQuantity | Interval | FindDistinctType | None = None#
material_core: str | FindDistinctType | None = None#
shielding: str | FindDistinctType | None = None#
current_rating: float | Interval | FindDistinctType | None = None#
saturation_current: float | Interval | FindDistinctType | None = None#
dc_resistance: float | Interval | FindDistinctType | None = None#
quality_factor: float | Interval | FindDistinctType | None = None#
quality_factor_frequency: float | Interval | FindDistinctType | None = None#
self_resonant_frequency: float | Interval | FindDistinctType | None = None#
classmethod from_query(query)[source]#

Create an InductorQuery from a PartQuery.

Return type:

InductorQuery

Parameters:

query (PartQuery)

update(**kwargs)[source]#

Update the context with new values.

Parameters:

**kwargs (Unpack[InductorQueryDict]) – Keyword arguments corresponding to dataclass fields

Return type:

InductorQuery

Returns:

New InductorQuery with updated values

classmethod refine(**kwargs)[source]#

Refine an existing context with additional values.

Return type:

InductorQuery

Parameters:

kwargs (Unpack[InductorQueryDict])

params()[source]#

Get the parameters for the query.

Return type:

InductorQueryDict

class TwoPinShortTrace(*values)[source]#

Bases: Enum

Short trace options for two-pin components.

SHORT_TRACE_BOTH = 'short_trace_both'#
SHORT_TRACE_ANODE = 'short_trace_anode'#
SHORT_TRACE_CATHODE = 'short_trace_cathode'#
SHORT_TRACE_NEITHER = 'short_trace_neither'#
to_db_key(key)[source]#

Convert a Python key to the correct database key, applying underscore-to-dot mapping and overrides.

Return type:

str

Parameters:

key (str)

preprocess_keyword_args(kwargs)[source]#

Preprocess keyword arguments for queries.

Parameters:

kwargs (PartQueryDict) – Keyword arguments to preprocess

Return type:

dict[str, DistinctKey | ExistKeys | Interval | SortKey | Sequence[SortKey] | bool | float | int | str]

Returns:

Preprocessed arguments

extract(qb)[source]#

Extract query parameters for sending to the database.

Parameters:

qb (PartQuery) – Query context to extract parameters from

Return type:

dict[str, float | int | str | Sequence[float | int | str]]

Returns:

Extracted parameters

is_valid_smd_pkg(pkg)[source]#

Check if a package is a valid SMD package.

Return type:

bool

Parameters:

pkg (str)

valid_smd_pkgs(min_pkg='0402')[source]#

Get a list of valid SMD packages.

Parameters:

min_pkg (str) – Minimum package size

Return type:

Sequence[str]

Returns:

List of valid SMD packages

make_resistor_query(qb=None, **kwargs)[source]#

Make a ResistorQuery from a PartQuery or ResistorQuery.

Parameters:
Return type:

ResistorQuery

Returns:

ResistorQuery with the specified parameters

make_capacitor_query(qb=None, **kwargs)[source]#

Make a CapacitorQuery from a PartQuery or CapacitorQuery.

Parameters:
Return type:

CapacitorQuery

Returns:

CapacitorQuery with the specified parameters

make_inductor_query(qb=None, **kwargs)[source]#

Make an InductorQuery from a PartQuery or InductorQuery.

Parameters:
Return type:

InductorQuery

Returns:

InductorQuery with the specified parameters

make_part_query(qb=None, **kwargs)[source]#

Make a PartQuery from a PartQuery.

Parameters:
Return type:

PartQuery

Returns:

PartQuery with the specified parameters

class InsertContainer[source]#

Bases: Container

nets: list[jitx.Net]#
a_short_trace: jitx.net.ShortTrace | None#
c_short_trace: jitx.net.ShortTrace | None#
class Resistor(query: PartQuery | None = None, *, comp_name: str | None = None, **kwargs: Unpack[ResistorQueryDict])[source]#

Bases: Component

Resistor component.

Parameters:
  • query (PartQuery | None) – query to optionally override the current ResistorQuery or PartQuery from the DesignContext.

  • comp_name (str | None) – name of the component to be created.

  • **kwargs (Unpack[ResistorQueryDict]) – Additional query parameters

Raises:

Exception – If no components meet the requirements

data: ResistorType#
datasheet: str#
landpattern: jitx.Landpattern#
symbol: jitx.Symbol#
cmappings: list[jitx.PadMapping | jitx.SymbolMapping]#
p1: jitx.Port#
p2: jitx.Port#
insert(pin_a, pin_b, *, short_trace=TwoPinShortTrace.SHORT_TRACE_NEITHER)[source]#

Insert this resistor between two pins of a circuit.

Parameters:
Return type:

Self

class Capacitor(query: PartQuery | None = None, *, comp_name: str | None = None, polarized: bool = False, **kwargs: Unpack[CapacitorQueryDict])[source]#

Bases: Component

Capacitor component.

Parameters:
  • query (PartQuery | None) – query to optionally override the current CapacitorQuery or PartQuery from the DesignContext.

  • comp_name (str | None) – name of the component to be created.

  • polarized (bool) – whether the capacitor is polarized.

  • **kwargs (Unpack[CapacitorQueryDict]) – Additional query parameters

Raises:

Exception – If no components meet the requirements

data: CapacitorType#
datasheet: str#
landpattern: jitx.Landpattern#
symbol: jitx.Symbol#
cmappings: list[jitx.PadMapping | jitx.SymbolMapping]#
p1: jitx.Port#
p2: jitx.Port#
polarized: bool#
insert(pin_a, pin_b, *, short_trace=TwoPinShortTrace.SHORT_TRACE_NEITHER)[source]#

Insert this capacitor between two pins of a circuit.

Parameters:
Return type:

Self

class PolarizedCapacitor(*args, **kwargs)[source]#

Bases: Capacitor

Polarized capacitor component.

a: jitx.Port#
c: jitx.Port#
class Inductor(query: PartQuery | None = None, *, comp_name: str | None = None, **kwargs: Unpack[InductorQueryDict])[source]#

Bases: Component

Inductor component.

Parameters:
  • query (PartQuery | None) – query to optionally override the current InductorQuery or PartQuery from the DesignContext.

  • comp_name (str | None) – name of the component to be created.

  • **kwargs (Unpack[InductorQueryDict]) – Additional query parameters

Raises:

Exception – If no components meet the requirements

data: InductorType#
datasheet: str#
landpattern: jitx.Landpattern#
symbol: jitx.Symbol#
cmappings: list[jitx.PadMapping | jitx.SymbolMapping]#
p1: jitx.Port#
p2: jitx.Port#
insert(pin_a, pin_b, *, short_trace=TwoPinShortTrace.SHORT_TRACE_NEITHER)[source]#

Insert this inductor between two pins of a circuit.

Parameters:
Return type:

Self

class Part(query: PartQuery | None = None, *, comp_name: str | None = None, **kwargs: Unpack[PartQueryDict])[source]#

Bases: Component

Part component.

Parameters:
  • query (PartQuery | None) – query to optionally override the current PartQuery from the DesignContext.

  • comp_name (str | None) – name of the component to be created.

  • **kwargs (Unpack[PartQueryDict]) – Additional query parameters

Raises:

Exception – If no components meet the requirements

data: PartType#
datasheet: str#
landpattern: jitx.Landpattern#
symbol: jitx.Symbol#
cmappings: list[jitx.PadMapping | jitx.SymbolMapping]#
insert(pin_a, pin_b, *, short_trace=TwoPinShortTrace.SHORT_TRACE_NEITHER)[source]#

Insert this part between two pins of a circuit.

Parameters:
Raises:

AssertionError – If the part does not have exactly 2 pins.

Return type:

Self

search_resistors(qb=None, *, limit=1000, **kwargs)[source]#

Search for resistors.

Parameters:
  • qb (PartQuery | None) – Query context

  • limit (int) – Maximum number of results

  • **kwargs (Unpack[ResistorQueryDict]) – Additional query parameters

Return type:

Sequence[PartJSON]

Returns:

List of resistors

search_capacitors(qb=None, *, limit=1000, **kwargs)[source]#

Search for capacitors.

Parameters:
  • qb (PartQuery | None) – Query context

  • limit (int) – Maximum number of results

  • **kwargs (Unpack[CapacitorQueryDict]) – Additional query parameters

Return type:

Sequence[PartJSON]

Returns:

List of capacitors

search_inductors(qb=None, *, limit=1000, **kwargs)[source]#

Search for inductors.

Parameters:
  • qb (PartQuery | None) – Query context

  • limit (int) – Maximum number of results

  • **kwargs (Unpack[InductorQueryDict]) – Additional query parameters

Return type:

Sequence[PartJSON]

Returns:

List of inductors

search_parts(qb=None, *, limit=1000, **kwargs)[source]#

Search for parts.

Parameters:
  • qb (PartQuery | None) – Query context

  • limit (int) – Maximum number of results

  • **kwargs (Unpack[PartQueryDict]) – Additional query parameters

Return type:

Sequence[PartJSON]

Returns:

List of parts

to_short_trace_enum(short_trace)[source]#

Convert a short trace parameter to a TwoPinShortTrace enum.

Return type:

TwoPinShortTrace

Parameters:

short_trace (TwoPinShortTrace | bool)

get_element_ports(inst)[source]#

Get the ports of an element.

Return type:

tuple[Port, Port]

Parameters:

inst (Component)

anode_cathode(inst)[source]#

Get the anode and cathode ports of an element.

Return type:

tuple[Port, Port] | None

Parameters:

inst (Component)