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:
Alex committed 2026-09-07 10:20:43 +01:00
1 parent 3e7f1f91b4
commit 574f96341e
984 files changed
+9847 -9682

No files matched your search

+6 -6
View File
@@ -1,8 +1,8 @@
import pytest
from application.api.answer import answer
from application.api.internal.routes import internal
from application.api.user.routes import user
from application.core.settings import settings
from docsgpt.api.answer import answer
from docsgpt.api.internal.routes import internal
from docsgpt.api.user.routes import user
from docsgpt.core.settings import settings
from flask import Flask
@@ -30,8 +30,8 @@ class TestLogContextTeardown:
def test_reset_is_idempotent(self):
from flask import request
from application.app import _LOG_CTX_TOKEN_ATTR, _reset_log_context, app
from application.core import log_context
from docsgpt.app import _LOG_CTX_TOKEN_ATTR, _reset_log_context, app
from docsgpt.core import log_context
with app.test_request_context("/"):
token = log_context.bind(activity_id="abc", endpoint="stream")