A Python package for ingesting job descriptions & resumes, and crafting cover letters that use the latter to satisfy the former
Project description
Cover Letter Automation
A Python package for ingesting job descriptions & resumes, and crafting cover letters that use the latter to satisfy the former.
🚀 Using
While the package is in theory pip-installable, it's not yet on PyPI. For now, you can clone the repo and run the following:
git clone https://github.com/shippy/cover_letter_automation.git
cd cover_letter_automation
poetry install
Afterwards, you will need to add your OpenAI API key (and, optionally, Bing API key) to a .env
file in the root of the project. You can grab your Bing API key here, though do be warned that the volume of requests the agent will want to make possibly exceeds the free tier. If you don't have
a Bing API key, we'll automatically skip the web-search step. **Note that CompanyResearcher
is
mostly broken and doesn't work, so not setting the BING_API_KEY
is fine.
echo "OPENAI_API_KEY=your_openai_api_key" > .env
# echo "BING_API_KEY=your_bing_api_key" >> .env
Then, you should place your resume.json
(JSON Resume, although in
principle it doesn't have to have that exact schema) in resume/
and your job descriptions in
jd/
. You can then run the following:
poetry run python init_session.py --resume resume/$RESUME_NAME.json --jd jd/$JD_NAME.md
# In theory, if you've placed your resume at resume/resume.json, you can omit that argument
Currently, due to the slightly ad-hoc nature of the agents, you'll need to run the above command for
each job description you want to generate a cover letter for. The cover letters will be placed in
cover_letters/
.
🧑💻 Contributing
Prerequisites
1. Install Docker
- Go to Docker, download and install docker.
- Configure Docker to use the BuildKit build system. On macOS and Windows, BuildKit is enabled by default in Docker Desktop.
2. Install VS Code
Go to VS Code, download and install VS Code.
1. Open DevContainer with VS Code
Open this repository with VS Code, and run Ctrl/⌘ + ⇧ + P → Dev Containers: Reopen in Container.
The following commands can be used inside a DevContainer.
2. Run linters
poe lint
3. Run tests
poe test
4. Update poetry lock file
poetry lock --no-update
5. Add dependencies and remove them if not needed
poetry add package
poetry remove package
# or remove the package from the pyproject.toml file and run
poetry install --sync
Credits
️⚡️ Scaffolded with Copier.
See Poetry Copier.
🛠️ Open an issue if you have any questions or suggestions.
See how to develop with PyCharm or any other IDE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cover_letter_automation-0.4.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 276abf161a2c9a9491e42d58a1978bbe6f57b8cb73d5dff8a54560245e8abaa1 |
|
MD5 | dbb18d6cc2d37d5e2fee443d098b4189 |
|
BLAKE2b-256 | 88f54b21845032764fc469533232bf317654bb2a082475165be99395a4d5a907 |
Hashes for cover_letter_automation-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 834995f911250fec065a2e505fd16805f156abf37c702c10cbc7380b3565610a |
|
MD5 | 7db39f2d0ee4e4f9a65a09f1a203e526 |
|
BLAKE2b-256 | 01e69075d1f918521fb7ecd703c6c30c80b98831125a79c3b357a162db40babe |