告别Word,用Python打造你的专业简历!

今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址github.com/koek67/resum

用法介绍

要求

Python 3.7 或更高版本(仅此而已!)

安装

整个库是一个单独的 python 文件 resume_builder.py。下载此文件

用法

要生成简历,只需要执行:python resume.py--out resume.html如果想要转换为 PDF,请在 web 浏览器中打开上一步输出的 html 文件,打印为 PDF。生成的简历已针对 PDF 进行了优化。在浏览器中,您可以放大/缩小 PDF,使其更好地适应页面。

简历定义

简历是在resume.py这个 Python 文件中定义的。这些文件提供了如何配置简历的最佳示例。有关更多详细信息,请参阅resume_builder.pyreference.md

简历结构

  • 简历包括:
    • 联系人信息
    • 一些章节列表(如工作经历、教育经历)
  • 联系人信息包括:
    • name(你的名字)
    • 详细信息(一些字符串列表,比如电子邮件、地址等)
  • 每个章节包括:
    • 标题(如教育经历)
    • 一些章节内容的列表(如教育经历的详细)
  • 章节内容包括:
    • 标题(粗体大文本)
    • 标题(括号中的文字)
    • 日期:字符串类型描述日期
    • 详细描述:

原始示例

简历定义

# Koushik Krishnan's Resumefrom resume_builder import Resume, Section, SectionEntry, ContactInfo, ConcatText, ItalicsText, UnderlinedText, LinkText, BulletedListresume = Resume(contact_info=ContactInfo(name="Koushik Krishnan",details=["(111) 111-1111","my@email.com",LinkText("koushik.bearblog.dev", "https://koushik.bearblog.dev"),LinkText("linkedin.com/in/koushikkrishnan","https://www.linkedin.com/in/koushikkrishnan/",),LinkText("github.com/koek67", "https://www.github.com/koek67"),],tag_line="Making software as reliable as the sunrise.",),sections = [Section(title="Experience",entries=[SectionEntry(title=LinkText("Microsoft", "https://www.microsoft.com"),caption="Senior Software Engineer",location="Remote",dates="February 2023 - present",description=BulletedList(["Building reliability improvements into the storage and replication layers of Cosmos DB.","Technical lead for a team of engineers, ramping them up on distributed systems and database concepts as well as preparing them for incident response.",]),),SectionEntry(title=LinkText("Yugabyte", "https://www.yugabyte.com"),caption="Senior Site Reliability Engineer",location="Seattle, Washington",dates="May 2022 - February 2023",description=BulletedList(["Managed reliable operation of Kubernetes and Yugabyte database clusters across AWS and GCP for the Yugabyte Managed product."]),),SectionEntry(title=LinkText("Microsoft", "https://www.microsoft.com"),caption="Software Engineer 2, Azure Cosmos DB",location="Redmond, Washington",dates="August 2018 - April 2022",description=BulletedList(["Worked as a technical lead for a petabyte-scale, globally distributed database. Reduced number of production incidents by 80%.",'Founded a team that built a Python microservice that would perform real-time root cause analysis/mitigation of incidents and eliminate the need for an on-call engineer. Open sourced this work on Github as <a class="open-link" target="_blank" href="http://github.com/microsoft/jupyrest">Jupyrest</a>',]),),SectionEntry(title=LinkText("Microsoft", "https://www.microsoft.com"),caption="Software Engineering Intern, Azure Cosmos DB",location="Seattle, Washington",dates="May 2017 - August 2017",),SectionEntry(title=LinkText("Fitbit", "https://fitbit.com"),caption="Software Engineering Intern",location="Boston, Massachusetts",dates="May 2016 - August 2016",),SectionEntry(title=LinkText("Kayak.com", "https://www.kayak.com"),caption="Software Engineering Intern",location="Concord, Massachusetts",dates="May 2015 - August 2015",)],),Section(title="Presentations",entries=[SectionEntry(title=LinkText(text="PyCon 2024",url="https://us.pycon.org/2024/schedule/presentation/95/",show_icon=True,),caption="Rest East with Jupyrest: Deploy notebooks as web services",location="Pittsburgh, PA",dates="May 2024",),SectionEntry(title=LinkText(text="PyTexas",url="https://www.pytexas.org/2024/schedule/talks/#rest-easy-with-jupyrest-deploy-notebooks-as-web-services",show_icon=True,),caption="Rest East with Jupyrest",location="Austin, TX",dates="April 2024",),SectionEntry(title=LinkText(text="PyCascades",url="https://2024.pycascades.com/program/talks/jupyrest/",show_icon=True,),caption="Rest East with Jupyrest: Deploy notebooks as web services",location="Seattle, WA",dates="April 2024",),SectionEntry(title=LinkText(text="PyOhio 2023",url="https://www.pyohio.org/2023/speakers/koushik-krishnan/",show_icon=True,),caption=LinkText('Serverless Jupyter Notebook Functions (YouTube)', url="https://youtu.be/hoGJ0c3jIeo?si=srbRtjSxOxETFWN5", show_icon=True),location="Virtual",dates="December 2023",),SectionEntry(title=LinkText(text="PyData Seattle 2023",url="https://seattle2023.pydata.org/cfp/talk/K8KV8M/",show_icon=True,),caption=LinkText('Notebooks as Serverless Functions (YouTube)', url="https://youtu.be/hoGJ0c3jIeo?si=srbRtjSxOxETFWN5", show_icon=True),location="Seattle, WA",dates="April 2023",),],),Section(title="Volunteering",entries=[SectionEntry(title=LinkText("ASHA Chennai", url="https://chennai.ashanet.org/", show_icon=True),caption="Spoken English Teacher",location="Remote",dates="December 2020 - March 2022",description=BulletedList(["Created a curriculum with story-telling, skits, and friendly debates to provide disadvantaged children isolated in quarantine a fun way to learn spoken English.",]),)],),Section(title="Education",entries=[SectionEntry(title="Georgia Institute of Technology",location="Atlanta, Georgia",dates="August 2014 - May 2018",description=ItalicsText("Bachelors of Science in Computer Science and Mathematics"),)],),Section(title="Skills",entries=[SectionEntry(description=BulletedList([ConcatText(UnderlinedText("Languages:")," Python, Golang, C/C++, JavaScript, C#, Powershell, Zig",),ConcatText(UnderlinedText("Tools:")," Kubernetes, PostgreSQL, Linux, Windows, Azure Service Fabric, Distributed Databases, Storage Engines, Docker",),])),],),]
)if __name__ == "__main__":resume.cli_main()

