puppetdb.v3 package

Submodules

puppetdb.v3.aggregate_event_counts module

aggregate_event_counts.py: A bunch of API methods for interacting with v3 aggregate event counts in the PuppetDB API.

Operators See the Operators page for the full list of available operators. Note that inequality operators (<, >, <=, >=) are only supported against the timestamp FIELD.

Fields FIELD may be any of the following. Unless otherwise noted, all fields support both equality and regular expression match operators, but do not support inequality operators.

certname: the name of the node that the event occurred on. report: the id of the report that the event occurred in; these ids can be acquired via event queries or via the /reports query endpoint. status: the status of the event; legal values are success, failure, noop, and skipped. timestamp: the timestamp (from the puppet agent) at which the event occurred. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-start-time: the timestamp (from the puppet agent) at which the puppet run began. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-end-time: the timestamp (from the puppet agent) at which the puppet run finished. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. report-receive-time: the timestamp (from the PuppetDB server) at which the puppet report was received. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. resource-type: the type of resource that the event occurred on; e.g., File, Package, etc. resource-title: the title of the resource that the event occurred on property: the property/parameter of the resource that the event occurred on; e.g., for a Package resource, this field might have a value of ensure. NOTE: this field may contain NULL values; see notes below. new-value: the new value that Puppet was attempting to set for the specified resource property. NOTE: this field may contain NULL values; see notes below. old-value: the previous value of the resource property, which Puppet was attempting to change. NOTE: this field may contain NULL values; see notes below. message: a description (supplied by the resource provider) of what happened during the event. NOTE: this field may contain NULL values; see notes below. file: the manifest file in which the resource definition is located. NOTE: this field may contain NULL values; see notes below. line: the line (of the containing manifest file) at which the resource definition can be found. NOTE: this field may contain NULL values; see notes below. containing-class: the Puppet class where this resource is declared. NOTE: this field may contain NULL values; see notes below. latest-report?: whether the event occurred in the most recent Puppet run (per-node). NOTE: the value of this field is always boolean (true or false without quotes), and it is not supported by the regex match operator.

Notes on fields that allow NULL values In the case of a skipped resource event, some of the fields of an event may not have values. We handle this case in a slightly special way when these fields are used in equality (=) or inequality (!=) queries; specifically, an equality query will always return false for an event with no value for the field, and an inequality query will always return true.

The response is a single JSON map containing aggregated event-count information and a total for how many event-count results were aggregated. {

“successes”: 2, “failures”: 0, “noops”: 0, “skips”: 1, “total”: 3

}

puppetdb.v3.aggregate_event_counts.get_aggregate_event_counts(api_url=None, query='', summarize_by='', count_by='', counts_filter='', distinct_resources='', verify=False, cert=[])

Returns facts

Parameters:
  • api_url – Base PuppetDB API url
  • query – Required. A JSON array of query predicates in prefix form ([“<OPERATOR>”, “<FIELD>”, “<VALUE>”]). This query is forwarded to the events endpoint - see there for additional documentation.
  • summarize_by – Required. A string specifying which type of object you’d like to see counts for. Supported values are resource, containing-class, and certname.
  • count_by – Optional. A string specifying what type of object is counted when building up the counts of successes, failures, noops, and skips. Supported values are resource (default) and certname.
  • counts_filter – Optional. A JSON array of query predicates in the usual prefix form. This query is applied to the final event counts output. Supported operators are =, >, <, >=, and <=. Supported fields are failures, successes, noops, and skips.
  • distinct_resources – Optional. (EXPERIMENTAL: it is possible that the behavior of this parameter may change in future releases.) This parameter is passed along to the event query - see there for additional documentation.

Response Format

{
“successes”: 2, “failures”: 0, “noops”: 0, “skips”: 1, “total”: 3

}

puppetdb.v3.catalogs module

resources.py: A bunch of API methods for interacting with v3 catalogs in the PuppetDB API.

puppetdb.v3.catalogs.get_catalog(api_url=None, node_name=None, verify=False, cert=[])

Returns catalogs by node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node

puppetdb.v3.event_counts module

