Skip to content

Commit af02055

Browse files
authored
Merge pull request #61 from guardrails-ai/feat/server-info-on-start
Enhanced server startup logs (API URL, Docs URL, ect)
2 parents 4a23750 + 6948c9b commit af02055

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

guardrails_api/app.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
from guardrails_api.clients.postgres_client import postgres_is_enabled
1111
from guardrails_api.otel import otel_is_disabled, initialize
1212
from guardrails_api.clients.cache_client import CacheClient
13-
13+
from rich.console import Console
14+
from rich.rule import Rule
1415

1516
# TODO: Move this to a separate file
1617
class OverrideJsonProvider(DefaultJSONProvider):
@@ -49,6 +50,9 @@ def register_config(config: Optional[str] = None):
4950
def create_app(
5051
env: Optional[str] = None, config: Optional[str] = None, port: Optional[int] = None
5152
):
53+
# used to print user-facing messages during server startup
54+
console = Console()
55+
5256
if os.environ.get("APP_ENVIRONMENT") != "production":
5357
from dotenv import load_dotenv
5458

@@ -95,9 +99,23 @@ def create_app(
9599
cache_client.initialize(app)
96100

97101
from guardrails_api.blueprints.root import root_bp
98-
from guardrails_api.blueprints.guards import guards_bp
102+
from guardrails_api.blueprints.guards import guards_bp, guard_client
99103

100104
app.register_blueprint(root_bp)
101105
app.register_blueprint(guards_bp)
102106

107+
console.print(
108+
f"\n:rocket: Guardrails API is available at {self_endpoint}"
109+
)
110+
console.print(f":book: Visit {self_endpoint}/docs to see available API endpoints.\n")
111+
112+
console.print(":green_circle: Active guards and OpenAI compatible endpoints:")
113+
114+
for g in guard_client.get_guards():
115+
g = g.to_dict()
116+
console.print(f"- Guard: [bold white]{g.get('name')}[/bold white] {self_endpoint}/guards/{g.get('name')}/openai/v1")
117+
118+
console.print("")
119+
console.print(Rule("[bold grey]Server Logs[/bold grey]", characters="=", style="white"))
120+
103121
return app

0 commit comments

Comments
 (0)