结果预览

 

中文简历定义

针对国人的情况,给出了一个中文模板

简历定义

# 十月狐狸的简历from resume_builder import Resume, Section, SectionEntry, ContactInfo, ConcatText, ItalicsText, UnderlinedText, LinkText, BulletedListresume = Resume(contact_info=ContactInfo(name="十月狐狸",details=["134 1234 4321","13412344321@qq.com",LinkText("博客园", "https://www.cnblogs.com/sesshoumaru/"),LinkText("github", "https://github.com/Sesshoumaru"),],tag_line="总要有所坚持...",),sections = [Section(title="工作经历",entries=[SectionEntry(title=LinkText("微软中国", "https://www.microsoft.com"),caption="高级开发工程师",location="上海",dates="2023年1月 - 至今",description=BulletedList(["负责xx系统的数据库的增删改代码的实现","作为一个工程师团队的技术负责人,带领团队做了很多不怎么牛逼的事情",]),),SectionEntry(title=LinkText("腾讯", "https://www.qq.com"),caption="高级开发工程师",location="深圳",dates="2022年5月 - 2023年1月",description=BulletedList(["负责xx系统的后台实现,解决了上百规模下的并发场景优化"]),),SectionEntry(title=LinkText("淘宝", "https://www.taobao.com"),caption="中级开发工程师",location="广州",dates="2020年8月 - 2022年5月",description=BulletedList(["负责手淘千人千面后台推荐算法的实现",]),),SectionEntry(title=LinkText("小米", "https://www.xiaomi.com"),caption="初级开发工程师",location="北京",dates="2018年7月 - 2020年7月",description=BulletedList(["负责小米商城商品展示系统的开发和设计",]))],),Section(title="获得荣誉",entries=[SectionEntry(title=LinkText("计算机二级证书", url="https://chennai.ashanet.org/", show_icon=True),caption="计算机二级证书",location="北京",dates="2015年11月",description=BulletedList([" 全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部教育考试院(原教育部考试中心)主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系",]),)],),Section(title="教育经历",entries=[SectionEntry(title="清花大学",location="北京",dates="2014年9月 - 2018年6月",description=ItalicsText("电子信息工程"),)],),Section(title="掌握技能",entries=[SectionEntry(description=BulletedList([ConcatText(UnderlinedText("语言:")," Python, Golang, C/C++, JavaScript, C#, Powershell, Zig",),ConcatText(UnderlinedText("工具:")," Kubernetes, PostgreSQL, Linux, Windows, Azure Service Fabric, Distributed Databases, Storage Engines, Docker",),])),],),]
)if __name__ == "__main__":resume.cli_main()

结果预览

中文乱码解决

原版生成的html文件,中文出现乱码,只需要修改resume_builder.py文件中的save方法,增加encoding = "utf-8"即可实现中文支持:

    def save(self, filename: str) -> None:with open(filename, "w",encoding = "utf-8") as f:f.write(self.render())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/721759.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某大型医院IBM 3650服务器 raid重组案例——数据完美修复