event_counts.py: A bunch of API methods for interacting with v3 event counts in the PuppetDB API.

Operators See the Operators page for the full list of available operators. Note that inequality operators (<, >, <=, >=) are only supported against the timestamp FIELD.

Fields FIELD may be any of the following. Unless otherwise noted, all fields support both equality and regular expression match operators, but do not support inequality operators.

certname: the name of the node that the event occurred on. report: the id of the report that the event occurred in; these ids can be acquired via event queries or via the /reports query endpoint. status: the status of the event; legal values are success, failure, noop, and skipped. timestamp: the timestamp (from the puppet agent) at which the event occurred. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-start-time: the timestamp (from the puppet agent) at which the puppet run began. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-end-time: the timestamp (from the puppet agent) at which the puppet run finished. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. report-receive-time: the timestamp (from the PuppetDB server) at which the puppet report was received. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. resource-type: the type of resource that the event occurred on; e.g., File, Package, etc. resource-title: the title of the resource that the event occurred on property: the property/parameter of the resource that the event occurred on; e.g., for a Package resource, this field might have a value of ensure. NOTE: this field may contain NULL values; see notes below. new-value: the new value that Puppet was attempting to set for the specified resource property. NOTE: this field may contain NULL values; see notes below. old-value: the previous value of the resource property, which Puppet was attempting to change. NOTE: this field may contain NULL values; see notes below. message: a description (supplied by the resource provider) of what happened during the event. NOTE: this field may contain NULL values; see notes below. file: the manifest file in which the resource definition is located. NOTE: this field may contain NULL values; see notes below. line: the line (of the containing manifest file) at which the resource definition can be found. NOTE: this field may contain NULL values; see notes below. containing-class: the Puppet class where this resource is declared. NOTE: this field may contain NULL values; see notes below. latest-report?: whether the event occurred in the most recent Puppet run (per-node). NOTE: the value of this field is always boolean (true or false without quotes), and it is not supported by the regex match operator.

Notes on fields that allow NULL values In the case of a skipped resource event, some of the fields of an event may not have values. We handle this case in a slightly special way when these fields are used in equality (=) or inequality (!=) queries; specifically, an equality query will always return false for an event with no value for the field, and an inequality query will always return true.

The response is a JSON array of maps. Each map contains the counts of events that matched the input parameters. The events are counted based on their statuses: failures, successes, noops, skips.

The maps also contain additional data about which object the events occurred on. The subject-type is the value that was used to summarize by (and therefore should match the input value to summarize-by). The subject map contains specific data about the object the event occurred on, and will vary based on the value specified for summarize-by.

When summarizing by certname, the subject will contain a title key: [

{
“subject-type”: “certname”, “subject”: { “title”: “foo.local” }, “failures”: 0, “successes”: 2, “noops”: 0, “skips”: 1

}, {

“subject-type”: “certname”, “subject”: { “title”: “bar.local” }, “failures”: 1, “successes”: 0, “noops”: 0, “skips”: 1

}

]

When summarizing by resource, the subject will contain a type and title key: [

{
“subject-type”: “resource”, “subject”: { “type”: “Notify”, “title”: “Foo happened” }, “failures”: 0, “successes”: 1, “noops”: 0, “skips”: 0

}, {

“subject-type”: “resource”, “subject”: { “type”: “Notify”, “title”: “Bar happened” }, “failures”: 0, “successes”: 0, “noops”: 0, “skips”: 1

}

]

When summarizing by containing-class, the subject will contain a title key: [

{
“subject-type”: “containing-class”, “subject”: { “title”: “Foo::Class” }, “failures”: 1, “successes”: 2, “noops”: 0, “skips”: 1

}, {

“subject-type”: “containing-class”, “subject”: { “title”: null }, “failures”: 0, “successes”: 0, “noops”: 2, “skips”: 0

}

]

puppetdb.v3.event_counts.get_event_counts(api_url=None, query='', summarize_by='', count_by='', counts_filter='', distinct_resources='', verify=False, cert=[])

Returns facts

