deploy_docs_status.py — fastapi Source File
Architecture documentation for deploy_docs_status.py, a python file in the fastapi codebase. 6 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 8aae50f7_04c0_8084_bbfb_84dde926a81a["deploy_docs_status.py"] a4a63925_76bf_e8a8_bef2_cb86d161a300["logging"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> a4a63925_76bf_e8a8_bef2_cb86d161a300 b423f231_0305_b686_5fea_7c66fe42f25b["re"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> b423f231_0305_b686_5fea_7c66fe42f25b 0dda2280_3359_8460_301c_e98c77e78185["typing"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> 0dda2280_3359_8460_301c_e98c77e78185 319484c7_306f_9ec1_3de4_788004953d77["github"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> 319484c7_306f_9ec1_3de4_788004953d77 6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> 6913fbd4_39df_d14b_44bb_522e99b65b90 d2280984_30d0_0ee6_97ed_95cfcc358f18["pydantic_settings"] 8aae50f7_04c0_8084_bbfb_84dde926a81a --> d2280984_30d0_0ee6_97ed_95cfcc358f18 style 8aae50f7_04c0_8084_bbfb_84dde926a81a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import logging
import re
from typing import Literal
from github import Auth, Github
from pydantic import BaseModel, SecretStr
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
github_repository: str
github_token: SecretStr
deploy_url: str | None = None
commit_sha: str
run_id: int
state: Literal["pending", "success", "error"] = "pending"
class LinkData(BaseModel):
previous_link: str
preview_link: str
en_link: str | None = None
def main() -> None:
logging.basicConfig(level=logging.INFO)
settings = Settings()
logging.info(f"Using config: {settings.model_dump_json()}")
g = Github(auth=Auth.Token(settings.github_token.get_secret_value()))
repo = g.get_repo(settings.github_repository)
use_pr = next(
(pr for pr in repo.get_pulls() if pr.head.sha == settings.commit_sha), None
)
if not use_pr:
logging.error(f"No PR found for hash: {settings.commit_sha}")
return
commits = list(use_pr.get_commits())
current_commit = [c for c in commits if c.sha == settings.commit_sha][0]
run_url = f"https://github.com/{settings.github_repository}/actions/runs/{settings.run_id}"
if settings.state == "pending":
current_commit.create_status(
state="pending",
description="Deploying Docs",
context="deploy-docs",
target_url=run_url,
)
logging.info("No deploy URL available yet")
return
if settings.state == "error":
current_commit.create_status(
state="error",
description="Error Deploying Docs",
context="deploy-docs",
target_url=run_url,
)
logging.info("Error deploying docs")
return
assert settings.state == "success"
if not settings.deploy_url:
// ... (90 more lines)
Domain
Subdomains
Functions
Dependencies
- github
- logging
- pydantic
- pydantic_settings
- re
- typing
Source
Frequently Asked Questions
What does deploy_docs_status.py do?
deploy_docs_status.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in deploy_docs_status.py?
deploy_docs_status.py defines 1 function(s): main.
What does deploy_docs_status.py depend on?
deploy_docs_status.py imports 6 module(s): github, logging, pydantic, pydantic_settings, re, typing.
Where is deploy_docs_status.py in the architecture?
deploy_docs_status.py is located at scripts/deploy_docs_status.py (domain: FastAPI, subdomain: Routing, directory: scripts).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free