我们今天谈的是一个来自四川的大型三甲医院的服务器数据恢复的真实的一个案例,是一台IBM的3650服务器,一共六块硬盘坏了,有两块硬盘是300GB,一共是有六块盘,两块盘是曝光灯离线了,导致这个医院的挂号系统,诊疗系统全部瘫痪,所有数据全部丢失,医院属于一个停摆的状态,…

数据库镜像 (SQL Server)操作模式

数据库镜像会话以同步操作或异步操作运行。 在异步操作下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。 在同步操作下,事务将在伙伴双方处提交,但会延长事务滞后时间。 有两种镜像运行模式。 一种是高安全性模式,它支持同步操作。 在高安全…

Block Transformer:通过全局到局部的语言建模加速LLM推理

在基于transformer的自回归语言模型(LMs)中,生成令牌的成本很高,这是因为自注意力机制需要关注所有之前的令牌,通常通过在自回归解码过程中缓存所有令牌的键值(KV)状态来解决这个问题。但是,加载所有先前令牌的KV状态以计算自注意力分数则占据了LMs的推理的大部分成本。…

Android Media Framework(四)Non-Tunneled组件的状态转换与buffer分配过程分析

本篇将继续深入OpenMAX IL Spec,详细解析Non-tunneled(非隧道)组件的初始化、数据传递以及组件销毁过程。通过阅读本篇内容,我们应能对Non-tunneled组件的buffer分配与状态转换过程有一个清晰的了解。1、组件初始化 以下是IL Spec给的Non-tunneled组件初始化时序图:IL Cli…

庆余年第二季迅雷下载/庆余年2全集下载百度云在线观看

《庆余年2》:承前启后的豪情与智慧近年来,电视剧《庆余年》以其精彩的剧情和精湛的演技,收获了广大观众的喜爱和好评。而续集作品《庆余年2》更是在原剧的基础上迈出了更加坚实的一步。该剧不仅延续了第一季的精彩故事,同时也在新一季中增加了更多的情节和角色,带给观众更…

CF1192B Dynamic Diameter 题解

思路 静态 \(\text{top tree}\) 板子题。 定义 我们使用簇来表示树上的一个连通块。 可以按照如下方式定义一个簇:一个簇可以表示为三元组 \((u,v,E)\),其中 \(u,v\) 为树的节点,称为簇的界点,\(E\) 为一个边的集合,表示该簇包含的边,路径 \((u,v)\) 称作簇路径。 \(u,v\…

谈判专家迅雷BT下载[2.69GB-MKV]加长完整版[HD1280P]

《谈判专家》是由中国导演韩寒执导的一部谈判题材电影,该片于2017年上映。电影讲述了一场关于中国企业与美国公司之间的商业谈判,以及其中涉及到的诸多挑战和困境。本文将对该电影进行全面分析,从剧情、演员表现、影片风格等方面进行讨论。首先,我们来看剧情。电影《谈判专…

走走停停迅雷BT下载[DB-1280P/3.25GBMKV中字]4k高清百度云资源分享

电影《走走停停》:探寻人生的迷茫与自我救赎电影《走走停停》是一部由李安执导,由乔阿尔文主演的心灵探索之旅。这部电影以一个中年男子的迷失和自我救赎为线索,通过对人生中的停顿和挫折的描绘,引发观众对生活意义的思考。故事的主线由两个不同的时间线交织而成,一条是男…

扫黑决不放弃迅雷BT下载[MOV-5.28GB]高清完整版[HD720p/1080p]

电影《扫黑决不放弃》:坚定信念,抗击黑暗的战斗电影《扫黑决不放弃》是一部扣人心弦的动作犯罪电影,由中国著名导演李安执导,讲述了一群有志青年与黑恶势力斗争的故事。影片通过紧凑的剧情和刺激的动作场面,以及深刻的社会寓意,引发观众对正义与邪恶的思考。电影以中国大…

我才不要和你做朋友呢下载/迅雷BT下载[HD-720P/2.65GB]百度云资源

电影《我才不要和你做朋友呢》是一部由导演张华执导的青春成长电影。该片以逗趣的方式,讲述了一个关于友谊和成长的故事。影片中的角色经历了许多挑战和困难,通过彼此之间的支持和理解,他们在成长的路上逐渐成为了真正的朋友。本文将会从影片的剧情、人物塑造以及核心主题等…

初级算法01

用时:42min class Solution {public int removeDuplicates(int[] nums) {/*** 双指针,右指针遍历整个数组,左指针记录有效值*/int l = 0, r = 0;Set<Integer> s = new HashSet<Integer>();for(; r < nums.length; r++){if(s.add(nums[r])){int t = nums[l];n…