Parameters:
  • api_url – Base PuppetDB API url
  • query – Required. A JSON array of query predicates in prefix form ([“<OPERATOR>”, “<FIELD>”, “<VALUE>”]). This query is forwarded to the events endpoint - see there for additional documentation.
  • summarize_by – Required. A string specifying which type of object you’d like to see counts for. Supported values are resource, containing-class, and certname.
  • count_by – Optional. A string specifying what type of object is counted when building up the counts of successes, failures, noops, and skips. Supported values are resource (default) and certname.
  • counts_filter – Optional. A JSON array of query predicates in the usual prefix form. This query is applied to the final event counts output. Supported operators are =, >, <, >=, and <=. Supported fields are failures, successes, noops, and skips.
  • distinct_resources – Optional. (EXPERIMENTAL: it is possible that the behavior of this parameter may change in future releases.) This parameter is passed along to the event query - see there for additional documentation.

Response When summarizing by certname, the subject will contain a title key: [

{
“subject-type”: “certname”, “subject”: { “title”: “foo.local” }, “failures”: 0, “successes”: 2, “noops”: 0, “skips”: 1

}, {

“subject-type”: “certname”, “subject”: { “title”: “bar.local” }, “failures”: 1, “successes”: 0, “noops”: 0, “skips”: 1

}

] When summarizing by resource, the subject will contain a type and title key: [

{
“subject-type”: “resource”, “subject”: { “type”: “Notify”, “title”: “Foo happened” }, “failures”: 0, “successes”: 1, “noops”: 0, “skips”: 0

}, {

“subject-type”: “resource”, “subject”: { “type”: “Notify”, “title”: “Bar happened” }, “failures”: 0, “successes”: 0, “noops”: 0, “skips”: 1

}

] When summarizing by containing-class, the subject will contain a title key: [

{
“subject-type”: “containing-class”, “subject”: { “title”: “Foo::Class” }, “failures”: 1, “successes”: 2, “noops”: 0, “skips”: 1

}, {

“subject-type”: “containing-class”, “subject”: { “title”: null }, “failures”: 0, “successes”: 0, “noops”: 2, “skips”: 0

}

]

puppetdb.v3.events module

events.py: A bunch of API methods for interacting with v3 events in the PuppetDB API.

Operators See the Operators page for the full list of available operators. Note that inequality operators (<, >, <=, >=) are only supported against the timestamp FIELD.

Fields FIELD may be any of the following. Unless otherwise noted, all fields support both equality and regular expression match operators, but do not support inequality operators.

certname: the name of the node that the event occurred on. report: the id of the report that the event occurred in; these ids can be acquired via event queries or via the /reports query endpoint. status: the status of the event; legal values are success, failure, noop, and skipped. timestamp: the timestamp (from the puppet agent) at which the event occurred. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-start-time: the timestamp (from the puppet agent) at which the puppet run began. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. run-end-time: the timestamp (from the puppet agent) at which the puppet run finished. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. report-receive-time: the timestamp (from the PuppetDB server) at which the puppet report was received. This field supports the inequality operators. All values should be specified as ISO-8601 compatible date/time strings. resource-type: the type of resource that the event occurred on; e.g., File, Package, etc. resource-title: the title of the resource that the event occurred on property: the property/parameter of the resource that the event occurred on; e.g., for a Package resource, this field might have a value of ensure. NOTE: this field may contain NULL values; see notes below. new-value: the new value that Puppet was attempting to set for the specified resource property. NOTE: this field may contain NULL values; see notes below. old-value: the previous value of the resource property, which Puppet was attempting to change. NOTE: this field may contain NULL values; see notes below. message: a description (supplied by the resource provider) of what happened during the event. NOTE: this field may contain NULL values; see notes below. file: the manifest file in which the resource definition is located. NOTE: this field may contain NULL values; see notes below. line: the line (of the containing manifest file) at which the resource definition can be found. NOTE: this field may contain NULL values; see notes below. containing-class: the Puppet class where this resource is declared. NOTE: this field may contain NULL values; see notes below. latest-report?: whether the event occurred in the most recent Puppet run (per-node). NOTE: the value of this field is always boolean (true or false without quotes), and it is not supported by the regex match operator.

