API Reference

class seaport.portfile.Port(name)[source]

Scrapes portfile info for usage in Python modules.

Examples

>>> from seaport.portfile import Port
>>> port = Port("py-base91")
>>> port.version
'1.0.1'
>>> from seaport.portfile import Port
>>> try:
...     port = Port("non-existent-port")
... except Exception:
...     pass
>>> # This raises an exception
Parameters

name (str) –

name

The name of the port e.g. gping

Type

str

checksums(_name=None)[source]

Determines the current checksums of a portfile.

For python ports, their pyXY- subport is used to determine the checksums. Note that this method only works for ports with the standard rmd/sha/size setup (not the older format), and it can also be quite slow since it’s scraping port distfiles NAME

Examples

>>> # Determines rmd160/sha256/size/website
>>> from seaport.portfile import Port
>>> port = Port("py-base91")
>>> port.checksums()
('c1bd97759a8d7bfdb95cd76ada05efa9e9d99f28', '5b284a2ba3c97be1eb9473f3af94a9bf141d61005d836e75e645d2798da58799', '2331', 'https://files.pythonhosted.org/packages/source/b/base91/base91-1.0.1.tar.gz')
Returns

rmd160, sha256, size and the website that provided the distfile.

Parameters

_name (Optional[str]) –

Return type

Tuple[str, str, str, str]

livecheck()[source]

Runs port livecheck to check for any new versions.

If no livecheck is available or the portfile is already the latest version, the current version is outputted. Note that this can be slow, since it’s scraping port livecheck.

Examples

>>> from seaport.portfile import Port
>>> port = Port("py-base91")
>>> port.livecheck()
'1.0.1'
>>> from seaport.portfile import Port
>>> port = Port("py39-base91")
>>> port.livecheck()
'1.0.1'
Returns

A string representing the latest version.

Return type

str

primary_category()[source]

Determines the first category of a port.

This is useful to determine which folder of the macports repo the port would reside in.

Examples

>>> from seaport.portfile import Port
>>> port = Port("gping")
>>> port.primary_category()
'net'
Returns

The category of the port e.g. sysutils.

Return type

str

subports()[source]

Determines a list of subports of a port.

If there are no subports available, None is outputted.

Examples

>>> # Subports available
>>> from seaport.portfile import Port
>>> port = Port("py-base91")
>>> port.subports()
['py38-base91', 'py39-base91']
>>> # Subports not available
>>> from seaport.portfile import Port
>>> port = Port("folderify")
>>> print(port.subports())
None
Returns

A list representing all the subports of the port.

Return type

Optional[List[str]]