Deploy encrypted Dearmon Analytics RFP Template Generator v13
Browse files- .gitignore +3 -0
- DEPLOYMENT_NOTES.md +34 -0
- README.md +32 -6
- app.py +0 -0
- requirements.txt +10 -0
.gitignore
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__pycache__/
|
| 2 |
+
*.py[cod]
|
| 3 |
+
.DS_Store
|
DEPLOYMENT_NOTES.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Dearmon Analytics secure deployment notes
|
| 2 |
+
|
| 3 |
+
Release: `v13-space-card-validation-and-proven-deployer-pattern (2026-08-18)`
|
| 4 |
+
|
| 5 |
+
Target private Space: `DearmonAnalytics/RFP_Template_Generator`
|
| 6 |
+
|
| 7 |
+
## Deployment architecture
|
| 8 |
+
|
| 9 |
+
This package follows the attached Business Calculus secure one-click deployment pattern:
|
| 10 |
+
|
| 11 |
+
- `RUN_DEPLOYMENT.bat` selects the existing Anaconda, Miniconda, or Python installation.
|
| 12 |
+
- It installs only a compatible `huggingface_hub` helper into that interpreter.
|
| 13 |
+
- It does **not** create a local virtual environment and does **not** use PowerShell.
|
| 14 |
+
- `deploy_to_huggingface.py` validates the encrypted Space package, validates the Space-card YAML before modifying the repository, creates or updates a private Gradio Space, stores secrets, uploads the five approved files, and checks build status.
|
| 15 |
+
|
| 16 |
+
## Required secrets
|
| 17 |
+
|
| 18 |
+
- `APP_SOURCE_FERNET_KEY_V1` — refreshed with each application release
|
| 19 |
+
- `OPENAI_API_KEY`
|
| 20 |
+
- `TURSO_DATABASE_URL`
|
| 21 |
+
- `TURSO_AUTH_TOKEN`
|
| 22 |
+
- `RFP_DATA_FERNET_KEY_V1` — preserve across future updates
|
| 23 |
+
|
| 24 |
+
## Runtime variables
|
| 25 |
+
|
| 26 |
+
- `RFP_CAPTURE_ENABLED=1`
|
| 27 |
+
- `RFP_DB_REQUIRE_TURSO=1`
|
| 28 |
+
- `RFP_CAPTURE_DOCUMENTS=1`
|
| 29 |
+
- `RFP_CAPTURE_LLM_IO=1`
|
| 30 |
+
- `RFP_STORE_PLAINTEXT_PREVIEWS=0`
|
| 31 |
+
- `GRADIO_ANALYTICS_ENABLED=False`
|
| 32 |
+
- `GRADIO_SSR_MODE=False`
|
| 33 |
+
- `HF_HUB_DISABLE_TELEMETRY=1`
|
| 34 |
+
- `APP_DEPLOYMENT_MODE=hf-space-encrypted`
|
README.md
CHANGED
|
@@ -1,13 +1,39 @@
|
|
| 1 |
---
|
| 2 |
title: RFP Template Generator
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
colorTo: blue
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: 6.
|
| 8 |
-
python_version:
|
| 9 |
app_file: app.py
|
| 10 |
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
title: RFP Template Generator
|
| 3 |
+
colorFrom: blue
|
| 4 |
+
colorTo: green
|
|
|
|
| 5 |
sdk: gradio
|
| 6 |
+
sdk_version: 6.5.1
|
| 7 |
+
python_version: "3.11"
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
+
fullWidth: true
|
| 11 |
+
header: mini
|
| 12 |
+
disable_embedding: true
|
| 13 |
+
short_description: Site selection and RFP template generation.
|
| 14 |
+
tags:
|
| 15 |
+
- consulting
|
| 16 |
+
- site-selection
|
| 17 |
+
- economic-development
|
| 18 |
+
- gradio
|
| 19 |
---
|
| 20 |
|
| 21 |
+
# Dearmon Analytics RFP Template Generator
|
| 22 |
+
|
| 23 |
+
Private encrypted Gradio application for natural-language Oklahoma County parcel screening, workforce and demographic research, operational-fit analysis, competitive location positioning, and branded Word RFP template generation.
|
| 24 |
+
|
| 25 |
+
Website: https://dearmonanalytics.com/
|
| 26 |
+
|
| 27 |
+
## Required Space secrets
|
| 28 |
+
|
| 29 |
+
- `APP_SOURCE_FERNET_KEY_V1`
|
| 30 |
+
- `OPENAI_API_KEY`
|
| 31 |
+
- `TURSO_DATABASE_URL`
|
| 32 |
+
- `TURSO_AUTH_TOKEN`
|
| 33 |
+
- `RFP_DATA_FERNET_KEY_V1`
|
| 34 |
+
|
| 35 |
+
## Persistence
|
| 36 |
+
|
| 37 |
+
Uploaded documents, extracted text, site-search queries, parsed filters, OpenAI request/response payloads, analysis state, generated RFP frameworks, and generated Word templates are encrypted before they are written to Turso. Plaintext query previews are disabled in the deployed configuration.
|
| 38 |
+
|
| 39 |
+
The repository contains only the authenticated encrypted loader and deployment metadata. The plaintext application source and both Fernet keys are not stored in the Space repository.
|
app.py
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
requirements.txt
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
gradio==6.5.1
|
| 2 |
+
pandas==2.2.3
|
| 3 |
+
PyMuPDF==1.26.7
|
| 4 |
+
python-docx==1.2.0
|
| 5 |
+
requests==2.32.5
|
| 6 |
+
plotly==6.5.2
|
| 7 |
+
shapely==2.1.2
|
| 8 |
+
pyproj==3.7.2
|
| 9 |
+
cryptography==46.0.4
|
| 10 |
+
libsql
|