mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-12 18:15:33 +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
@@ -4,7 +4,7 @@ on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'application/version.py'
|
||||
- 'docsgpt/version.py'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@@ -23,12 +23,12 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Read version from application/version.py
|
||||
- name: Read version from docsgpt/version.py
|
||||
id: ver
|
||||
run: |
|
||||
VERSION=$(python3 -c "g={}; exec(open('application/version.py').read(), g); print(g['__version__'])")
|
||||
VERSION=$(python3 -c "g={}; exec(open('docsgpt/version.py').read(), g); print(g['__version__'])")
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "::error::Could not read __version__ from application/version.py"
|
||||
echo "::error::Could not read __version__ from docsgpt/version.py"
|
||||
exit 1
|
||||
fi
|
||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
||||
|
||||
@@ -28,13 +28,13 @@ jobs:
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install bandit # Bandit is needed for this action
|
||||
if [ -f application/requirements.txt ]; then pip install -r application/requirements.txt; fi
|
||||
if [ -f docsgpt/requirements.txt ]; then pip install -r docsgpt/requirements.txt; fi
|
||||
|
||||
- name: Run Bandit scan
|
||||
uses: PyCQA/bandit-action@v1
|
||||
with:
|
||||
severity: medium
|
||||
confidence: medium
|
||||
targets: application/
|
||||
targets: docsgpt/
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -63,9 +63,9 @@ jobs:
|
||||
- name: Build and push platform-specific images
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
||||
with:
|
||||
file: './application/Dockerfile'
|
||||
file: './docsgpt/Dockerfile'
|
||||
platforms: ${{ matrix.platform }}
|
||||
context: ./application
|
||||
context: .
|
||||
push: true
|
||||
build-args: |
|
||||
EXTRAS=${{ matrix.variant == '-docling' && 'docling' || '' }}
|
||||
|
||||
@@ -65,9 +65,9 @@ jobs:
|
||||
- name: Build and push platform-specific images
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
||||
with:
|
||||
file: './application/Dockerfile'
|
||||
file: './docsgpt/Dockerfile'
|
||||
platforms: ${{ matrix.platform }}
|
||||
context: ./application
|
||||
context: .
|
||||
push: true
|
||||
build-args: |
|
||||
EXTRAS=${{ matrix.variant == '-docling' && 'docling' || '' }}
|
||||
|
||||
@@ -8,14 +8,15 @@ on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'application/Dockerfile'
|
||||
- 'application/.dockerignore'
|
||||
- 'docsgpt/Dockerfile'
|
||||
- '.dockerignore'
|
||||
- 'application/**'
|
||||
- 'application/requirements*.txt'
|
||||
- 'application/scripts/prefetch_models.py'
|
||||
- 'application/scripts/verify_offline.py'
|
||||
- 'application/vectorstore/model_registry.py'
|
||||
- 'application/parser/tokenization.py'
|
||||
- 'application/vectorstore/embeddings_local.py'
|
||||
- 'docsgpt/scripts/prefetch_models.py'
|
||||
- 'docsgpt/scripts/verify_offline.py'
|
||||
- 'docsgpt/vectorstore/model_registry.py'
|
||||
- 'docsgpt/parser/tokenization.py'
|
||||
- 'docsgpt/vectorstore/embeddings_local.py'
|
||||
- '.github/workflows/docker-image-verify.yml'
|
||||
|
||||
permissions:
|
||||
@@ -40,8 +41,8 @@ jobs:
|
||||
- name: Build the image
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
||||
with:
|
||||
file: ./application/Dockerfile
|
||||
context: ./application
|
||||
file: ./docsgpt/Dockerfile
|
||||
context: .
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
tags: docsgpt:verify${{ matrix.variant }}
|
||||
@@ -63,4 +64,4 @@ jobs:
|
||||
IMAGE: docsgpt:verify${{ matrix.variant }}
|
||||
run: |
|
||||
docker run --rm --network none "$IMAGE" \
|
||||
python -m application.scripts.verify_offline
|
||||
python -m docsgpt.scripts.verify_offline
|
||||
@@ -36,4 +36,4 @@ jobs:
|
||||
run: |
|
||||
uv lock --check
|
||||
bash scripts/export_requirements.sh
|
||||
git diff --exit-code -- application/requirements.txt application/requirements-docling.txt application/requirements-milvus.txt
|
||||
git diff --exit-code -- docsgpt/requirements.txt docsgpt/requirements-docling.txt docsgpt/requirements-milvus.txt
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||
- name: Test with pytest and generate coverage report
|
||||
run: |
|
||||
python -m pytest -n auto --cov=application --cov-report=xml --cov-report=term-missing
|
||||
python -m pytest -n auto --cov=docsgpt --cov-report=xml --cov-report=term-missing
|
||||
- name: Upload coverage reports to Codecov
|
||||
if: github.event_name == 'pull_request' && matrix.python-version == '3.12'
|
||||
uses: codecov/codecov-action@v5
|
||||
|
||||
Reference in new issue
Block a user