Skip to content

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
110
111
112
113
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
116
117
118
119
120
121
122
123
124
125
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])