{ "info": { "author": "F\u00e1bio Mac\u00eado Mendes", "author_email": "fabiomacedomendes@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "Buroca\n======\n\n\"Buroca\" is a Python command line tool that helps implementing a \"bureaucracy \nas code\" philosophy of project management. It was created to help creating documents for a \npartnership project between a public University and the Federal Goverment in Brazil, -- \na case that we can certainly expect lots of pointless paperwork. Buroca can \nalso help with other workflows that involves automatic generation of documents.\n\nA \"buroca\" project keeps a centralized data store and a set of document \ntemplates. It fills the gaps by providing automatic document generation and \neasy synchronization of generated documents with the data store. Buroca \nunderstands arbitrary text files (e.g: markdown, LaTeX, etc) and LibreOffice \nspreadsheets.\n\n\nInstallation\n------------\n\nBuroca requires Python 3 and a few other libraries available on pip. You can \ngrab it from pip::\n\n $ pip3 install buroca --user\n\nMore advanced usage requires `pandoc ` and an working \ninstance of LibreOffice. It probably works only on Linux, but you're welcome to\ncontribute Windows support ;). \n\n\nUsage\n-----\n\nStart creating by a project folder structure::\n\n $ buroca init\n\nIt will create the following folder structure in the current directory::\n\n data/\n reports/\n templates/\n\nData must contain a set of YAML files that encode information about each entity\nin your project. You can create arbitrary YAML files representing people, \ninventory, reports or anything you want.\n\nA fairly common usage is to include a person/ sub-folder with one file per \nperson::\n\n data/\n |- band.yml -- generic project information\n \\- person -- we create one YAML file per member of the\n |- john.yml project\n |- paul.yml\n |- ringo.yml\n \\- george.yml\n\nThe content of those files is arbitrary, as long as they encode dictionaries:\n\n.. code-block:: YAML\n\n # john.yml\n name: John Winston Lennon\n role: singer\n instruments:\n - guitar\n - keyboard\n - harmonica\n - tambourine\n\nNow, we must create some template documents in the \"templates\" folder. They can \nbe either arbitrary text files or Libre Office spreadsheets. Those files are \ninterpreted as `Jinja2 ` templates. The toplevel files \nand folders are exposed as variables in the Jinja templates. \n\nConsider a ``templates/resumee.md`` file:\n\n.. code-block:: markdown\n\n # Resum\u00e9e\n\n Name: {{ person.name }}\n\n {{ person.name }} is the {{ person.role }} of {{ band.name }}. He can play\n {% for instrument in person.instruments %}{{ instrument }}\n {%- if not loop.last %}, {% endif %}{% endfor %}.\n\n {{ person.name }} used to play on {{ band.name }}, the greatest rock band \n in history!\n\nNow that we have a template, we can generate files from YAML data::\n\n $ buroca do resumee.md person/john\n\nThis will create a resume-john.md file under \"reports/\" that inserts all \ninformation in the YAML files into the correct places. If we want to generate \nfiles for all members at once, just type::\n\n $ buroca do resumee.md person/*\n\nIt will scan all files like ``data/person/*.yml`` and create a report for each \nperson. \n\nExport to PDF\n-------------\n\nBuroca integrates with `pandoc ` and can convert several\ninput files to pdf. This is particularly useful to aggregate reports for different\nentities into a single file. This is useful, for instance, when you want to send\nfiles for printing::\n\n $ buroca do resumee.md person/* -t pdf --single\n\n\nWhat about this name?\n---------------------\n\n\"Buroca\" is the informal way Brazillians calls \"bureaucracy\". Pointless \nbureacracy is so prevalent in Brazillian life that we have to invent cute names \nto better cope with it ;)\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fabiommendes/buroca", "keywords": "automation", "license": "GNU General Public License (GPL)", "maintainer": "", "maintainer_email": "", "name": "buroca", "package_url": "https://pypi.org/project/buroca/", "platform": "", "project_url": "https://pypi.org/project/buroca/", "project_urls": { "Homepage": "https://github.com/fabiommendes/buroca" }, "release_url": "https://pypi.org/project/buroca/0.1.10/", "requires_dist": null, "requires_python": "", "summary": "A framework to help implementing Bureaucracy as code.", "version": "0.1.10" }, "last_serial": 3524409, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "1c1d246933c51b3fa4106ebd4a9f1c75", "sha256": "9531c12c146049550a04b40c119408a1cc18613d194765c31ad00982dc28ba1a" }, "downloads": -1, "filename": "buroca-0.1.10.tar.gz", "has_sig": false, "md5_digest": "1c1d246933c51b3fa4106ebd4a9f1c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6370, "upload_time": "2018-01-26T14:48:07", "url": "https://files.pythonhosted.org/packages/b4/fe/74be7c2ac629b967881455358af63e2df96416d45a438696ff4d1efb6f82/buroca-0.1.10.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c1d246933c51b3fa4106ebd4a9f1c75", "sha256": "9531c12c146049550a04b40c119408a1cc18613d194765c31ad00982dc28ba1a" }, "downloads": -1, "filename": "buroca-0.1.10.tar.gz", "has_sig": false, "md5_digest": "1c1d246933c51b3fa4106ebd4a9f1c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6370, "upload_time": "2018-01-26T14:48:07", "url": "https://files.pythonhosted.org/packages/b4/fe/74be7c2ac629b967881455358af63e2df96416d45a438696ff4d1efb6f82/buroca-0.1.10.tar.gz" } ] }