Skip to main content

Streamline the job application process for job seekers

Project description

hired

Streamline the job application process for job seekers

Overview

The hired package is a Python library designed to simplify the process of creating professional resumes tailored to specific job applications. It leverages AI-driven content generation, schema validation, and customizable rendering pipelines to produce high-quality resumes in various formats.

Features

1. Content Generation

  • AI-Driven Content: Automatically generate resume content by analyzing candidate profiles and job descriptions.
  • Flexible Sources: Supports JSON, YAML, and Python dictionaries as input sources.

2. Validation

  • JSON Resume Schema: Ensures compliance with the JSON Resume schema.
  • Strict and Permissive Modes: Validate content strictly or allow flexibility for missing fields.
  • Pruning: Automatically removes None values to ensure schema compliance.

3. Rendering

  • HTML and PDF: Render resumes as HTML or PDF.
  • Template-Based Themes: Use Jinja2 templates for customizable themes (e.g., default, minimal).
  • Optional WeasyPrint Integration: Generate professional PDFs with WeasyPrint if installed.
  • Fallback PDF Builder: Minimal PDF generation without external dependencies.
  • Empty Section Omission: Automatically skips rendering empty sections.

Installation

Install the package using pip:

pip install hired

To enable PDF generation with WeasyPrint, install the optional dependency:

pip install weasyprint

Usage

Generating Resume Content

from hired.tools import mk_content_for_resume

candidate_info = {
    "basics": {"name": "Alice", "email": "alice@example.com"},
    "work": [{"company": "Acme Corp", "position": "Engineer"}]
}
job_info = {"title": "Software Engineer", "skills": ["Python", "Django"]}

content = mk_content_for_resume(candidate_info, job_info)

Rendering a Resume

from hired.tools import mk_resume

# Render to HTML
html = mk_resume(content, {"format": "html"})

# Render to PDF
pdf = mk_resume(content, {"format": "pdf"}, output_path="resume.pdf")

Validating Resume Content

from hired.validators import validate_resume_content

is_valid = validate_resume_content(content.model_dump(), strict=True)
print("Valid Resume" if is_valid else "Invalid Resume")

Themes

Themes are stored in the hired/themes directory. You can customize or add new themes by modifying the Jinja2 templates.

Default Theme

  • A structured layout with sections for work, education, and extra content.

Minimal Theme

  • A concise layout with essential details.

Tests

Run the test suite to ensure everything is working:

pytest

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

License

This project is licensed under the MIT License.

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

hired-0.0.7.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hired-0.0.7-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file hired-0.0.7.tar.gz.

File metadata

  • Download URL: hired-0.0.7.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for hired-0.0.7.tar.gz
Algorithm Hash digest
SHA256 71da664b10e4c9db1390a6ac76ab5ac0b10b7728c9972c514088508f42b5c773
MD5 6f3711cdef2994ee3a8ed78cf44b3539
BLAKE2b-256 e801b7f78ba9746259571b5d161f78e2c5806eab234a46c0fa0c2e3deb3e525f

See more details on using hashes here.

File details

Details for the file hired-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: hired-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for hired-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 421fcfa5b12f2b50a3424a547a92ca7f8ff6c9b15822a6cc093586c94af138d7
MD5 47e5ac842c7b990d44703341c00323ba
BLAKE2b-256 ea8860f7e9e3ad2f1235346de36a4ae445cfaffb3a4c36d035db1459c4ad6754

See more details on using hashes here.

Supported by

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