Skip to main content

A Python package for ingesting job descriptions & resumes, and crafting cover letters that use the latter to satisfy the former

Project description

Lint and Test

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
  1. Go to Docker, download and install docker.
  2. 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/⌘ + + PDev 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cover_letter_automation-0.4.0.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

cover_letter_automation-0.4.0-py3-none-any.whl (13.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page