Skip to content

KCDB

Send a request to the KCDB server.

The ChemistryBiology, Physics and Radiation classes all inherit from the KCDB class so, typically, there should be no reason to instantiate the KCDB class directly.

KCDB ¤

KCDB(timeout=30)

KCDB base class.

Parameters:

Name Type Description Default
timeout float | None

The maximum number of seconds to wait for a response from the KCDB server.

30

BASE_URL class-attribute instance-attribute ¤

BASE_URL = 'https://www.bipm.org/api/kcdb'

The base url to the KCDB API.

MAX_PAGE_SIZE class-attribute instance-attribute ¤

MAX_PAGE_SIZE = 10000

The maximum number of elements that can be returned in a single KCDB request.

timeout property writable ¤

timeout

The timeout value, in seconds, to use for a KCDB request.

Returns:

Type Description
float | None

The maximum number of seconds to wait for a response from the KCDB server. If None, there is no timeout.

countries ¤

countries()

Return all countries.

Returns:

Type Description
list[Country]

A list of Country's.

domains ¤

domains()

Return all KCDB domains.

Returns:

Type Description
list[Domain]

A list of Domains.

filter staticmethod ¤

filter(data, pattern, *, flags=0)

Filter the reference data based on a pattern search.

Parameters:

Name Type Description Default
data Iterable[T]

An iterable of a ReferenceData subclass.

required
pattern str

A regular-expression pattern to use to filter results. Uses the label and value attributes of each item in data to perform the filtering.

required
flags int

Pattern flags passed to re.compile.

0

Returns:

Type Description
list[T]

The filtered reference data.

get ¤

get(url, *, json=None, params=None)

Send a GET request to the KCDB server.

Parameters:

Name Type Description Default
url str

The URL for the request.

required
json dict[str, bool | int | str | list[str]] | None

A JSON-serializable object to include in the body of the request.

None
params dict[str, int | str] | None

Query parameters to include in the URL.

None

Returns:

Type Description
Response

The response.

metrology_areas ¤

metrology_areas()

Return all metrology areas.

Returns:

Type Description
list[MetrologyArea]

A list of MetrologyAreas.

non_ionizing_quantities ¤

non_ionizing_quantities()

Return all non-Ionizing Radiation quantities.

Returns:

Type Description
list[NonIonizingQuantity]

A list of NonIonizingQuantity's.

post ¤

post(url, *, json=None, params=None)

Send a POST request to the KCDB server.

Parameters:

Name Type Description Default
url str

The URL for the request.

required
json dict[str, bool | int | str | list[str]] | None

A JSON-serializable object to include in the body of the request.

None
params dict[str, int | str] | None

Query parameters to include in the URL.

None

Returns:

Type Description
Response

The response.

quick_search(
    *,
    excluded_filters=None,
    included_filters=None,
    keywords=None,
    page=0,
    page_size=100,
    show_table=False
)

Perform a quick search.

Parameters:

Name Type Description Default
excluded_filters Iterable[str] | None

Excluded filters. Example: ["cmcServices.AC current", "cmcServices.AC power"]

None
included_filters Iterable[str] | None

Included filters. Example: ["cmcDomain.CHEM-BIO", "cmcBranches.Dimensional metrology"]

None
keywords str | None

Search keywords in elasticsearch format. Example: "phase OR test"

None
page int

Page number requested (0 means first page).

0
page_size int

Maximum number of elements in a page (maximum value is 10000).

100
show_table bool

Set to True to return table data.

False

Returns:

Type Description
ResultsQuickSearch

The CMC quick-search results.

Response ¤

Response(response)

A response from the KCDB server.

Parameters:

Name Type Description Default
response HTTPResponse | HTTPError

The server's response to an HTTP request.

required

data property ¤

data

The response body from the server.

ok property ¤

ok

Whether the status code of the response is HTTP 200 OK.

status_code property ¤

status_code

The status code of the response.

json ¤

json()

The JSON response body from the server.

raise_for_status ¤

raise_for_status()

Raise an HTTPException only if the server returned an error.