pyaltium.matlib#

Submodules#

Package Contents#

Classes#

MaterialsLibrary

The top level materials library item.

ColorProperty

More specific version of a MatProperty, specifically for colors

MatLibEntity

Base class to represent a single item. This Entity will contain multiple properties.

MatProperty

Holds information about a Property, a subclass of Entity for materials library.

Core

A core

DielectricBase

Base class used for all dielectrics, with common elements.

FinishBase

Base class used for all finishes, with common elements.

FinishENIG

Base class used for all finishes, with common elements.

FinishHASL

Base class used for all finishes, with common elements.

FinishIAu

Base class used for all finishes, with common elements.

FinishISn

Base class used for all finishes, with common elements.

FinishOSP

Base class used for all finishes, with common elements.

PrePreg

Base class used for all dielectrics, with common elements.

SolderMask

Base class to represent a single item. This Entity will contain multiple properties.

class pyaltium.matlib.MaterialsLibrary(library_id=None, serializer_version='1.1.0.0', version='1.1.0.0', namespace='http://altium.com/ns/Data/ExtensibleLibraries')#

The top level materials library item.

This class represents an Altium materials library, which is generally

Parameters
  • library_id (Union[str, uuid.UUID]) –

  • serializer_version (str) –

  • version (str) –

  • namespace (str) –

types :list#
type_extensions :list#
entities :list[pyaltium.matlib.base.MatLibEntity]#
entity_extensions :list#
serializer_version :str#
library_id :uuid.UUID#
version :str#
namespace :str#
classmethod from_et(et)#

Load in a XML document root as parameters and entities.

Parameters

et (xml.etree.ElementTree.Element) –

Return type

MaterialsLibrary

getall(obj_type)#

Locate all

Parameters

obj_type (Union[pyaltium.matlib.base.MatLibEntity, tuple[pyaltium.matlib.base.MatLibEntity]]) –

Return type

Iterable[pyaltium.matlib.base.MatLibEntity]

classmethod loads(s)#

Read in the material library from an XML string.

classmethod load(file)#

Read this library from an XML file.

Parameters

file (Union[TextIO, str]) – File name as string or pointer as an IO type. Passed directly to

xml.etree.ElementTree.ElementTree.parse(). :type file: Union[TextIO, str]

dumps()#

Write this material library to an XML string.

Return type

str

dump(file)#

Write this library to a file as XML.

Parameters

file (Union[TextIO, str]) – File name as string or pointer as an IO type. Passed directly to

xml.etree.ElementTree.ElementTree.write(). :type file: Union[TextIO, str]

class pyaltium.matlib.ColorProperty#

Bases: MatProperty

More specific version of a MatProperty, specifically for colors

name :str#
type :str#
attrib :dict[str, str]#
validator :Callable#
validator_message :str#
atrset :str = color#
class pyaltium.matlib.MatLibEntity#

Base class to represent a single item. This Entity will contain multiple properties.

type_id :str#
entity_id :uuid.UUID#
revision_id :uuid.UUID#
revision_date :datetime.datetime#
namespace :str =#
classmethod from_et(x, namespace='')#

Load in a XML Element to populate class data.

Parameters
Return type

T

class pyaltium.matlib.MatProperty#

Holds information about a Property, a subclass of Entity for materials library.

name :str#
type :str#
value :str#
attrib :dict[str, str]#
validator :Callable#
validator_message :str =#
atrset :str =#
setproc :Callable#
exception pyaltium.matlib.PropertyValidationError#

Bases: Exception

Raised when a property does not meet requirements.

class pyaltium.matlib.Core#

Bases: DielectricBase

A core

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.DielectricBase#

Bases: pyaltium.matlib.base.MatLibEntity

Base class used for all dielectrics, with common elements.

Construction: e.g. 2113 or 1-2113 Resin: A percent, 0-100 Glass temp: glass transistion temp in celsius

name :str =#
dielectric_constant :pyaltium._helpers.REALNUM = 0#
thickness :pyaltium._helpers.REALNUM = 0#
glass_trans_temp :pyaltium._helpers.REALNUM = 0#
manufacturer :str =#
construction :str =#
resin_pct :pyaltium._helpers.REALNUM = 0#
frequency :pyaltium._helpers.REALNUM = 0#
loss_tangent :pyaltium._helpers.REALNUM = 0#
class pyaltium.matlib.FinishBase#

Bases: pyaltium.matlib.base.MatLibEntity

Base class used for all finishes, with common elements.

process :str =#
material :str =#
thickness :pyaltium._helpers.REALNUM = 0#
color :str = #ffffffff#
class pyaltium.matlib.FinishENIG#

Bases: FinishBase

Base class used for all finishes, with common elements.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.FinishHASL#

Bases: FinishBase

Base class used for all finishes, with common elements.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.FinishIAu#

Bases: FinishBase

Base class used for all finishes, with common elements.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.FinishISn#

Bases: FinishBase

Base class used for all finishes, with common elements.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.FinishOSP#

Bases: FinishBase

Base class used for all finishes, with common elements.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.PrePreg#

Bases: DielectricBase

Base class used for all dielectrics, with common elements.

Construction: e.g. 2113 or 1-2113 Resin: A percent, 0-100 Glass temp: glass transistion temp in celsius

type_id :pyaltium.matlib._helpers.MatLibTypeID#
class pyaltium.matlib.SolderMask#

Bases: pyaltium.matlib.base.MatLibEntity

Base class to represent a single item. This Entity will contain multiple properties.

type_id :pyaltium.matlib._helpers.MatLibTypeID#
name :str =#
dielectric_constant :pyaltium._helpers.REALNUM = 0#
thickness :pyaltium._helpers.REALNUM = 0#
manufacturer :str =#
frequency :pyaltium._helpers.REALNUM = 0#
loss_tangent :pyaltium._helpers.REALNUM = 0#
solid :pyaltium._helpers.REALNUM = 0#
color :str = #ffffffff#