2.9.1.11. pycsamt.seg.property#

SEG-EDI metadata.

Classes

Copyright(references, conditions_of_use, ...)

Person([name, organization, email, role, phone])

PlainMeta()

Small helper for to_dict/update/clone/validate.

Processing(ProcessingSoftware, processedby, ...)

PropertiesMixin(*args, **kwargs)

Lightweight helper to manage Source/Processing/Copyright metadata on host classes without coupling to EDI writers.

References([author, title, journal, doi, ...])

Software(name, version, release, author, ...)

Source(project, survey, sitename, ...)

class pycsamt.seg.property.PlainMeta[source]

Bases: object

Small helper for to_dict/update/clone/validate.

to_dict()[source]
Return type:

dict[str, Any]

update(**kw)[source]
Parameters:

kw (Any)

Return type:

PlainMeta

clone(**over)[source]
Parameters:

over (Any)

Return type:

PlainMeta

validate()[source]
Return type:

None

class pycsamt.seg.property.References(author: 'str | None' = None, title: 'str | None' = None, journal: 'str | None' = None, doi: 'str | None' = None, year: 'int | None' = None, volume: 'str | None' = None, pages: 'str | None' = None)[source]

Bases: PlainMeta

Parameters:
  • author (str | None)

  • title (str | None)

  • journal (str | None)

  • doi (str | None)

  • year (int | None)

  • volume (str | None)

  • pages (str | None)

author: str | None = None
title: str | None = None
journal: str | None = None
doi: str | None = None
year: int | None = None
volume: str | None = None
pages: str | None = None
validate()[source]
Return type:

None

class pycsamt.seg.property.Person(name: 'str | None' = None, organization: 'str | None' = None, email: 'str | None' = None, role: 'str | None' = None, phone: 'str | None' = None)[source]

Bases: PlainMeta

Parameters:
  • name (str | None)

  • organization (str | None)

  • email (str | None)

  • role (str | None)

  • phone (str | None)

name: str | None = None
organization: str | None = None
email: str | None = None
role: str | None = None
phone: str | None = None
validate()[source]
Return type:

None

class pycsamt.seg.property.Software(name: 'str | None' = None, version: 'str | None' = None, release: 'str | None' = None, author: 'Person' = <factory>, url: 'str | None' = None, license: 'str | None' = None, description: 'str | None' = None)[source]

Bases: PlainMeta

Parameters:
  • name (str | None)

  • version (str | None)

  • release (str | None)

  • author (Person)

  • url (str | None)

  • license (str | None)

  • description (str | None)

name: str | None = None
version: str | None = None
release: str | None = None
author: Person
url: str | None = None
license: str | None = None
description: str | None = None
validate()[source]
Return type:

None

class pycsamt.seg.property.Source(project: 'str | None' = None, survey: 'str | None' = None, sitename: 'str | None' = None, creationdate: 'str' = <factory>, creatingsoftware: 'str' = 'pyCSAMT', author: 'Person' = <factory>, recipient: 'Person' = <factory>, archive: 'str | None' = None, reprocessed_by: 'str | None' = None)[source]

Bases: PlainMeta

Parameters:
  • project (str | None)

  • survey (str | None)

  • sitename (str | None)

  • creationdate (str)

  • creatingsoftware (str)

  • author (Person)

  • recipient (Person)

  • archive (str | None)

  • reprocessed_by (str | None)

project: str | None = None
survey: str | None = None
sitename: str | None = None
creationdate: str
creatingsoftware: str = 'pyCSAMT'
author: Person
recipient: Person
archive: str | None = None
reprocessed_by: str | None = None
validate()[source]
Return type:

None

class pycsamt.seg.property.Processing(ProcessingSoftware: 'Software' = <factory>, processedby: 'str | None' = None, processingtag: 'str | None' = None, runlist: 'list[str] | None' = None, remoteref: 'str | None' = None, remotesite: 'str | None' = None, signconvention: 'str' = 'exp(+i ω t)')[source]

Bases: PlainMeta

Parameters:
  • ProcessingSoftware (Software)

  • processedby (str | None)

  • processingtag (str | None)

  • runlist (list[str] | None)

  • remoteref (str | None)

  • remotesite (str | None)

  • signconvention (str)

ProcessingSoftware: Software
processedby: str | None = None
processingtag: str | None = None
runlist: list[str] | None = None
remoteref: str | None = None
remotesite: str | None = None
signconvention: str = 'exp(+i ω t)'
validate()[source]
Return type:

None

class pycsamt.seg.property.Copyright(references: 'References' = <factory>, conditions_of_use: 'str' = <factory>, release_status: 'str | None' = None, owner: 'str | None' = None, contact: 'str | None' = None, additional_info: 'str | None' = None)[source]

Bases: PlainMeta

Parameters:
  • references (References)

  • conditions_of_use (str)

  • release_status (str | None)

  • owner (str | None)

  • contact (str | None)

  • additional_info (str | None)

references: References
conditions_of_use: str
release_status: str | None = None
owner: str | None = None
contact: str | None = None
additional_info: str | None = None
validate()[source]
Return type:

None

class pycsamt.seg.property.PropertiesMixin(*args, **kwargs)[source]

Bases: object

Lightweight helper to manage Source/Processing/Copyright metadata on host classes without coupling to EDI writers.

Parameters:
  • args (Any)

  • kwargs (Any)

ensure_properties()[source]
Return type:

PropertiesMixin

attach_properties(*, source=None, processing=None, copyright=None)[source]
Parameters:
  • source (Source | None)

  • processing (Processing | None)

  • copyright (Copyright | None)

Return type:

PropertiesMixin

validate_properties()[source]
Return type:

None

update_properties(*, source=None, processing=None, copyright=None, **flat)[source]

Update nested holders via dicts and/or flat keys.

Examples

self.update_properties(

source={“project”: “A”, “survey”: “S”}

) self.update_properties(processedby=”John”)

Parameters:
Return type:

PropertiesMixin

properties_as_dict()[source]
Return type:

dict[str, Any]

copy_properties()[source]
Return type:

dict[str, PlainMeta]

property_summary()[source]
Return type:

str