notsag / yaml-resume Goto Github PK
View Code? Open in Web Editor NEWCreate and validate your resume in YAML.
Home Page: https://yaml-resume.com
License: GNU General Public License v3.0
Create and validate your resume in YAML.
Home Page: https://yaml-resume.com
License: GNU General Public License v3.0
Is it possible that jinja2
and weasyprint
(both included in requirements.txt
are missing in install_requires
in setup.py
?
Line 25 in 79d1db0
Describe the solution you'd like
Echo the section name before prompting
Implement "work" section with :
This feature should implement :
jinja2 is not installed
Traceback (most recent call last):
File "resume/bin/yaml-resume", line 5, in
from yaml_resume.cli import cli
File "resume/lib/python3.10/site-packages/yaml_resume/cli.py", line 4, in
from jinja2 import Environment, PackageLoader
ModuleNotFoundError: No module named 'jinja2'
To Reproduce
Steps to reproduce the behavior:
pip install yaml-resume
yaml-resume init FILENAME resume.yaml
Expected behavior
The CLA should run without an exception
Desktop (please complete the following information):
Describe the bug
Following the docs on latest Ubuntu doesn't work, necessary requirements aren't found after running pip3 install yaml-resume
:
Collecting yaml-resume
Downloading yaml-resume-0.7.9.tar.gz (24 kB)
Collecting click
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyyaml
Downloading PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
Collecting cerberus
Downloading Cerberus-1.3.4.tar.gz (63 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Requirement already satisfied: setuptools in /opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages (from cerberus->yaml-resume) (56.0.0)
Using legacy 'setup.py install' for yaml-resume, since package 'wheel' is not installed.
Building wheels for collected packages: cerberus
Building wheel for cerberus (PEP 517): started
Building wheel for cerberus (PEP 517): finished with status 'done'
Created wheel for cerberus: filename=Cerberus-1.3.4-py3-none-any.whl size=58175 sha256=2a1f5d1edeae2f97bd787814548fc76a0b3ed89fdad40edb6b195f50203973b4
Stored in directory: /home/runner/.cache/pip/wheels/52/26/88/27d9b76e7756eedcf3d6e8fcc3bc28da0869749ffe8d87f7ac
Successfully built cerberus
Installing collected packages: pyyaml, click, cerberus, yaml-resume
Running setup.py install for yaml-resume: started
Running setup.py install for yaml-resume: finished with status 'done'
Successfully installed cerberus-1.3.4 click-7.1.2 pyyaml-5.4.1 yaml-resume-0.7.9
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.9.5/x64/bin/yaml-resume", line 33, in <module>
sys.exit(load_entry_point('yaml-resume==0.7.9', 'console_scripts', 'yaml-resume')())
File "/opt/hostedtoolcache/Python/3.9.5/x64/bin/yaml-resume", line 25, in importlib_load_entry_point
return next(matches).load()
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 855, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/yaml_resume/cli.py", line 4, in <module>
from jinja2 import Environment, PackageLoader
ModuleNotFoundError: No module named 'jinja2'
...and when I install them from your requirements file, the classic.css
file isn't found because it doesn't seem to be included in the PyPi package:
Collecting click>=7.0
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting pyyaml>=5.0
Downloading PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
Collecting cerberus>=1.0
Downloading Cerberus-1.3.4.tar.gz (63 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting jinja2>=2.10
Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting WeasyPrint==52.1
Downloading WeasyPrint-52.1-py3-none-any.whl (304 kB)
Collecting yaml-resume==0.7.9
Downloading yaml-resume-0.7.9.tar.gz (24 kB)
Collecting tinycss2>=1.0.0
Downloading tinycss2-1.1.0-py3-none-any.whl (21 kB)
Collecting html5lib>=0.999999999
Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
Requirement already satisfied: setuptools>=39.2.0 in /opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages (from WeasyPrint==52.1->-r requirements.txt (line 5)) (56.0.0)
Collecting cssselect2>=0.1
Downloading cssselect2-0.4.1-py3-none-any.whl (13 kB)
Collecting cffi>=0.6
Downloading cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl (406 kB)
Collecting CairoSVG>=2.4.0
Downloading CairoSVG-2.5.2-py3-none-any.whl (45 kB)
Collecting Pyphen>=0.9.1
Downloading Pyphen-0.10.0-py3-none-any.whl (1.9 MB)
Collecting Pillow>=4.0.0
Downloading Pillow-8.2.0-cp39-cp39-manylinux1_x86_64.whl (3.0 MB)
Collecting cairocffi>=0.9.0
Downloading cairocffi-1.2.0.tar.gz (70 kB)
Collecting MarkupSafe>=0.23
Downloading MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl (32 kB)
Collecting defusedxml
Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting pycparser
Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Collecting webencodings
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting six>=1.9
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Using legacy 'setup.py install' for yaml-resume, since package 'wheel' is not installed.
Using legacy 'setup.py install' for cairocffi, since package 'wheel' is not installed.
Building wheels for collected packages: cerberus
Building wheel for cerberus (PEP 517): started
Building wheel for cerberus (PEP 517): finished with status 'done'
Created wheel for cerberus: filename=Cerberus-1.3.4-py3-none-any.whl size=58175 sha256=51369faf2b19faa6ab876c50e910c8f72555a03234e289f45b8d003e35123c76
Stored in directory: /home/runner/.cache/pip/wheels/52/26/88/27d9b76e7756eedcf3d6e8fcc3bc28da0869749ffe8d87f7ac
Successfully built cerberus
Installing collected packages: webencodings, pycparser, tinycss2, cffi, six, Pillow, defusedxml, cssselect2, cairocffi, pyyaml, Pyphen, MarkupSafe, html5lib, click, cerberus, CairoSVG, yaml-resume, WeasyPrint, jinja2
Running setup.py install for cairocffi: started
Running setup.py install for cairocffi: finished with status 'done'
Running setup.py install for yaml-resume: started
Running setup.py install for yaml-resume: finished with status 'done'
Successfully installed CairoSVG-2.5.2 MarkupSafe-1.1.1 Pillow-8.2.0 Pyphen-0.10.0 WeasyPrint-52.1 cairocffi-1.2.0 cerberus-1.3.4 cffi-1.14.5 click-7.1.2 cssselect2-0.4.1 defusedxml-0.7.1 html5lib-1.1 jinja2-2.11.3 pycparser-2.20 pyyaml-5.4.1 six-1.16.0 tinycss2-1.1.0 webencodings-0.5.1 yaml-resume-0.7.9
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.9.5/x64/bin/yaml-resume", line 33, in <module>
sys.exit(load_entry_point('yaml-resume==0.7.9', 'console_scripts', 'yaml-resume')())
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/yaml_resume/cli.py", line 148, in export
html = HTML(string=template.render(resume=resume, image=image))
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/yaml_resume/templates/classic.html", line 5, in top-level template code
<style type="text/css">{% include "classic.css" %}</style>
File "/opt/hostedtoolcache/Python/3.9.5/x64/lib/python3.9/site-packages/jinja2/loaders.py", line 249, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: classic.css
I tried directly installing from git with pip3 install git+https://github.com/notsag/yaml-resume.git
but that didn't fix the issue, so I'm guessing something in the packaging is causing this?
Same issues happened on macOS as well.
To Reproduce
Steps to reproduce the behavior:
Desktop (please complete the following information):
Add skills section
Describe the solution you'd like
Add different scenario files/variables to use with cli:
Describe the bug
Fails to commit changes due to pre-commit hook
To Reproduce
Expected behavior
Commits changes.
Screenshots
[WARNING] The 'rev' field of repo 'https://github.com/psf/black' appears to be a mutable reference (moving tag / branch). Mutable references are never updated after first install and are not supported. See https://pre-commit.com/#using-the-latest-version-for-a-repository for more details. Hint: pre-commit autoupdate
often fixes this.
[INFO] Installing environment for https://github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/home/rojin/yaml-resume/venv/bin/python3', '-mvirtualenv', '/home/rojin/.cache/pre-commit/repoc9pikoti/py_env-python3.8', '-p', 'python3.8')
return code: 1
expected return code: 0
stdout:
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
stderr: (none)
Check the log at /home/rojin/.cache/pre-commit/pre-commit.log
Desktop (please complete the following information):
Additional context
pre-commit.log
ModuleNotFoundError for yaml_resume when using pip install
yaml-resume init FILENAME resume.yaml
Traceback (most recent call last):
File "miniconda3/envs/resume/bin/yaml-resume", line 5, in
from yaml_resume.cli import cli
ModuleNotFoundError: No module named 'yaml_resume'
To Reproduce
Steps to reproduce the behavior:
pip install yaml-resume
yaml-resume init FILENAME resume.yaml
Expected behavior
CLA runs without error
Desktop (please complete the following information):
OS: Unbuntu
Version: 20.04
Python Version: 3.10.0
Use click.confirm() after each section to be able to go back if a mistake was made.
Is your feature request related to a problem? Please describe.
Experiences section'summary is represented like this :
summary: 'Commanding officer of starship Enterprise
Fought Klingons
Disccoverd worlds
'
Describe the solution you'd like
We should have a representation like this :
summary: |
Commanding officer of starship Enterprise
Fought Klingons
Disccoverd worlds
Implement "profiles" section with the name of the network and the url.
Is your feature request related to a problem? Please describe.
One can go for many different kinds of jobs and it's advantageous to adapt your resume to each one. As it stands today, that is a manual process. One way to do this is to have a longer resume you never submit and then go through and remove bullets that are not relevant to that job.
Describe the solution you'd like
I'd like a way to "tag" bullet points so that they can be easier to filter.
The first iteration I came up with is:
experiences:
Describe alternatives you've considered
We could also use references, but that would break the flow of the resume from a person editing by hand.
Additional context
I'm hoping to use this as the basis for a potentially paid (but obviously under terms of GPLv3) service.
I fully intend to implement this and open a PR but want to discuss first.
Is your feature request related to a problem? Please describe.
Testing cli init function is done by adding a string containing the list of answers in a single parameter :
input="John Doe\n10/10/1990\nCaptain\[email protected]\n+33611111111\n"
+ "10 Downing Street\nLondon\nSW1A 2AA\n\nUK\ny\n"
+ "Facebook\nhttps://facebook.com/johndoe\ny\n"
+ "Twitter\nhttps://twitter.com/nottherealjohndoe\nn\ny\n"
+ "Starfleet\nCaptain\nJanuary 2150\n\nCommanding officer of "
+ "starship Enterprise\n\nFought Klingons\n\nDisccoverd worlds"
+ "\nn\nofficer commander warp\nhttps://starfleet.com\nn\ny\n"
+ "Management\n100\ny\nFighting\n75\nn\ny\nEnglish\nNative\nn\n"
+ "y\ntestproject\nnothing special\nhttps://google.com\nn\ny"
Describe the solution you'd like
We should use scenario files to load : it will be easier to read and could help testing different cases such as empty sections or else.
The used email regex:
The homepage http://emailregex.com/ (mentioned here) suggests to use
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
or, if I understand correctly a simplified version:
EMAIL_REGEX = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
as regex pattern.
If you want I can open a PR for this change. Let me know - Thank you!
Edit: Removed the assignment of the long regex pattern to EMAIL_REGEX
as Python does not really like it and yields a SyntaxError
.
Describe the bug
Dataloss during yaml-resume init
. After spending 20 minutes entering all the answers, I ended up with this error and 100% data loss.
Traceback (most recent call last):
File "path-to/bin/yaml-resume", line 8, in <module>
sys.exit(cli())
File "path-to/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "path-to/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "path-to/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "path-to/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "path-to/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "path-to/lib/python3.10/site-packages/yaml_resume/cli.py", line 62, in init
resume = Resume.ask()
File "path-to/lib/python3.10/site-packages/yaml_resume/resume/__init__.py", line 88, in ask
projects,
UnboundLocalError: local variable 'projects' referenced before assignment
Describe the bug
CV passes the validation step but fails at export if the skills level is not set.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
If the .yml file passes validation, I expect it to not fail at export. Can make skills level optional as it's sometimes hard to quantify.
Desktop (please complete the following information):
Add interests section
Describe the solution you'd like
I want to add my education with:
Is your feature request related to a problem? Please describe.
Personal information such a phone number and address should be make optional.
Describe the solution you'd like
You could either omit the personal information properties, or add a flag to mark them available on request.
Create a Resume class to manage resume objects.
Move the "ask" functions as method of this class
Describe the solution you'd like
When not confirming a section to correct a typo or any mistake, it would be more convenient to have the previous text showed as default.
Describe the solution you'd like
Add date of birth to the contact section of the resume
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.