MCPcopy Create free account
hub / github.com/Materials-Consortia/optimade-python-tools / get_info

Function get_info

optimade/server/routers/info.py:26–65  ·  view source on GitHub ↗
(request: Request)

Source from the content-addressed store, hash-verified

24 responses=ERROR_RESPONSES,
25)
26def get_info(request: Request) -> InfoResponse:
27 config = request.app.state.config
28
29 @functools.lru_cache(maxsize=1)
30 def _generate_info_response() -> BaseInfoResource:
31 """Cached closure that generates the info response for the implementation."""
32
33 return BaseInfoResource(
34 id=BaseInfoResource.model_fields["id"].default,
35 type=BaseInfoResource.model_fields["type"].default,
36 attributes=BaseInfoAttributes(
37 api_version=__api_version__,
38 available_api_versions=[
39 {
40 "url": f"{get_base_url(config, request.url)}/v{__api_version__.split('.')[0]}",
41 "version": __api_version__,
42 }
43 ],
44 formats=["json"],
45 available_endpoints=["info", "links"] + list(ENTRY_INFO_SCHEMAS.keys()),
46 entry_types_by_format={"json": list(ENTRY_INFO_SCHEMAS.keys())},
47 is_index=False,
48 license=Link(href=config.license) if config.license else None,
49 available_licenses=[str(config.license).split("/")[-1]]
50 if "https://spdx.org" in str(config.license)
51 else None,
52 ),
53 )
54
55 return InfoResponse(
56 meta=meta_values(
57 config,
58 request.url,
59 1,
60 1,
61 more_data_available=False,
62 schema=config.schema_url,
63 ),
64 data=_generate_info_response(),
65 )
66
67
68@router.get(

Callers

nothing calls this directly

Calls 3

InfoResponseClass · 0.90
meta_valuesFunction · 0.90
_generate_info_responseFunction · 0.85

Tested by

no test coverage detected