hired 0.0.2__py3-none-any.whl
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.
hired/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hired
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: Streamline the job application process for job seekers
|
|
5
|
+
Home-page: https://github.com/thorwhalen/hired
|
|
6
|
+
Author: Thor Whalen
|
|
7
|
+
License: mit
|
|
8
|
+
Platform: any
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Provides-Extra: testing
|
|
12
|
+
Dynamic: license-file
|
|
13
|
+
|
|
14
|
+
# hired
|
|
15
|
+
|
|
16
|
+
Streamline the job application process for job seekers
|
|
17
|
+
|
|
18
|
+
## Overview
|
|
19
|
+
|
|
20
|
+
The `hired` project is a Python package designed to streamline the job application process for job seekers. It uses a modern, engineering-driven approach, powered by AI agents, to help users customize their application materials, with a primary focus on resumes.
|
|
21
|
+
|
|
22
|
+
Unlike a comprehensive curriculum vitae (CV), a resume should be concise, ideally fitting on a single page. This requires careful selection of relevant work experiences, projects, and publications from a candidate's full professional history. The `hired` package leverages AI models to automate this traditionally manual and difficult process.
|
|
23
|
+
|
|
24
|
+
The core functionality of `hired` revolves around two main phases:
|
|
25
|
+
|
|
26
|
+
1. **Content Generation**: An AI agent analyzes a candidate's full profile and a target job description to extract and distill the most relevant information. This information is then used to produce a structured content specification for the resume.
|
|
27
|
+
2. **Rendering**: This structured content is then used to render the resume in various formats and styles. The rendering process is fully customizable, allowing a user to specify the output format (e.g., PDF, HTML, LaTeX) and a detailed rendering configuration (e.g., fonts, layouts, styles). To minimize boilerplate, the package will provide a system of conventions and templates for smart defaults.
|
|
28
|
+
|
|
29
|
+
The central component that connects these two phases is the **JSON Resume schema**, which serves as our standardized data middleware.
|
|
30
|
+
|
|
31
|
+
The final code will look something like this:
|
|
32
|
+
|
|
33
|
+
from hired import mk_content_for_resume, mk_resume
|
|
34
|
+
|
|
35
|
+
content = mk_content_for_resume(candidate_info_src, job_info_src)
|
|
36
|
+
pdf_path = mk_resume(
|
|
37
|
+
content,
|
|
38
|
+
rendering
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
## Project Components & Resources
|
|
42
|
+
|
|
43
|
+
### 1. The Data Standard: JSON Resume
|
|
44
|
+
|
|
45
|
+
The foundation of the `hired` package is the [JSON Resume schema](https://jsonresume.org/schema/). This open-source standard provides a well-defined structure for resume content, ensuring that your data is machine-readable and portable.
|
|
46
|
+
|
|
47
|
+
Key sections of the schema to focus on include:
|
|
48
|
+
* `basics`: Personal and contact information.
|
|
49
|
+
* `work`: An array of objects for work experience.
|
|
50
|
+
* `education`: An array of objects for academic history.
|
|
51
|
+
* `projects`: A list of projects with descriptions and highlights.
|
|
52
|
+
* `skills`: Categorized lists of skills and keywords.
|
|
53
|
+
|
|
54
|
+
### 2. The Rendering Engine & Pipeline
|
|
55
|
+
|
|
56
|
+
The rendering process will be separate from the content generation, allowing for a high degree of customization. There is no single standard for resume rendering; instead, rendering is handled by **themes**, which are a combination of a template and a stylesheet.
|
|
57
|
+
|
|
58
|
+
The main rendering pipeline will involve:
|
|
59
|
+
1. **Templating**: Using a Python templating engine like [Jinja2](https://pypi.org/project/Jinja2/). This library will take the structured JSON data and populate a template (e.g., an HTML or LaTeX file) with the resume content.
|
|
60
|
+
2. **Rendering**: The templated file is then converted into the final output format.
|
|
61
|
+
* **PDF**: For generating professional PDF documents from HTML and CSS, [WeasyPrint](https://pypi.org/project/WeasyPrint/) is an excellent choice. It provides precise control over layout and typography.
|
|
62
|
+
* **LaTeX**: To produce high-quality, typeset documents, you can use packages like [RenderCV](https://github.com/nelson-gomes/rendercv) or [cvcreator](https://pypi.org/project/cvcreator/). These tools use LaTeX as their backend for a more polished look.
|
|
63
|
+
* **Word (.docx)**: For specific needs, packages like `jsonresume-docx` can be used to generate Word documents from the JSON data.
|
|
64
|
+
|
|
65
|
+
### 3. Python Packages & Tools
|
|
66
|
+
|
|
67
|
+
* **For Content Validation**: Ensure the input JSON data adheres to the schema.
|
|
68
|
+
* [Pydantic](https://pypi.org/project/pydantic/): Define Python classes that match the JSON schema for robust validation.
|
|
69
|
+
* [`jsonschema`](https://pypi.org/project/jsonschema/): A direct library for validating JSON files against a schema.
|
|
70
|
+
* **For Resume Generation**:
|
|
71
|
+
* [Jinja2](https://pypi.org/project/Jinja2/): For rendering templates.
|
|
72
|
+
* [WeasyPrint](https://pypi.org/project/WeasyPrint/): For HTML-to-PDF conversion.
|
|
73
|
+
* [RenderCV](https://github.com/nelson-gomes/rendercv): A Python tool for LaTeX-based resume generation.
|
|
74
|
+
* **For Inspiration**: The [JSON Resume themes](https://jsonresume.org/themes/) provide many examples of how a single JSON file can be rendered in countless different styles.
|
|
75
|
+
|
|
76
|
+
### 4. References
|
|
77
|
+
|
|
78
|
+
* [JSON Resume Schema](https://jsonresume.org/schema/)
|
|
79
|
+
* [Python Tutorial: Generate a Web Portfolio and Resume from One JSON File](https://www.youtube.com/watch?v=ECt0TAl41Zk)
|
|
80
|
+
* [Jinja2](https://pypi.org/project/Jinja2/)
|
|
81
|
+
* [WeasyPrint](https://pypi.org/project/WeasyPrint/)
|
|
82
|
+
* [ReportLab](https://www.reportlab.com/)
|
|
83
|
+
* [Fpdf2](https://pypi.org/project/fpdf2/)
|
|
84
|
+
* [Pydantic](https://pypi.org/project/pydantic/)
|
|
85
|
+
* [`jsonschema`](https://pypi.org/project/jsonschema/)
|
|
86
|
+
* [RenderCV](https://github.com/nelson-gomes/rendercv)
|
|
87
|
+
* [cvcreator](https://pypi.org/project/cvcreator/)
|
|
88
|
+
* [JSON Resume Themes](https://jsonresume.org/themes/)
|
|
89
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
hired/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
hired-0.0.2.dist-info/licenses/LICENSE,sha256=ACwmltkrXIz5VsEQcrqljq-fat6ZXAMepjXGoe40KtE,1069
|
|
3
|
+
hired-0.0.2.dist-info/METADATA,sha256=2iBCPy4uBGSTuJFJDth2Q6TqSBddTyGuWnvq9ngNltY,5478
|
|
4
|
+
hired-0.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
5
|
+
hired-0.0.2.dist-info/top_level.txt,sha256=4j7NfLdbm8fWgBRda1wWtV3qx8XRSSsKfsYWSw6-T5w,6
|
|
6
|
+
hired-0.0.2.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [year] [fullname]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
hired
|