mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-13 22:15:10 +00:00
refactor: rename the application package to docsgpt
The backend import package is now docsgpt, the name it will carry on PyPI; application was far too generic to install into anyone's site-packages. git mv plus a mechanical rewrite of every import, dotted string and path reference: 734 Python files, the compose files, Dockerfile, workflows, docs, setup scripts, devcontainer, k8s manifests, vscode config, pytest and coverage config, .gitignore. Behaviour is unchanged. Kept for one release: - A top-level application package whose meta-path finder resolves application.x.y to the already-imported docsgpt.x.y object, so old imports and entry points (celery -A application.app.celery, uvicorn application.asgi:asgi_app) keep working with a FutureWarning. - Celery registers every application.* task name as an alias of its docsgpt.* task on start-up, so messages queued by the previous release still run. The redbeat key prefix moves to redbeat:docsgpt:v2: so schedule entries the previous release wrote are left unread instead of firing twice. The backend image builds from the repository root (docker build -f docsgpt/Dockerfile .) so it can ship the alias package; a root .dockerignore allow-lists docsgpt/ and application/ and keeps caches, local data, .env files, the sample index files and the Dockerfile out. Compose and the image workflows point at the new context.
This commit is contained in:
1 parent
3e7f1f91b4
commit
574f96341e
984 files changed
+9847
-9682
No files matched your search
@@ -28,7 +28,7 @@ verbatim as the conversation's prompt). See
|
||||
|
||||
Run standalone (does NOT import anything from ``application/``). Python 3.11+.
|
||||
Flask is the only non-stdlib dependency and is already in
|
||||
``application/requirements.txt``.
|
||||
``docsgpt/requirements.txt``.
|
||||
|
||||
Usage::
|
||||
|
||||
@@ -482,7 +482,7 @@ def _stream_chat_response(
|
||||
if tool_calls and toolcall_arg_mode:
|
||||
# Frame-split mode: the call's ``arguments`` are spread over several
|
||||
# deltas that all share one ``index``, which is what the client-side
|
||||
# merge in application/llm/handlers/base.py reassembles.
|
||||
# merge in docsgpt/llm/handlers/base.py reassembles.
|
||||
call = tool_calls[0]
|
||||
frames = _toolcall_arg_frames(call["function"]["arguments"], toolcall_arg_mode)
|
||||
for position, piece in enumerate(frames):
|
||||
|
||||
@@ -20,7 +20,7 @@ comes from ``MOCK_OIDC_GROUPS`` (comma-separated).
|
||||
|
||||
Run standalone (does NOT import anything from ``application/``). Dependencies
|
||||
(flask, python-jose, cryptography, requests) are all in
|
||||
``application/requirements.txt``.
|
||||
``docsgpt/requirements.txt``.
|
||||
|
||||
Usage::
|
||||
|
||||
|
||||
+4
-4
@@ -255,7 +255,7 @@ FLASK_PID="$PIDDIR/flask.pid"
|
||||
log "starting Flask on 127.0.0.1:$FLASK_PORT"
|
||||
(
|
||||
cd "$E2E_TMP"
|
||||
PYTHONUNBUFFERED=1 nohup "$FLASK_BIN" --app ../application/app.py run \
|
||||
PYTHONUNBUFFERED=1 nohup "$FLASK_BIN" --app ../docsgpt/app.py run \
|
||||
--host 127.0.0.1 --port "$FLASK_PORT" \
|
||||
>"$FLASK_LOG" 2>&1 &
|
||||
echo $! > "$FLASK_PID"
|
||||
@@ -275,7 +275,7 @@ log "starting Celery worker (solo pool)"
|
||||
cd "$E2E_TMP"
|
||||
PYTHONPATH="$REPO_ROOT${PYTHONPATH:+:$PYTHONPATH}" \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
nohup "$PY_BIN" -m celery -A application.app.celery worker \
|
||||
nohup "$PY_BIN" -m celery -A docsgpt.app.celery worker \
|
||||
-l INFO --pool=solo -Q docsgpt,parsing \
|
||||
--without-gossip --without-mingle --without-heartbeat \
|
||||
>"$CELERY_LOG" 2>&1 &
|
||||
@@ -290,7 +290,7 @@ if ! wait_for_log "celery 'celery@'" 30 "$CELERY_LOG" "celery@"; then
|
||||
fi
|
||||
|
||||
# Ready check via `celery inspect ping`. We can't grep the log for 'ready'
|
||||
# because application/core/logging_config.py calls dictConfig with the default
|
||||
# because docsgpt/core/logging_config.py calls dictConfig with the default
|
||||
# disable_existing_loggers=True, which silences celery.worker's ready banner.
|
||||
# `inspect ping` queries the worker over the broker — it's the canonical
|
||||
# responsiveness check and doesn't depend on log output.
|
||||
@@ -301,7 +301,7 @@ while (( elapsed < CELERY_INSPECT_TIMEOUT )); do
|
||||
if ( cd "$E2E_TMP" && \
|
||||
PYTHONPATH="$REPO_ROOT${PYTHONPATH:+:$PYTHONPATH}" \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
"$PY_BIN" -m celery -A application.app.celery inspect ping \
|
||||
"$PY_BIN" -m celery -A docsgpt.app.celery inspect ping \
|
||||
--timeout 2 >/dev/null 2>&1 ); then
|
||||
ping_ok=1
|
||||
log " -> celery inspect ping OK after ${elapsed}s"
|
||||
|
||||
Reference in new issue
Block a user