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:
ensure_properties()[source]#
Return type:

PropertiesMixin

attach_properties(*, source=None, processing=None, copyright=None)[source]#
Parameters:
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