main¶
The OPTIMADE server
The server is based on MongoDB, using either pymongo
or mongomock
.
This is an example implementation with example data. To implement your own server see the documentation at https://optimade.org/optimade-python-tools.
add_major_version_base_url(app)
¶
Add mandatory vMajor endpoints, i.e. all except versions.
Source code in optimade/server/main.py
def add_major_version_base_url(app: FastAPI):
""" Add mandatory vMajor endpoints, i.e. all except versions. """
for endpoint in (info, links, references, structures, landing):
app.include_router(endpoint.router, prefix=BASE_URL_PREFIXES["major"])
add_optional_versioned_base_urls(app)
¶
Add the following OPTIONAL prefixes/base URLs to server:
/vMajor.Minor
/vMajor.Minor.Patch
Source code in optimade/server/main.py
def add_optional_versioned_base_urls(app: FastAPI):
"""Add the following OPTIONAL prefixes/base URLs to server:
```
/vMajor.Minor
/vMajor.Minor.Patch
```
"""
for version in ("minor", "patch"):
for endpoint in (info, links, references, structures, landing):
app.include_router(endpoint.router, prefix=BASE_URL_PREFIXES[version])