Notes on fields that allow NULL values In the case of a skipped resource event, some of the fields of an event may not have values. We handle this case in a slightly special way when these fields are used in equality (=) or inequality (!=) queries; specifically, an equality query will always return false for an event with no value for the field, and an inequality query will always return true.

The response is a JSON array of events that matched the input parameters. The events are sorted by their timestamps, in descending order:

[
{
“certname”: “foo.localdomain”, “old-value”: “absent”, “property”: “ensure”, “timestamp”: “2012-10-30T19:01:05.000Z”, “resource-type”: “File”, “resource-title”: “/tmp/reportingfoo”, “new-value”: “file”, “message”: “defined content as ‘{md5}49f68a5c8493ec2c0bf489821c21fc3b’”, “report”: “38ff2aef3ffb7800fe85b322280ade2b867c8d27”, “status”: “success”, “file”: “/home/user/path/to/manifest.pp”, “line”: 6, “containment-path”: [ “Stage[main]”, “Foo”, “File[/tmp/reportingfoo]” ], “containing-class”: “Foo”, “run-start-time”: “2012-10-30T19:00:00.000Z”, “run-end-time”: “2012-10-30T19:05:00.000Z”, “report-receive-time”: “2012-10-30T19:06:00.000Z”

}, {

“certname”: “foo.localdomain”, “old-value”: “absent”, “property”: “message”, “timestamp”: “2012-10-30T19:01:05.000Z”, “resource-type”: “Notify”, “resource-title”: “notify, yo”, “new-value”: “notify, yo”, “message”: “defined ‘message’ as ‘notify, yo’”, “report”: “38ff2aef3ffb7800fe85b322280ade2b867c8d27”, “status”: “success”, “file”: “/home/user/path/to/manifest.pp”, “line”: 10, “containment-path”: [ “Stage[main]”, “”, “Node[default]”, “Notify[notify, yo]” ], “containing-class”: null, “run-start-time”: “2012-10-30T19:00:00.000Z”, “run-end-time”: “2012-10-30T19:05:00.000Z”, “report-receive-time”: “2012-10-30T19:06:00.000Z”

}

]

puppetdb.v3.events.get_events(api_url=None, query='', verify=False, cert=[])

Returns events

