Skip to content

medcat-service/v1.2.0 FastAPI and Cloud improvements

Choose a tag to compare

@alhendrickson alhendrickson released this 09 Feb 13:15
· 34 commits to main since this release
4cd8f81

This release rewrites medcat service to run on FastAPI instead of Flask. It adds improvements useful for running in cloud environments and includes bug fixes and integration testing

Rewrite to FastAPI

  • Migrated to FastAPI framework instead of Flask
  • Added Pydantic for improved type safety
  • Added types to Health and Info APIs
  • Added input types for all APIs
  • Added root_path support using Pydantic settings

New Features

  • Observability with Prometheus metrics and OpenTelemetry tracing
  • Create a demo interface for MedCAT and AnonCAT using Gradio
  • Added Kubernetes liveness and readiness health check endpoints

What's Changed

  • feat(medcat-service): Create liveness and readiness APIs for use by K8s by @alhendrickson in #41
  • refactor(medcat-service): Add pydantic. Add types to Health and Info APIs by @alhendrickson in #51
  • CU-8699vq0he: refactor(medcat-service): add input types for APis by @alhendrickson in #56
  • CU-8699wvj3d refactor(medcat-service): Add FastAPI framework by @alhendrickson in #57
  • feat(medcat-service): Add root_path support using pydantic settings by @alhendrickson in #60
  • feat(medcat-service): Add Gradio UI to show a demo of the model by @alhendrickson in #59
  • build(medcat-service): Fix latest tag in docker getting set on a release by @alhendrickson in #63
  • CU-8699xagnz bug(medcat-service): Add test showing that meta_anns_filters in payload errors out by @alhendrickson in #58
  • bug(medcat-service): Fix DeID mode fails with PydanticSerializationError by @alhendrickson in #98
  • test(medcat-service): 869a17yed Create integration test for DeID Function by @alhendrickson in #100
  • bug(medcat-service): DeID bulk processing fix by @alhendrickson in #104
  • bug(medcat-service): Fix Gradio settings by @alhendrickson in #136
  • Medcat service rev1 by @vladd-bit in #137
  • Medcat service rev2 by @vladd-bit in #139
  • fix(medcat-service) - Fix access log format not being set using uvicorn worker by @alhendrickson in #199
  • fix(medcat-service): Add thread safety to medcat processor dependency by @alhendrickson in #200
  • feat(medcat-service): Add Gunicorn CLI args for max requests, jitter, and any other input from env by @alhendrickson in #201
  • build(medcat-service): CU-869b2zjay Clean runner to free up space for docker builds by @mart-r in #216
  • feat(medcat-service): Add optional metrics instrumentation with prometheus by @alhendrickson in #207
  • fix(medcat-service): Fix Prometheus metrics and add unit tests for it by @alhendrickson in #221
  • feat(medcat-service): Run MCP server for medcat using gradio by @alhendrickson in #253
  • feat(medcat-service): Enable Opentelemetry Tracing by @alhendrickson in #257
  • perf(medcat-service): CU-869a6r2uz Improve Deid performance by not calling get_entities twice by @alhendrickson in #258
  • feat(medcat-service): Medcat Demo and AnonCAT demo uplift in Gradio by @alhendrickson in #279
  • refactor(medcat-service): Demo app code improvements by @alhendrickson in #317

Full Changelog: MedCATservice/v1.1.1...medcat-service/v1.2.0