Ekow24 commited on
Commit
394240d
·
verified ·
1 Parent(s): 914adef

Upload 8 files

Browse files
.gitattributes CHANGED
@@ -1,35 +1,36 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Job[[:space:]]Application[[:space:]]Task_[[:space:]]Product[[:space:]]Builder[[:space:]](1).pdf filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ venv_new/
2
+ .venv/
3
+ __pycache__/
4
+ *.pyc
5
+ .DS_Store
6
+ .env
Dockerfile CHANGED
@@ -1,20 +1,52 @@
1
- FROM python:3.13.5-slim
2
-
3
- WORKDIR /app
4
-
5
- RUN apt-get update && apt-get install -y \
6
- build-essential \
7
- curl \
8
- git \
9
- && rm -rf /var/lib/apt/lists/*
10
-
11
- COPY requirements.txt ./
12
- COPY src/ ./src/
13
-
14
- RUN pip3 install -r requirements.txt
15
-
16
- EXPOSE 8501
17
-
18
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
19
-
20
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <<<<<<< HEAD
2
+ FROM python:3.12-slim
3
+
4
+ WORKDIR /app
5
+
6
+ # Copy project files
7
+ COPY . /app
8
+
9
+ # Install build deps (kept minimal) and pip packages
10
+ RUN apt-get update && apt-get install -y --no-install-recommends build-essential git && rm -rf /var/lib/apt/lists/*
11
+ RUN pip install --no-cache-dir -r requirements.txt
12
+
13
+ # Expose Streamlit port
14
+ EXPOSE 8501
15
+
16
+ # Start the Streamlit app
17
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
18
+ FROM python:3.12-slim
19
+
20
+ WORKDIR /app
21
+
22
+ # Copy code
23
+ COPY . /app
24
+
25
+ # Install dependencies
26
+ RUN pip install --no-cache-dir -r requirements.txt
27
+
28
+ EXPOSE 8501
29
+
30
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
31
+ =======
32
+ FROM python:3.13.5-slim
33
+
34
+ WORKDIR /app
35
+
36
+ RUN apt-get update && apt-get install -y \
37
+ build-essential \
38
+ curl \
39
+ git \
40
+ && rm -rf /var/lib/apt/lists/*
41
+
42
+ COPY requirements.txt ./
43
+ COPY src/ ./src/
44
+
45
+ RUN pip3 install -r requirements.txt
46
+
47
+ EXPOSE 8501
48
+
49
+ HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
50
+
51
+ ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
52
+ >>>>>>> hf/main
Job Application Task_ Product Builder (1).pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ac2bad1c8b099be9eb5552507b2aeb6c8aceb1257296b7a6c5428bb0fab27210
3
+ size 107815
README.md CHANGED
@@ -1,19 +1,49 @@
1
- ---
2
- title: AI Spending Analyzer
3
- emoji: 🚀
4
- colorFrom: red
5
- colorTo: red
6
- sdk: docker
7
- app_port: 8501
8
- tags:
9
- - streamlit
10
- pinned: false
11
- short_description: Streamlit template space
12
- ---
13
-
14
- # Welcome to Streamlit!
15
-
16
- Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
17
-
18
- If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
19
- forums](https://discuss.streamlit.io).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <<<<<<< HEAD
2
+ AI Spending Analyser — Hugging Face Spaces ready
3
+
4
+ This repo contains a Streamlit app that analyses synthetic spending data and provides a small local LLM-powered summary by default.
5
+
6
+ Key points for deployment on Hugging Face Spaces
7
+ - The app entrypoint is `app.py` at the repository root. Spaces will run `streamlit run app.py`.
8
+ - Dependencies are listed in `requirements.txt` at the repo root. They include `transformers` and `torch` so a small local model can be used.
9
+ - Dependencies are listed in `requirements.txt` at the repo root. To keep builds fast on Spaces, `torch` has been removed; the app uses a small local model (`distilgpt2`) by default.
10
+ - Default AI engine: `HuggingFace` (local). The app attempts to load `distilgpt2` by default — this is free and runs on CPU.
11
+ - OpenAI: available as a sidebar option but shows "Coming soon" in the UI because this project avoids paid APIs by default.
12
+
13
+ Environment variables you can set in the Space (optional)
14
+ - `HF_LOCAL_MODEL` change the local model name (e.g., `distilgpt2`, `gpt2`, or another HF Hub model compatible with causal LM inference).
15
+
16
+ Secrets (add before running remote HF inference)
17
+ - Add a secret named `streamlit` in your Space Settings → Secrets and set its value to your new Hugging Face token.
18
+ - Alternatively set `HF_TOKEN_NAME` to the secret key name you used.
19
+
20
+ How to deploy
21
+ 1. Push this repository to a git remote.
22
+ 2. Create a new Hugging Face Space (Streamlit) and point it to this repo.
23
+ 3. No API keys are required for the default mode. If you later enable cloud inference, add the appropriate secrets.
24
+
25
+ Notes
26
+ - Model download happens on first run and may take a moment.
27
+ - If build times on Spaces are long because of `torch`, consider switching to a smaller model or using CPU-optimized wheels.
28
+ - If build times on Spaces are long because of heavy dependencies, remove them from `requirements.txt` (we removed `torch` to speed builds).
29
+ =======
30
+ ---
31
+ title: AI Spending Analyzer
32
+ emoji: 🚀
33
+ colorFrom: red
34
+ colorTo: red
35
+ sdk: docker
36
+ app_port: 8501
37
+ tags:
38
+ - streamlit
39
+ pinned: false
40
+ short_description: Streamlit template space
41
+ ---
42
+
43
+ # Welcome to Streamlit!
44
+
45
+ Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
46
+
47
+ If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
48
+ forums](https://discuss.streamlit.io).
49
+ >>>>>>> hf/main
app.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Top-level Streamlit entrypoint for Hugging Face Spaces / simple hosting.
3
+
4
+ This just imports and runs the app living in the `ai_spending_analyser` package so
5
+ you can keep the app code in a subfolder while providing the expected root-level
6
+ `app.py` that platforms (including Hugging Face Spaces) look for.
7
+ """
8
+ from ai_spending_analyser import app as ai_app
9
+
10
+
11
+ if __name__ == "__main__":
12
+ # When invoked as `streamlit run app.py` this will start the Streamlit app.
13
+ ai_app.main()
push_to_space.ps1 ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Push local repo to Hugging Face Space
2
+ # Usage: set the SPACE_GIT_URL variable below (from your Space page), then run this script in PowerShell.
3
+
4
+ param(
5
+ [string]$SpaceGitUrl
6
+ )
7
+
8
+ if (-not $SpaceGitUrl) {
9
+ Write-Error "Pass the Space repo URL as the first argument, e.g. .\push_to_space.ps1 https://huggingface.co/spaces/youruser/yourspace.git"
10
+ exit 1
11
+ }
12
+
13
+ Write-Host "Adding hf remote (named 'hf') -> $SpaceGitUrl"
14
+
15
+ git remote remove hf -ErrorAction SilentlyContinue
16
+ git remote add hf $SpaceGitUrl
17
+
18
+ Write-Host "Pushing main branch to the Space (remote 'hf')..."
19
+ git push hf main -u
20
+
21
+ if ($LASTEXITCODE -eq 0) {
22
+ Write-Host "Push complete. Visit your Space page to watch the build logs and runtime." -ForegroundColor Green
23
+ } else {
24
+ Write-Error "Push failed. Check your network and remote URL, then try again." -ForegroundColor Red
25
+ }
requirements.txt CHANGED
@@ -1,3 +1,11 @@
1
- altair
2
- pandas
3
- streamlit
 
 
 
 
 
 
 
 
 
1
+ <<<<<<< HEAD
2
+ streamlit>=1.34
3
+ pandas>=2.2
4
+ numpy>=1.26
5
+ plotly>=5.22
6
+ transformers>=4.30
7
+ =======
8
+ altair
9
+ pandas
10
+ streamlit
11
+ >>>>>>> hf/main