mbudisic commited on
Commit
66ef1e0
Β·
1 Parent(s): 66b465a

feat(app): Update introduction message to include version and source information

Browse files

- Modified the introduction message to display the current version of Eva and added a note about the demo app's creation using Adobe Research PsTuts data.
- Updated the version number in `version.py` from 0.9.9 to 1.0.0.

Files changed (4) hide show
  1. TODO.md +2 -2
  2. app.py +3 -1
  3. docs/DEVELOPER.md +48 -0
  4. version.py +1 -1
TODO.md CHANGED
@@ -1,7 +1,7 @@
1
  # πŸ“ TODOs in Codebase
2
 
3
- - `./app.py:45:# TODO: Create an introduction message here that explains the purpose of the app`
4
- - `./app.py:246: # TODO: Make the step label update instead of add`
5
  - `./pstuts_rag/pstuts_rag/datastore.py:26:# TODO: Write MCP server that ingests `mp4` folder`
6
  - `./pstuts_rag/pstuts_rag/datastore.py:66:# TODO: accumulate transcripts of videos when loading, summarize each, then summarize summaries to get a description of the dataset for the prompt`
7
  - `./pstuts_rag/pstuts_rag/nodes.py:113:# TODO More robust generation of queries - multiquery launch`
 
1
  # πŸ“ TODOs in Codebase
2
 
3
+ - `./app.py:46:# TODO: Create an introduction message here that explains the purpose of the app`
4
+ - `./app.py:248: # TODO: Make the step label update instead of add`
5
  - `./pstuts_rag/pstuts_rag/datastore.py:26:# TODO: Write MCP server that ingests `mp4` folder`
6
  - `./pstuts_rag/pstuts_rag/datastore.py:66:# TODO: accumulate transcripts of videos when loading, summarize each, then summarize summaries to get a description of the dataset for the prompt`
7
  - `./pstuts_rag/pstuts_rag/nodes.py:113:# TODO More robust generation of queries - multiquery launch`
app.py CHANGED
@@ -27,6 +27,7 @@ from pstuts_rag.nodes import (
27
  YesNoDecision,
28
  )
29
  from pstuts_rag.utils import get_unique
 
30
 
31
  # Track the single active session
32
  active_session = {"id": None, "timestamp": None}
@@ -97,8 +98,9 @@ async def on_chat_start():
97
  # Eva introduction message
98
  await cl.Message(
99
  content=(
100
- "πŸ‘‹ Hi there! I'm **Eva**, your friendly Photoshop expert AI.\n\n"
101
  "---\n\n"
 
102
  "I'm here to help you with all your Photoshop questions, using real answers from training video transcripts. πŸŽ₯✨\n\n"
103
  "**How I work:**\n"
104
  "- I answer using only what's in the official training videos and in Adobe Help website.\n"
 
27
  YesNoDecision,
28
  )
29
  from pstuts_rag.utils import get_unique
30
+ from version import __version__
31
 
32
  # Track the single active session
33
  active_session = {"id": None, "timestamp": None}
 
98
  # Eva introduction message
99
  await cl.Message(
100
  content=(
101
+ f"πŸ‘‹ Hi there! I'm **Eva v.{__version__}**, your friendly Photoshop expert AI.\n\n"
102
  "---\n\n"
103
+ "I was created as the demo app for [AI Makerspace](aimakerspace.io) Cohort 6 using Adobe Research [PsTuts data](https://github.com/adobe-research/PsTuts-VQA-Dataset).\n"
104
  "I'm here to help you with all your Photoshop questions, using real answers from training video transcripts. πŸŽ₯✨\n\n"
105
  "**How I work:**\n"
106
  "- I answer using only what's in the official training videos and in Adobe Help website.\n"
docs/DEVELOPER.md CHANGED
@@ -268,6 +268,54 @@ ipdb # Available for interactive debugging
268
  - `evaluate_rag.ipynb` for systematic evaluation
269
  - Fine-tuning experiments in `Fine_Tuning_Embedding_for_PSTuts.ipynb`
270
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  ## 🌊 Lazy Graph Initialization
272
 
273
  The project uses a **lazy initialization pattern** for the LangGraph to avoid expensive compilation during module imports while maintaining compatibility with LangGraph Studio.
 
268
  - `evaluate_rag.ipynb` for systematic evaluation
269
  - Fine-tuning experiments in `Fine_Tuning_Embedding_for_PSTuts.ipynb`
270
 
271
+ ## 🏷️ Versioning & Automated Tagging Workflow
272
+
273
+ This project uses **semantic versioning** and automated GitHub Actions to keep track of releases and make version management a breeze! πŸš€
274
+
275
+ ### πŸ“¦ Where is the version stored?
276
+ - The current app version is stored in [`version.py`](../version.py) at the project root:
277
+ ```python
278
+ __version__ = "1.0.0"
279
+ ```
280
+ - This version is displayed to users in the app UI ("I'm Eva v.X.Y.Z...").
281
+
282
+ ### πŸ”Ό How to bump the version
283
+ 1. Edit `version.py` and update the `__version__` string (e.g., to `1.1.0`).
284
+ 2. Commit the change to the `main` branch:
285
+ ```bash
286
+ git add version.py
287
+ git commit -m "chore: Bump version to 1.1.0"
288
+ git push
289
+ ```
290
+
291
+ ### πŸ€– What happens next? (GitHub Actions magic)
292
+ - On every push to `main` that changes `version.py`, a GitHub Actions workflow (`.github/workflows/tag-on-version.yml`) runs:
293
+ 1. Extracts the version from `version.py`.
294
+ 2. Checks if a tag `vX.Y.Z` already exists.
295
+ 3. If not, creates and pushes a tag (e.g., `v1.1.0`) to the repo.
296
+ - The workflow uses the official [`actions/checkout`](https://github.com/actions/checkout) and is granted `contents: write` permission to push tags.
297
+
298
+ ### 🏷️ Tags & Releases
299
+ - Tags are visible in the [GitHub Releases](../../releases) and [Tags](../../tags) pages.
300
+ - You can create a GitHub Release from any tag for changelogs, downloads, etc.
301
+ - The latest version is always shown in the README badge:
302
+ ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/mbudisic/PsTuts-RAG?label=version&sort=semver)
303
+
304
+ ### πŸ“ Example: Bumping the Version
305
+ ```bash
306
+ # 1. Edit version.py to set __version__ = "1.2.0"
307
+ # 2. Commit and push to main
308
+ # 3. The workflow will create and push tag v1.2.0 automatically!
309
+ ```
310
+
311
+ ### πŸ“š References
312
+ - [PEP 396 – Module Version Numbers](https://peps.python.org/pep-0396/)
313
+ - [GitHub Actions: Workflow syntax](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions)
314
+ - [GitHub Actions: GITHUB_TOKEN permissions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)
315
+ - [shields.io: GitHub tag badge](https://shields.io/category/version)
316
+
317
+ ---
318
+
319
  ## 🌊 Lazy Graph Initialization
320
 
321
  The project uses a **lazy initialization pattern** for the LangGraph to avoid expensive compilation during module imports while maintaining compatibility with LangGraph Studio.
version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.9.9"
 
1
+ __version__ = "1.0.0"