Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
flask==3.1.1
flask-cors==6.0.1
fastapi==0.115.6
uvicorn==0.30.6
flexcache==0.3
flexparser==0.3.1
ipykernel==6.29.5
Expand Down
1 change: 1 addition & 0 deletions scripts/run_api.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uvicorn harmonization_framework.api.app:app --reload
4 changes: 0 additions & 4 deletions scripts/run_flask.sh

This file was deleted.

14 changes: 5 additions & 9 deletions src/harmonization_framework/api/app.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
from flask import Flask
from harmonization_framework.api.extensions import register_extensions
from harmonization_framework.api.routes.health import health_blueprint
from fastapi import FastAPI

def create_app(config_name=None):
app = Flask(__name__, instance_relative_config=True)

register_extensions(app)
from harmonization_framework.api.routes.health import router as health_router

app.register_blueprint(health_blueprint, url_prefix="/health")
return app
app = FastAPI(title="Harmonization Framework API")

app.include_router(health_router, prefix="/health")
4 changes: 0 additions & 4 deletions src/harmonization_framework/api/extensions.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The following is a demo for using `curl` to interact with the Harmonization Fram
## Start API

```bash
./scripts/run_flask.sh
./scripts/run_api.sh
```

## Example Usage
Expand Down
4 changes: 2 additions & 2 deletions src/harmonization_framework/api/routes/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# src/api/routes/__init__.py

from .health import health_blueprint
from .health import router as health_router

__all__ = [
"health_blueprint",
"health_router",
]
17 changes: 12 additions & 5 deletions src/harmonization_framework/api/routes/health.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
from flask import Blueprint, jsonify
from fastapi import APIRouter
from pydantic import BaseModel

health_blueprint = Blueprint("health", __name__)
router = APIRouter()

@health_blueprint.route("/", methods=["GET"])
def health_check():
return jsonify(status="ok", message="API is available"), 200

class HealthResponse(BaseModel):
status: str
message: str


@router.get("/")
def health_check() -> HealthResponse:
return HealthResponse(status="ok", message="The harmonization API is available")