{ "info": { "author": "Joseph C. Slater", "author_email": "joseph.c.slater@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "\n.. image:: http://pepy.tech/badge/vitae\n :target: http://pepy.tech/project/vitae\n :alt: PyPi Download stats\n\nvitae\n=====\n\nA Python module for building curriculum vitae and other documents from a ``BibTeX`` file. ``vitae`` leverages bibtexparser_, `LaTeX`_, and pandoc_ to streamline getting citations of your papers into the formats you need quickly without manual intervention. Of course, with many settings, it can be a bit tedious. I personally recommend setting up a Jupyter_ notebook with the commands you regularly execute available there. Alternatively, you can call it from the terminal which allows it to work inside a more complex workflow.\n\nPurpose\n-------\n\nI hate formatting citations. It's tedious, and error-prone. Further, when I build my CV, I tend to muck it up and leave something out, mis-sort it, duplicate it accidentally, etc. So, I need a tool to do a better job with what ie a menial task.\n\nInstall\n-------\n\n.. code::\n\n pip install vitae\n\nor\n\n.. code::\n\n pip install --user vitae\n\nUsage\n-----\n\nPlease see the brief `demo Jupyter notebook`_. It's very brief. I need to add more. The whole package is basically two functions. Please read the help:\n\n``makemycv``\n~~~~~~~~~~~~\n\nTo do anything useful here, you must have `LaTeX`_ with BibTeX installed. If you don't use `LaTeX`_, this module isn't the place to start. Sorry.\n\nThe first function here, ``makemycv``, will take a few arguments and put sorted ``\\bibentry`` commands into ``.tex`` files with names corresponding to `BibTeX entry `_ types. In doing so, you can then simply use an ``\\input`` command to embed all of these citations right in your document in an enumerated environment.\n\nYou'll need the following in the header of your LaTeX cv file.\n\n.. code::\n\n \\usepackage{bibentry}\n \\newcommand{\\enquote}[1]{``#1''}\n \\makeatletter\\let\\saved@bibitem\\@bibitem\\makeatother\n \\usepackage[colorlinks=true]{hyperref}\n \\makeatletter\\let\\@bibitem\\saved@bibitem\\makeatother\n\nThe last 3 lines are only necessary if you want to use the ``hyperref`` package, which has some compatibility issues with bibentry.\n\nThen put:\n\n.. code::\n\n \\input{articles.tex}\n\nwhere you want articles listed, etc.\n\nThen, with your maintained `.bib` file, in the same location as your cv (for now), and **within the same directory as your cv and cv.bib file** open a python terminal and type.\n\n.. code::\n\n >>> import vitae\n >>> vitae.makemycv()\n\nAlternatively, you can type::\n\n > python -c \"import vitae; vitae.makemycv()\"\n\nin your terminal (Anaconda Terminal if you are using Anaconda Python on Windows).\n\nThis will make your ``article.tex`` file along with the other defaults (see the help on ``makemycv``).\n\nNote that that are a ton of options for ``makemycv``. Please use::\n\n >>> import vitae\n >>> help(vitae.makemycv)\n\nTo see how to tweak it to your needs.\n\nIf you try ``vitae``, please understand:\n\na. No warrantee. This is still a work in progress.\nb. Please provide your feedback.\nc. Please help! I can use help with additional portions.\n\nIf you don't use LaTeX, this isn't easy enough for you yet. It's a long ways away. However, texblog_ has a decent start in writing a `R\u00e9sum\u00e9 in LaTeX`_ . It *doesn't* include the paper inclusion trick being used by ``vitae``.\n\n``write_bibs``\n~~~~~~~~~~~~~~\n\nThe second function is ``write_bibs``. This allows you to convert bibs with a bunch of constraints into a format that pandoc_ can output. It REQUIRES a full `LaTeX`_ and pandoc_ installation that works in your terminal environment.\n\nConstraints include:\n\n1. Since a year\n2. Number\n3. Types of publications\n\nFor instance:\n\n.. code::\n\n >>> import vitae\n >>> vitae.write_bibs(bibfile = '/Users/jslater/Documents/Resumes/cv.bib',\n bibliographystyle='aiaa',\n outfile_name='try.html',\n since_year=2008)\n\nAlternatively, from a command line::\n\n > python -c \"import vitae; vitae.write_bibs(bibfile='cv.bib',\n bibliographystyle='aiaa',\n outfile_name = 'bibs.html',\n since_year=2008)\"\n\nHow I use it\n------------\n\nI have a Makefile that I use for tasks that I am creating. The first is a simple one for building my cv, the contents of which are::\n\n\thelp:\n\t\t@echo \"Please use \\`make ' where is one of\"\n\t\t@echo \" cv to make standard pdf cv\"\n\t\t@echo \" pdf see cv\"\n\n\tcv:\n\t\t\tpython -c 'import vitae; vitae.makemycv(silent = True)'\n\t\t pdflatex cv\n\t\t\tbibtex cv\n\t\t\tpdflatex cv\n\n\tpdf:\n\t\t\tcv\n\nSummary\n-------\nPlease see the full help on each function.\n\nVitae is on pypi_ but you can pip install the latest, and possibly non-working, version right now from github (I love bug reports!):\n\n.. code::\n\n pip install git+https://github.com/josephcslater/vitae\n\nHelp\n----\n``vitae`` uses luatex_ to enable unicode characters. On Ubuntu, the base tetex install doesn't include the necessary file ``luaotfload``. To resolve this open a terminal and type::\n\n sudo apt install texlive-luatex\n\nRelease notes:\n--------------\n\n1.1.3: Work-around for pandoc_ failure to convert ``{\\em`` correctly.\n\n1.1.2: Unify name of ``bibtex_types`` and ``entrytypes``. Will issue a warning\n if you incorrectly use ``entrytypes``, but will still work.\n\n1.1.1: Included test bib file that can easily be accessed from notebook.\n Corrected incorrect help in ``makemycv``\n Minor non-functional corrections.\n\n1.1.0: Numerous minor fixes:\n\n- ``write_bibs`` failed when path not explicitly included.\n- Quieted latex output.\n- Moved to luatex_ to enable unicode characters.\n- Readme updated to reflect terminal usage.\n\n1.0.0: You can now convert your bib citations to any format that pandoc_ can handle. I think.\n\n0.1.1: You can now select only ``bibentries`` by a defined author. Note that ``authornames`` are not always all that unique. You need to ensure that all ``authornames`` are perfect for the selected author. That means initials, etc. I hope to use fuzzywuzzy for this someday- it's a bit complicated and a judgement call.\n\n0.1.0: First release. It works, it's useful, it's not done, but it does what I needed it for. You can now use \\\\input statements with bibentry instead of typing your own citations by hand.\n\n\nFuture plans\n------------\n\n1. Preferences.\n\n a. Reader (doesn't overwrite specified arguments)\n\n b. Writer (configurator on call or when it doesn't exist)\n\n c. Editor?\n\n2. Bug fixes when I find them. Any other suggestions?\n\nWhat else would be nice?\n\n.. _pandoc: http://pandoc.org\n.. _luatex: http://www.luatex.org\n.. _texblog: https://texblog.org\n.. _`R\u00e9sum\u00e9 in LaTeX`: https://texblog.org/2012/04/25/writing-a-cv-in-latex/\n.. _`LaTeX`: https://www.latex-tutorial.com/installation/\n.. _bibtexparser: https://bibtexparser.readthedocs.io/en/master/\n.. _Jupyter: https://www.Jupyter.org\n.. _Makefile: https://www.gnu.org/software/make/manual/html_node/Introduction.html\n.. _`demo Jupyter notebook`: https://github.com/josephcslater/vitae/blob/master/Vitae.ipynb\n.. _pypi: https://pypi.org/project/vitae/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/josephcslater/vitae", "keywords": "curriculum vitae,academia,cv,resume", "license": "", "maintainer": "", "maintainer_email": "", "name": "vitae", "package_url": "https://pypi.org/project/vitae/", "platform": "", "project_url": "https://pypi.org/project/vitae/", "project_urls": { "Homepage": "https://github.com/josephcslater/vitae" }, "release_url": "https://pypi.org/project/vitae/1.1.3/", "requires_dist": [ "bibtexparser", "appdirs" ], "requires_python": "", "summary": "Tools for academics for building a Curriculum Vitae and other oft-requested documents.", "version": "1.1.3" }, "last_serial": 5142592, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b9989bd8f029ff979a34db5a95657898", "sha256": "5b46bf162cef7e4408880a3ceaa88ea7b23b8d7507702d17edbf59dafbb6dff0" }, "downloads": -1, "filename": "vitae-0.1.0-py35-none-any.whl", "has_sig": false, "md5_digest": "b9989bd8f029ff979a34db5a95657898", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 6738, "upload_time": "2019-01-04T01:16:31", "url": "https://files.pythonhosted.org/packages/ba/c0/528bf08db3428208822ef7e7ea3f3a9f7fdfbfe273e02a32a1978bb2f914/vitae-0.1.0-py35-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "24761722171029076b5847174c218c7c", "sha256": "ee9a9ac7e50d64371f837bb30357a7e8cc08a8c4495e04668d400a52be07a0ec" }, "downloads": -1, "filename": "vitae-0.1.1-py35-none-any.whl", "has_sig": false, "md5_digest": "24761722171029076b5847174c218c7c", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 7417, "upload_time": "2019-01-22T01:28:14", "url": "https://files.pythonhosted.org/packages/ee/c2/72957cb64dbd8032d6316bdc65ee3c6f836f08fa2b868f4520b7a8e9b494/vitae-0.1.1-py35-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "02c828aaa51e7611e91d9c6ed3f5070d", "sha256": "7dd89943083ca717141eace1fee03564d3805a548a6ab2b52df09cce5a3a55fd" }, "downloads": -1, "filename": "vitae-1.0.0-py35-none-any.whl", "has_sig": false, "md5_digest": "02c828aaa51e7611e91d9c6ed3f5070d", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 11735, "upload_time": "2019-02-02T15:52:03", "url": "https://files.pythonhosted.org/packages/e5/49/151495eadd60dc2c29691ad657ad33b401ca2cc80148e5b437370727ea1c/vitae-1.0.0-py35-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c648d322180f95f59e8da1b33a77fc44", "sha256": "1a628b6ed4b08cffa371a992acec5590535522e51ad8796e8fb7e49bd7e58f6b" }, "downloads": -1, "filename": "vitae-1.1.0-py35-none-any.whl", "has_sig": false, "md5_digest": "c648d322180f95f59e8da1b33a77fc44", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 13171, "upload_time": "2019-03-06T22:25:51", "url": "https://files.pythonhosted.org/packages/b7/b2/28625812048a7159e5453704757287192061e3dffc5730d974b121b8632d/vitae-1.1.0-py35-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "136f7219fa108ae866341a4483e2bf08", "sha256": "990d6eddb97938e2b4a8c65a47c92d3288cebed9a7f6467049d2002ff9f3e716" }, "downloads": -1, "filename": "vitae-1.1.1-py35-none-any.whl", "has_sig": false, "md5_digest": "136f7219fa108ae866341a4483e2bf08", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 162006, "upload_time": "2019-04-09T01:27:39", "url": "https://files.pythonhosted.org/packages/78/e8/f6eb892ac94fc538084db480f6414748a61d6b5a02bc12d3201b848ecd58/vitae-1.1.1-py35-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "a06e4cfd44a42f7a369bb207b2ed831b", "sha256": "6de33f3a9092b47e4c78045721347386bd921798548f0259bfac858a7df4fc94" }, "downloads": -1, "filename": "vitae-1.1.2-py35-none-any.whl", "has_sig": false, "md5_digest": "a06e4cfd44a42f7a369bb207b2ed831b", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 162534, "upload_time": "2019-04-14T19:03:06", "url": "https://files.pythonhosted.org/packages/80/2e/a7215ac3fdb3c4ca25083f2d6fcacd6cd658899fc76f14dd3fe06a345fea/vitae-1.1.2-py35-none-any.whl" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "528f34aaf7f635d467c1b86a66a35109", "sha256": "4bca95f87f8d370904bd15a01affc50981f863ac98f9125a15b50fef82de142d" }, "downloads": -1, "filename": "vitae-1.1.3-py35-none-any.whl", "has_sig": false, "md5_digest": "528f34aaf7f635d467c1b86a66a35109", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 162647, "upload_time": "2019-04-15T02:40:58", "url": "https://files.pythonhosted.org/packages/cc/51/1f630ce3fd94fcea2a5ae35498fd274818d74fab98596f2aec758da039b1/vitae-1.1.3-py35-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "528f34aaf7f635d467c1b86a66a35109", "sha256": "4bca95f87f8d370904bd15a01affc50981f863ac98f9125a15b50fef82de142d" }, "downloads": -1, "filename": "vitae-1.1.3-py35-none-any.whl", "has_sig": false, "md5_digest": "528f34aaf7f635d467c1b86a66a35109", "packagetype": "bdist_wheel", "python_version": "py35", "requires_python": null, "size": 162647, "upload_time": "2019-04-15T02:40:58", "url": "https://files.pythonhosted.org/packages/cc/51/1f630ce3fd94fcea2a5ae35498fd274818d74fab98596f2aec758da039b1/vitae-1.1.3-py35-none-any.whl" } ] }