Parameters:
  • api_url – Base PuppetDB API url
  • query

    Required. A JSON array of query predicates, in prefix form (the standard [“<OPERATOR>”, “<FIELD>”, “<VALUE>”] format), conforming to the format described below. The query parameter is described by the following grammar:

    query: [ {bool} {query}+ ] | [ “not” {query} ] | [ {match} {field} {value} ] | [ {inequality} {field} {value} ] field: FIELD (conforming to [Fields](#fields) specification below) value: string bool: “or” | “and” match: “=” | “~” inequality: “>” | “>=” | “<” | “<=” For example, for all events in the report with hash ‘38ff2aef3ffb7800fe85b322280ade2b867c8d27’, the JSON query structure would be:

    [“=”, “report”, “38ff2aef3ffb7800fe85b322280ade2b867c8d27”] To retrieve all of the events within a given time period:

    [“and”, [“<”, “timestamp”, “2011-01-01T12:01:00-03:00”],
    [“>”, “timestamp”, “2011-01-01T12:00:00-03:00”]]

    To retrieve all of the ‘failure’ events for nodes named ‘foo.*’ and resources of type ‘Service’:

    [“and”, [“=”, “status”, “failure”],
    [“~”, “certname”, “^foo.”], [“=”, “resource-type”, “Service”]]

    To retrieve latest events that are tied to the class found in your update.pp file

    [“and”, [“=”, “latest-report?”, true],
    [“~”, “file”, “update.pp”]]

puppetdb.v3.fact_names module

fact_names.py: A bunch of API methods for interacting with v3 fact_names in the PuppetDB API.

puppetdb.v3.fact_names.get_fact_names(api_url=None, verify=False, cert=[])

Returns fact names

Parameters:api_url – Base PuppetDB API url

Response [<fact>, <fact>, ..., <fact>, <fact>]

puppetdb.v3.facts module

facts.py: A bunch of API methods for interacting with v3 facts in the PuppetDB API.

Successful responses will be in application/json. Errors will be returned as non-JSON strings.

The result will be a JSON array, with one entry per fact. Each entry is of the form:

Generic Response Type {

“certname”: <node name>, “name”: <fact name>, “value”: <fact value>

}

puppetdb.v3.facts.get_facts(api_url=None, query='', verify=False, cert=[])

Returns facts

Parameters:
  • api_url – Base PuppetDB API url
  • query – Optional. A JSON array containing the query in prefix notation. If not provided, all results will be returned.

Response [{“certname”: “a.example.com”, “name”: “operatingsystem”, “value”: “Debian”}, {“certname”: “b.example.com”, “name”: “operatingsystem”, “value”: “RedHat”}, {“certname”: “c.example.com”, “name”: “operatingsystem”, “value”: “Darwin”}]

puppetdb.v3.facts.get_facts_by_name(api_url=None, fact_name=None, verify=False, cert=[])

Returns facts by name

Parameters:
  • api_url – Base PuppetDB API url
  • fact_name – Name of fact

Response [{“certname”: “a.example.com”, “name”: “operatingsystem”, “value”: “Debian”}, {“certname”: “b.example.com”, “name”: “operatingsystem”, “value”: “Redhat”}, {“certname”: “c.example.com”, “name”: “operatingsystem”, “value”: “Ubuntu”}]

puppetdb.v3.facts.get_facts_by_name_and_value(api_url=None, fact_name=None, fact_value=None, verify=False, cert=[])

Returns facts by name and value

Parameters:
  • api_url – Base PuppetDB API url
  • fact_name – Name of fact
  • fact_value – Value of fact

Response [{“certname”: “a.example.com”, “name”: “operatingsystem”, “value”: “Debian”}, {“certname”: “b.example.com”, “name”: “operatingsystem”, “value”: “Debian}]

puppetdb.v3.metrics module

metrics.py: A bunch of API methods for interacting with v3 metrics in the PuppetDB API.

puppetdb.v3.metrics.get_metric_names(api_url=None, verify=False, cert=[])

Returns all available metric names

Parameters:api_url – Base PuppetDB API url
puppetdb.v3.metrics.get_metrics_by_name(api_url=None, metric_name=None, verify=False, cert=[])

Returns info for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • metric_name – Name of metric

puppetdb.v3.nodes module

nodes.py: A bunch of API methods for interacting with v3 nodes in the PuppetDB API.

puppetdb.v3.nodes.get_facts(api_url=None, query={}, verify=False, cert=[])

Returns info for all Nodes

Parameters:api_url – Base PuppetDB API url
puppetdb.v3.nodes.get_node(api_url=None, node_name=None, verify=False, cert=[])

Returns info for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node
puppetdb.v3.nodes.get_node_fact_by_name(api_url=None, node_name=None, fact_name=None, verify=False, cert=[])

Returns specified fact for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node
  • fact_name – Name of fact
puppetdb.v3.nodes.get_node_facts(api_url=None, node_name=None, verify=False, cert=[])

Returns facts for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node
puppetdb.v3.nodes.get_node_resource_by_type(api_url=None, node_name=None, type_name=None, verify=False, cert=[])

Returns specified resource for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node
  • type_name – Type of resource
puppetdb.v3.nodes.get_node_resources(api_url=None, node_name=None, verify=False, cert=[])

Returns resources for a Node

Parameters:
  • api_url – Base PuppetDB API url
  • node_name – Name of node
puppetdb.v3.nodes.get_nodes(api_url=None, verify=False, cert=[])

Returns info for all Nodes

Parameters:api_url – Base PuppetDB API url

puppetdb.v3.reports module

reports.py: A bunch of API methods for interacting with v3 reports in the PuppetDB API.

Operators The only available OPERATOR is =.

Fields FIELD may be any of the following. All fields support only the equality operator.

certname the name of the node that the report was received from. hash the id of the report; these ids can be acquired via event queries (see the /events query endpoint).

The response is a JSON array of report summaries for all reports that matched the input parameters. The summaries are sorted by the completion time of the report, in descending order: [

{
“end-time”: “2012-10-29T18:38:01.000Z”, “puppet-version”: “3.0.1”, “receive-time”: “2012-10-29T18:38:04.238Z”, “configuration-version”: “1351535883”, “start-time”: “2012-10-29T18:38:00.000Z”, “hash”: “bd899b1ee825ec1d2c671fe5541b5c8f4a783472”, “certname”: “foo.local”, “report-format”: 4, “transaction-uuid”: “030c1717-f175-4644-b048-ac9ea328f221” },
{
“end-time”: “2012-10-26T22:39:32.000Z”, “puppet-version”: “3.0.1”, “receive-time”: “2012-10-26T22:39:35.305Z”, “configuration-version”: “1351291174”, “start-time”: “2012-10-26T22:39:31.000Z”, “hash”: “cd4e5fd8846bac26d15d151664a40e0f2fa600b0”, “certname”: “foo.local”, “report-format”: 4, “transaction-uuid”: null }

]

puppetdb.v3.reports.get_reports(api_url=None, query='', verify=False, cert=[])

Returns reports

Parameters:
  • api_url – Base PuppetDB API url
  • query – Required. A JSON array of query predicates, in prefix form. (The standard [“<OPERATOR>”, “<FIELD>”, “<VALUE>”] format.)
Response
[
{
“end-time”: “2012-10-29T18:38:01.000Z”, “puppet-version”: “3.0.1”, “receive-time”: “2012-10-29T18:38:04.238Z”, “configuration-version”: “1351535883”, “start-time”: “2012-10-29T18:38:00.000Z”, “hash”: “bd899b1ee825ec1d2c671fe5541b5c8f4a783472”, “certname”: “foo.local”, “report-format”: 4, “transaction-uuid”: “030c1717-f175-4644-b048-ac9ea328f221” },
{
“end-time”: “2012-10-26T22:39:32.000Z”, “puppet-version”: “3.0.1”, “receive-time”: “2012-10-26T22:39:35.305Z”, “configuration-version”: “1351291174”, “start-time”: “2012-10-26T22:39:31.000Z”, “hash”: “cd4e5fd8846bac26d15d151664a40e0f2fa600b0”, “certname”: “foo.local”, “report-format”: 4, “transaction-uuid”: null }

]

puppetdb.v3.resources module

resources.py: A bunch of API methods for interacting with v3 resources in the PuppetDB API.

puppetdb.v3.resources.get_resources(api_url=None, query='', verify=False, cert=[])

Returns resources

Parameters:api_url – Base PuppetDB API url
puppetdb.v3.resources.get_resources_by_name(api_url=None, resource_name=None, verify=False, cert=[])

Returns facts by name

Parameters:
  • api_url – Base PuppetDB API url
  • resource_name – Name of resource
puppetdb.v3.resources.get_resources_by_name_and_value(api_url=None, resource_name=None, resource_value=None, verify=False, cert=[])

Returns resources by name and value

Parameters:
  • api_url – Base PuppetDB API url
  • resource_name – Name of fact
  • resource_value – Value of fact

puppetdb.v3.server_time module

fact_names.py: A bunch of API methods for interacting with v3 server time in the PuppetDB API.

puppetdb.v3.server_time.get_server_time(api_url=None, verify=False, cert=[])

Returns fact names

Parameters:api_url – Base PuppetDB API url

Response

{
“server-time”: “2013-09-20T20:54:27.472Z”

}

puppetdb.v3.version module

version.py: A bunch of API methods for interacting with v3 server version in the PuppetDB API.

The response will be in application/json, and will return a JSON map with a single key: version, whose value is a string representation of the version of the running PuppetDB server.

{“version”: “X.Y.Z”}

puppetdb.v3.version.get_version(api_url=None, verify=False, cert=[])

Returns server version

Parameters:api_url – Base PuppetDB API url

Response

{
{“version”: “X.Y.Z”}

}

Module contents

__init__.py: init for v3 api calls.