versiontracker

Get version information of software products.

See Basic Library Usage.

versiontracker.supported_software()[source]

Returns a list of supported software IDs that you can pass to version_info() or iter_version_info().

versiontracker.iter_version_info(software_ids=())[source]

Given an iterable containing supported software IDs, it yields dictionaries with version information about them.

The format of the yielded dictionary is the same as the format of the output dictionary of version_info().

Note

Yield order may not match input order.

exception versiontracker.MissingSpiders(data, *args, **kwargs)[source]

Exception raised when requesting version information for one or more software IDs the spiders of which do not exist.

The data property contains a dictionary where keys are software IDs and values are configured spider names that do not match any known spider.

exception versiontracker.SoftwareEntryDefinitionError(errors, *args, **kwargs)[source]

Exception raised when a software entry in the data.json file is not properly defined.

The errors property is a dictionary where keys are software IDs and values are dictionaries with the following format:

{
    'invalid_keys': ('invalid_key_1', 'invalid_key_2', …)
}
exception versiontracker.UnknownSoftwareIDs(software_ids, *args, **kwargs)[source]

Exception raised when requesting version information for one or more unknown software IDs.

The software_ids property contains a sorted tuple of unknown received software IDs. The tuple never contains duplicate software IDs, even if those were received.

versiontracker.spiders

versiontracker.spiders.parse_date(date_string)[source]

Returns a datetime object created based on the specified date string.

Base Spider

See Creating a Simple Spider.

class versiontracker.spiders.Spider(targets, *args, **kwargs)[source]

Base class for Version Tracker spiders that fetch version information for one or more software products.

Base Git Spider

See Creating a Git Spider.

class versiontracker.spiders.GitSpider(targets, *args, **kwargs)[source]

Base class for Git spiders.

versiontracker.spiders.git_service_url(template, target, commit_suffix, tag_suffix)[source]

Given an URL template that may contain placeholders for project and repository, a dictionary of parameters for a given software product, a URL suffix for commit searches and a URL suffix for tag searches, it returns the corresponding URL.

Base Path Spider

See Creating a Path Spider.

class versiontracker.spiders.PathSpider(targets, *args, **kwargs)[source]

Base class for Path spiders.