main_index¶
The OPTIMADE Index Meta-Database server
The server is based on MongoDB, using either pymongo
or mongomock
.
This is an example implementation with example data. To implement your own index meta-database server see the documentation at https://optimade.org/optimade-python-tools.
add_major_version_base_url(app)
¶
Add mandatory endpoints to /vMAJOR
base URL.
Source code in optimade/server/main_index.py
def add_major_version_base_url(app: FastAPI):
""" Add mandatory endpoints to `/vMAJOR` base URL. """
for endpoint in (index_info, links):
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_index.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"):
app.include_router(index_info.router, prefix=BASE_URL_PREFIXES[version])
app.include_router(links.router, prefix=BASE_URL_PREFIXES[version])