SNT-CV-Generator 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snt_cv_generator-0.1.0/PKG-INFO +110 -0
- snt_cv_generator-0.1.0/README.md +98 -0
- snt_cv_generator-0.1.0/SNT_CV_Generator.egg-info/PKG-INFO +110 -0
- snt_cv_generator-0.1.0/SNT_CV_Generator.egg-info/SOURCES.txt +7 -0
- snt_cv_generator-0.1.0/SNT_CV_Generator.egg-info/dependency_links.txt +1 -0
- snt_cv_generator-0.1.0/SNT_CV_Generator.egg-info/entry_points.txt +2 -0
- snt_cv_generator-0.1.0/SNT_CV_Generator.egg-info/top_level.txt +1 -0
- snt_cv_generator-0.1.0/pyproject.toml +31 -0
- snt_cv_generator-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SNT_CV_Generator
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: An automated CV and cover letter generator powered by LLMs and LaTeX.
|
|
5
|
+
Author: Sat Naing Tun
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.8
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
# Local LLM LaTeX CV Tailor
|
|
14
|
+
|
|
15
|
+
An automated Python pipeline designed to customize LaTeX resumes and CVs to specific job descriptions using a lightweight local LLM (e.g., Gemma 3 1B via `llama.cpp`).
|
|
16
|
+
|
|
17
|
+
Unlike whole-document prompt approaches that frequently drop section titles or metadata, this tool processes experience entries **company-by-company**, keeping company names, job titles, and date ranges frozen in Python while rephrasing itemized bullet points to align with target job requirements.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
* **Python:** 3.8+
|
|
24
|
+
* **LaTeX Engine:** TeX Live / MiKTeX (`pdflatex` available in system `PATH`)
|
|
25
|
+
* **Local Inference Backend:** `llama.cpp`
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Setup & Quick Start
|
|
30
|
+
|
|
31
|
+
### 1. Install `llama.cpp` & Download Model
|
|
32
|
+
|
|
33
|
+
For detailed building and installation instructions across Linux, macOS, and Windows, refer to the official [llama.cpp README](https://github.com/ggml-org/llama.cpp/blob/master/README.md).
|
|
34
|
+
|
|
35
|
+
Once `llama.cpp` is built, create a `models/` folder and download the quantized GGUF model:
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
cd llama.cpp
|
|
40
|
+
mkdir -p models
|
|
41
|
+
wget -O models/gemma-3-1b-it.gguf \
|
|
42
|
+
[https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf](https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf)
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. Launch llama-server
|
|
47
|
+
Start the local API server backend using llama.cpp:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
./llama-server \
|
|
51
|
+
-m models/gemma-3-1b-it.gguf \
|
|
52
|
+
--port 8013 \
|
|
53
|
+
-c 4096 \
|
|
54
|
+
-ngl 99 \
|
|
55
|
+
--host 127.0.0.1
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Clone Repository & Set Up Python Environment
|
|
60
|
+
Clone the repository and set up a Python virtual environment:
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
# Clone the repository
|
|
65
|
+
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
|
|
66
|
+
cd your-repo-name
|
|
67
|
+
|
|
68
|
+
# Create virtual environment
|
|
69
|
+
python3 -m venv venv
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
Activate Virtual Environment:
|
|
75
|
+
|
|
76
|
+
Linux / macOS:
|
|
77
|
+
|
|
78
|
+
Bash
|
|
79
|
+
```
|
|
80
|
+
source venv/bin/activate
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Windows (Command Prompt):
|
|
84
|
+
|
|
85
|
+
DOS
|
|
86
|
+
```
|
|
87
|
+
venv\Scripts\activate.bat
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Windows (PowerShell):
|
|
91
|
+
|
|
92
|
+
PowerShell
|
|
93
|
+
```
|
|
94
|
+
.\venv\Scripts\Activate.ps1
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
4. Install Dependencies & Run
|
|
99
|
+
Install the Python requirements and launch the pipeline:
|
|
100
|
+
|
|
101
|
+
Bash
|
|
102
|
+
```
|
|
103
|
+
# Install required packages
|
|
104
|
+
pip install -r requirements.txt
|
|
105
|
+
|
|
106
|
+
# Run the generator script
|
|
107
|
+
python generate_cv.py
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Paste the target job description text, local text file path, or job posting URL, then press [ENTER] followed by [Ctrl+D] (or enter an empty line) to start the tailoring process.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Local LLM LaTeX CV Tailor
|
|
2
|
+
|
|
3
|
+
An automated Python pipeline designed to customize LaTeX resumes and CVs to specific job descriptions using a lightweight local LLM (e.g., Gemma 3 1B via `llama.cpp`).
|
|
4
|
+
|
|
5
|
+
Unlike whole-document prompt approaches that frequently drop section titles or metadata, this tool processes experience entries **company-by-company**, keeping company names, job titles, and date ranges frozen in Python while rephrasing itemized bullet points to align with target job requirements.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
* **Python:** 3.8+
|
|
12
|
+
* **LaTeX Engine:** TeX Live / MiKTeX (`pdflatex` available in system `PATH`)
|
|
13
|
+
* **Local Inference Backend:** `llama.cpp`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Setup & Quick Start
|
|
18
|
+
|
|
19
|
+
### 1. Install `llama.cpp` & Download Model
|
|
20
|
+
|
|
21
|
+
For detailed building and installation instructions across Linux, macOS, and Windows, refer to the official [llama.cpp README](https://github.com/ggml-org/llama.cpp/blob/master/README.md).
|
|
22
|
+
|
|
23
|
+
Once `llama.cpp` is built, create a `models/` folder and download the quantized GGUF model:
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
cd llama.cpp
|
|
28
|
+
mkdir -p models
|
|
29
|
+
wget -O models/gemma-3-1b-it.gguf \
|
|
30
|
+
[https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf](https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Launch llama-server
|
|
35
|
+
Start the local API server backend using llama.cpp:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
./llama-server \
|
|
39
|
+
-m models/gemma-3-1b-it.gguf \
|
|
40
|
+
--port 8013 \
|
|
41
|
+
-c 4096 \
|
|
42
|
+
-ngl 99 \
|
|
43
|
+
--host 127.0.0.1
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 3. Clone Repository & Set Up Python Environment
|
|
48
|
+
Clone the repository and set up a Python virtual environment:
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
# Clone the repository
|
|
53
|
+
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
|
|
54
|
+
cd your-repo-name
|
|
55
|
+
|
|
56
|
+
# Create virtual environment
|
|
57
|
+
python3 -m venv venv
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
Activate Virtual Environment:
|
|
63
|
+
|
|
64
|
+
Linux / macOS:
|
|
65
|
+
|
|
66
|
+
Bash
|
|
67
|
+
```
|
|
68
|
+
source venv/bin/activate
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Windows (Command Prompt):
|
|
72
|
+
|
|
73
|
+
DOS
|
|
74
|
+
```
|
|
75
|
+
venv\Scripts\activate.bat
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Windows (PowerShell):
|
|
79
|
+
|
|
80
|
+
PowerShell
|
|
81
|
+
```
|
|
82
|
+
.\venv\Scripts\Activate.ps1
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
4. Install Dependencies & Run
|
|
87
|
+
Install the Python requirements and launch the pipeline:
|
|
88
|
+
|
|
89
|
+
Bash
|
|
90
|
+
```
|
|
91
|
+
# Install required packages
|
|
92
|
+
pip install -r requirements.txt
|
|
93
|
+
|
|
94
|
+
# Run the generator script
|
|
95
|
+
python generate_cv.py
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Paste the target job description text, local text file path, or job posting URL, then press [ENTER] followed by [Ctrl+D] (or enter an empty line) to start the tailoring process.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SNT_CV_Generator
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: An automated CV and cover letter generator powered by LLMs and LaTeX.
|
|
5
|
+
Author: Sat Naing Tun
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.8
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
# Local LLM LaTeX CV Tailor
|
|
14
|
+
|
|
15
|
+
An automated Python pipeline designed to customize LaTeX resumes and CVs to specific job descriptions using a lightweight local LLM (e.g., Gemma 3 1B via `llama.cpp`).
|
|
16
|
+
|
|
17
|
+
Unlike whole-document prompt approaches that frequently drop section titles or metadata, this tool processes experience entries **company-by-company**, keeping company names, job titles, and date ranges frozen in Python while rephrasing itemized bullet points to align with target job requirements.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
* **Python:** 3.8+
|
|
24
|
+
* **LaTeX Engine:** TeX Live / MiKTeX (`pdflatex` available in system `PATH`)
|
|
25
|
+
* **Local Inference Backend:** `llama.cpp`
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Setup & Quick Start
|
|
30
|
+
|
|
31
|
+
### 1. Install `llama.cpp` & Download Model
|
|
32
|
+
|
|
33
|
+
For detailed building and installation instructions across Linux, macOS, and Windows, refer to the official [llama.cpp README](https://github.com/ggml-org/llama.cpp/blob/master/README.md).
|
|
34
|
+
|
|
35
|
+
Once `llama.cpp` is built, create a `models/` folder and download the quantized GGUF model:
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
cd llama.cpp
|
|
40
|
+
mkdir -p models
|
|
41
|
+
wget -O models/gemma-3-1b-it.gguf \
|
|
42
|
+
[https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf](https://huggingface.co/bartowski/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf)
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. Launch llama-server
|
|
47
|
+
Start the local API server backend using llama.cpp:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
./llama-server \
|
|
51
|
+
-m models/gemma-3-1b-it.gguf \
|
|
52
|
+
--port 8013 \
|
|
53
|
+
-c 4096 \
|
|
54
|
+
-ngl 99 \
|
|
55
|
+
--host 127.0.0.1
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Clone Repository & Set Up Python Environment
|
|
60
|
+
Clone the repository and set up a Python virtual environment:
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
# Clone the repository
|
|
65
|
+
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
|
|
66
|
+
cd your-repo-name
|
|
67
|
+
|
|
68
|
+
# Create virtual environment
|
|
69
|
+
python3 -m venv venv
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
Activate Virtual Environment:
|
|
75
|
+
|
|
76
|
+
Linux / macOS:
|
|
77
|
+
|
|
78
|
+
Bash
|
|
79
|
+
```
|
|
80
|
+
source venv/bin/activate
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Windows (Command Prompt):
|
|
84
|
+
|
|
85
|
+
DOS
|
|
86
|
+
```
|
|
87
|
+
venv\Scripts\activate.bat
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Windows (PowerShell):
|
|
91
|
+
|
|
92
|
+
PowerShell
|
|
93
|
+
```
|
|
94
|
+
.\venv\Scripts\Activate.ps1
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
4. Install Dependencies & Run
|
|
99
|
+
Install the Python requirements and launch the pipeline:
|
|
100
|
+
|
|
101
|
+
Bash
|
|
102
|
+
```
|
|
103
|
+
# Install required packages
|
|
104
|
+
pip install -r requirements.txt
|
|
105
|
+
|
|
106
|
+
# Run the generator script
|
|
107
|
+
python generate_cv.py
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Paste the target job description text, local text file path, or job posting URL, then press [ENTER] followed by [Ctrl+D] (or enter an empty line) to start the tailoring process.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "SNT_CV_Generator" # Replace with your desired PyPI package name
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "An automated CV and cover letter generator powered by LLMs and LaTeX."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
authors = [
|
|
11
|
+
{ name = "Sat Naing Tun" }
|
|
12
|
+
]
|
|
13
|
+
license = { text = "MIT" }
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"License :: OSI Approved :: MIT License",
|
|
17
|
+
"Operating System :: OS Independent",
|
|
18
|
+
]
|
|
19
|
+
requires-python = ">=3.8"
|
|
20
|
+
dependencies = [
|
|
21
|
+
# Move your requirements from requirements.txt here, e.g.:
|
|
22
|
+
# "requests>=2.25.0",
|
|
23
|
+
# "jinja2>=3.0.0",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[project.scripts]
|
|
27
|
+
# This lets users run your main script directly from the terminal after pip install
|
|
28
|
+
generate-cv = "cv_generator.main:main"
|
|
29
|
+
|
|
30
|
+
[tool.setuptools.packages.find]
|
|
31
|
+
include = ["cv_generator*"]
|