{ "info": { "author": "Martin Schobert", "author_email": "martin@weltregierung.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Topic :: Communications :: Fax", "Topic :: Office/Business", "Topic :: Text Processing :: Markup :: LaTeX", "Topic :: Utilities" ], "description": "``fensterbrief`` is a python script for working with letters based on LaTeX and\nmarkdown.\n\n.. contents:: \n :local:\n\nShort introduction\n==================\n\n``fensterbrief`` (German for window envelope) is a helper script to\nmanage the creation and archival of LaTeX- and Markdown-based\nletters. It helps you in managing folders in a structured way and to\nconsistently name files. It helps in creating new letters based\non old ones. It tries to make letter writing easy witout adding\nover-specialised functionality.\n\n``fensterbrief`` does not process metadata beyond file and directory\nnames. It is not a LaTeX editor.\n\nWhile ``fensterbrief`` is more or less OS independent, it currently only\nsupports Unix-style environments.\n\nFeatures\n--------\n\n- intended to be used via command line\n- maintaining a folder and document structure\n- support for LaTeX and Markdown based letters\n- support for fax transmissions via simple-fax.de\n- support for buying postage for the Deutsche Post\n- lookup postal addresses via the Google API\n\nUsage\n-----\n\nThe ``fensterbrief`` tool is command line based:\n\n::\n\n $ fensterbrief --help\n\tusage: fensterbrief [-h] [--list-templates] [--list-letters] [--search STRING]\n [--create-folder] [--adopt FILE] [--edit [FILE]]\n [--render [FILE]] [--show-pdf [FILE]] [--set-folder DIR]\n [--cat FILE] [--mail-simple-fax DEST]\n [--soap-simple-fax DEST] [--buy-stamp [PRODUCT_ID]]\n [--lookup-address STRING] [--keep-folder] [--config FILE]\n [--verbose] [--configure] [--version]\n\n Manage letters via command line\n\n optional arguments:\n\t -h, --help show this help message and exit\n\t --list-templates List all letter templates\n\t --list-letters List all letters\n\t --search STRING Search for a string in filenames\n\t --create-folder Ask for meta data and create a new folder\n\t --adopt FILE Create a new letter based on a previous one\n\t --edit [FILE] Edit the current letter or another source file\n\t --render [FILE] Render PDF file from current markdown or latex\n\t --show-pdf [FILE] Open PDF file in PDF viewer\n\t --set-folder DIR Set the working folder\n\t --cat FILE Dump content of a letter\n\t --mail-simple-fax DEST\n Send a fax via simple-fax.de using the e-mail\n interface\n\t --soap-simple-fax DEST\n Send a fax via simple-fax.de using the SOAP interface\n\t --buy-stamp [PRODUCT_ID]\n Buy a stamp. Place postage file in current folder or\n\t\t\t\tuse together with --adopt.\n --lookup-address STRING\n Search for an address via Google. Can be used together\n with --adopt.\n\t --keep-folder Store the adopted letter in the same folder\n\t --config FILE The configuration file to use\n\t --verbose Show what is going on\n\t --configure Initialize the environment and configure the tool\n\t --version Show version\n\n\n\nList all archived letters\n-------------------------\n\n::\n\n $ fensterbrief --list-letters\n + Looking up letters in /home/martin/Documents/Vorgaenge/\n [...]\n + 2010-09-company_X-anmeldung/2010-09-28_anmeldung.tex\n + 2010-09-company_X-anmeldung/2011-05-04-vertragsunterlagen.tex\n + 2014-09-company_Y-guthabenerstattung/2014-09-29-companyY-guthabenerstattung.tex\n [...]\n\nSearch for a string in directory and filenames\n----------------------------------------------\n\n::\n\n \n $ fensterbrief --search companyX\n + Looking up letters in /home/martin/Documents/Vorgaenge/\n [...]\n + 2010-09-company_X-anmeldung/2010-09-28_anmeldung.tex\n + 2010-09-company_X-anmeldung/2011-05-04-vertragsunterlagen.tex\n [...]\n\nCreate a new letter based on an old one\n---------------------------------------\n\nOften you already started a letter conversation with a recipient and\nhave a followup letter. You like to adopt the old LaTeX letter, because\nyou inserted reference numbers such as you customer or tax ID or the\ndestination address. To write a new letter, you simply copy the old\nLaTeX file to a new destination folder. Technically, it makes no\ndifference, whether you adopt an old letter or a template file.\n\n::\n\n $ fensterbrief --adopt 2014-09-company_X-guthabenerstattung/2014-09-29-company_X-guthabenerstattung.tex\n Recipient short name: company X\n Folder subject: Kl\u00e4rung Situation X\n Letter subject: Kl\u00e4rung Situation X\n + Folder subject: Klarung_Situation_X\n + Letter subject: Klarung_Situation_X\n + Recipient: company_X\n + Creating folder /home/martin/Documents/Vorgaenge/2016-12_company_X-Klarung_Situation_X\n + Copy file /home/martin/Documents/Vorgaenge/2014-09-company_X-guthabenerstattung/2014-09-29-company_X-guthabenerstattung.tex to /home/martin/Documents/Vorgaenge/2016-12_company_X-Klarung_Situation_X/2016-12-14_company_X-Klarung_Situation_X.tex\n\nAfterwards, the fensterbrief script will launch the LaTeX editor that\nhas been configured. Since LaTeX editors usually support a build-in\nfunction for rendering and printing, there are no further steps relevant\nhere. If you use a editor that does not support rendering, you can\nrender your letter from command line, too. Please refer to the bext\nsection.\n\nIf you write a follow-up letter and want to store this letter in the\nsame directory as the original letter, just add option --keep-folder.\n\n::\n\n $ fensterbrief --adopt ... --keep-folder\n\nWhen a letter is created, ``fensterbrief`` keeps track of it in a file\n``${ROOT_DIR}/.working_object.conf``. This file references the current\nletter and simplifies the process of interacting with the letter.\n\nMarkdown-based letters\n----------------------\n\nAdopting a Markdown letter isn't much different from creating a\nLaTeX-based letter. The source file of a Markdown-based letter looks\nlike this:\n\n`Sample Markdown letter `__\n\nUsually, you likely use a more general editor that may not support\nLaTeX/pandoc directly. Therefore, you may want to render your letters\nexplicitly as shown below:\n\n::\n\n $ fensterbrief --render\n\nAfterwards you can open the rendered PDF file in a PDF viewer, check the\noutput and print the document:\n\n::\n\n $ fensterbrief --show-pdf\n\n\nIf you want to make further changes to your letter, you can run the\neditor again:\n\n::\n\n $ fensterbrief --edit\n\n\nCommands can be chained, for example:\n\n::\n\n $ fensterbrief --edit --render --show-pdf\n\n\nTo render PDF files from Markdown via LaTeX, ``fensterbrief`` uses\n`pandoc `__ with this LaTeX template:\n\n`LaTeX letter template used as pandoc\ntemplate `__\n\nSending a letter\n----------------\n\nUsually, you will print your letter from the LaTex editor and close the\neditor afterwards. However, sometimes a letter should not be sent via\nsnail mail, instead it should be sent via Fax. Because I use the prepaid\nservice from http://simple-fax.de, ``fensterbrief`` supports this\nservice provider.\n\nSimple-fax.de supports fax sending via a `SOAP-based web\nAPI `__. However,\nthis interface lacks support for a transmission confirmation. The\nsimple-fax interface will call you back on your own web interface for\nstatus tracking, but you have to setup your status handler and you will\nnot get a fancy transmission confirmation.\n\nTherefore, I prefer the mail interface, because their e-mail interface\nsends status messages, a transmission confirmation PDF including the\nfirst page of your fax message, and you will have everything archived in\nyour mail user agent. To send your letter ``fensterbrief`` will invoke\nyour mail client.\n\n::\n\n $ fensterbrief --mail-simple-fax \n\nIt will launch a prefilled 'new mail' dialog. Currently, only\nThunderbird is supported. If you work with multiple e-mail accounts or\ne-mail identities, please make sure, the correct 'from' address is\nselected. The ``~/.fensterbrief.conf`` configuration file has a setting\nfor this (``mail_from`` in section ``mail_to_simple_fax_de``). For some\nreason, an index such as ``id2`` must be specified to select the 'from'\naddress instead of using just an ordinary e-mail address.\n\nBuying postage\n--------------\n\n``fensterbrief`` uses the tool\n`frank `__ to buy stamps for the\nDeutsche Post. These stamps are named \"Internetmarke\" or \"1C4A\" for\n\"1Click4Applikation\". Once, ``frank`` is set up, you can buy stamps in\ntwo modes.\n\nBuying postage, when creating a letter:\n\n::\n\n $ fensterbrief --adopt 2014-09-company_X-guthabenerstattung/2014-09-29-company_X-guthabenerstattung.tex --buy-stamp\n\nBuying postage for the current letter:\n\n::\n\n $ fensterbrief --buy-stamp\n\nThe later approach works, because ``fensterbrief`` stores the path and\nfilenames of the current folder and letter.\n\nLookup an address\n-----------------\n\nWhen adopting a Markdown-based letter, you can lookup a postal address\nvia Google and the address is used in the letter as destination address:\n\n::\n\n $ fensterbrief --adopt _templates/template-pandoc.md --keep-folder --lookup-address 'rathaus mitte, berlin'\n\nIf there are multiple matches, a list of matches is shown and you select\nan index.\n\nThis operation requires a Google API key.\n\nInstallation\n============\n\nTechnical installation of the tool itself\n-----------------------------------------\n\nInstall dependencies:\n\n::\n\n $ sudo apt-get install texlive texlive-lang-german \\\n\t texlive-fonts-extra texlive-latex-extra texlive-generic-recommended \\\n\t python3-pip pandoc \\\n\t \n\nInstall ``fensterbrief``:\n\n::\n\n $ sudo pip3 install fensterbrief\n\t\n\nSetup the environment\n---------------------\n\nAfter installing the tool, the configuration file must be created. A\nwizzard mode asks for certain configuration points as shown below.\n\n::\n\n $ fensterbrief --configure\n + Root directory, where letters should be stored\n ---------------------------------------------------------------\n Default value: /home/martin/Documents/letters/\n Current value: /home/martin/Documents/Vorgaenge/\n Enter: keep current configuration, 'd': use default configuration\n > \n + Use value: /home/martin/Documents/Vorgaenge/\n\n + Template directory, where template letters are stored\n ---------------------------------------------------------------\n Default value: ${ROOT_DIR}/_templates/\n Current value: /home/martin/Documents/Vorgaenge//_templates/\n Enter: keep current configuration, 'd': use default configuration\n > d\n + Use value: ${ROOT_DIR}/_templates/\n\n [...]\n\nIt is possible to use text makros such as the ``${ROOT_DIR}``.\n\n\n\nUpdate the installation\n-----------------------\n\nTo upgrade ``fensterbrief``, use the following commands:\n\n::\n\n $ sudo pip3 install fensterbrief --upgrade\n\t$ fensterbrief --configure\n\t\nIf ``--configure`` is used and there is already a configuration file, ``fensterbrief`` will ask whether you want to use the default value or an existing configuration entry or a new value.\n\n\nCustomize templates\n-------------------\n\nThe wizzard copys template files to the user's template directory. These\ntemplates should be customized in a last step.\n\nYou can use your own LaTeX templates. They can be based on the LaTeX\ng-brief, on scrlttr2 or on any other letter class. The templates that\nare shipped in this package are based on scrlttr2. There are plenty of\ntemplate examples on the Internet, which you can adjust to your needs.\nMy templates look like this:\n\n- `Rendered standard letter\n template `__\n- `Rendered standard invoice\n template `__\n- `Rendered standard letter template for defeating advertising and\n personal data\n usage `__\n\nWhen running ``--configure``, ``.lco`` files are copied to the\n``~/texmf/tex/latex/fensterbrief/`` directory and ``texhash`` is run\nafterwards.\n\nSample configuration file\n-------------------------\n\nExample configuration file ``~/.fensterbrief.conf``:\n\n::\n\n [DEFAULT]\n root_dir = /home/martin/Documents/Vorgaenge/\n template_dir = ${ROOT_DIR}/_templates/\n tex_editor = texmaker\n md_editor = emacs -nw\n \n [pandoc]\n program = pandoc\n template = ${template_dir}/template-pandoc.tex\n \n [latex]\n program = latex\n \n [google]\n api_key = xxxx\n \n [mail_to_simple_fax_de]\n mail_client = thunderbird\n mail_from = id3\n \n [soap_to_simple_fax_de]\n user = foo@example.com\n password = secret\n \n [frank]\n program = /home/martin/Development/frank/frank.py\n product = 1\n\nSetup ``frank`` to buy stamps\n-----------------------------\n\n``fensterbrief`` uses the tool ``frank`` to buy stamps, which itself is\nbased on the python module\n`python-inema `__.\n\nSetting up ``frank`` is a bit complex, because it requires manual\ninteractions aka. sending mails to the system operator. To use frank,\nplease refer to the instructions on the `github page of\nfrank `__.\n\nCreate a signature file\n-----------------------\n\nSometimes it is useful to have a digital version of one's signature to\ninclude it in a letter, when it is sent as fax via an Internet service.\nThis is more convinient than printing a letter, placing a signature,\nscan it as PDF file.\n\nA step-by-step guide to achieve this is describe in a `stackoverflow\narticle `__.\n\nObtain a Google API key\n-----------------------\n\nYou need a Google API key in order to use this feature. You can get an\nAPI key from\n`Google `__,\nwhich requires a Google account.\n\nIt may also be possible to find API keys at\n`Github `__\n\nCopyright and Licence\n=====================\n\n``fensterbrief`` is developed by Martin Schobert martin@schobert.cc and\npublished under a BSD licence with a non-military clause. Please read\n``LICENSE.txt`` for further details.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nitram2342/fensterbrief", "keywords": "latex letters office productivity", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "fensterbrief", "package_url": "https://pypi.org/project/fensterbrief/", "platform": "", "project_url": "https://pypi.org/project/fensterbrief/", "project_urls": { "Homepage": "https://github.com/nitram2342/fensterbrief" }, "release_url": "https://pypi.org/project/fensterbrief/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Fensterbrief is a python script for working with letters based on LaTeX and Markdown.", "version": "0.1.1" }, "last_serial": 4221433, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "146ce0f54518b1c465c5b794f5681f30", "sha256": "8ebb6c1eda5ba23e344c452748f8180a89a2f5e7f7f6a462bb823b46aa4e28ad" }, "downloads": -1, "filename": "fensterbrief-0.0.10.tar.gz", "has_sig": true, "md5_digest": "146ce0f54518b1c465c5b794f5681f30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27442, "upload_time": "2017-01-22T11:57:57", "url": "https://files.pythonhosted.org/packages/9c/87/c28de891bb220c78e01abf8fa91481f0f61b0b5d791b887e1bbf7d613382/fensterbrief-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "ebed8de8abb461e10fb7b300d85ccf65", "sha256": "282b0cc87299a4f967b4696664d99901ba64edad1be29c22e1bc04f3afb50e53" }, "downloads": -1, "filename": "fensterbrief-0.0.11.tar.gz", "has_sig": true, "md5_digest": "ebed8de8abb461e10fb7b300d85ccf65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27446, "upload_time": "2017-01-22T12:01:10", "url": "https://files.pythonhosted.org/packages/dd/0e/1e4791a92943578ae148e1670cc3a8fecda980c0430eb83efb6d6e805d10/fensterbrief-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "089fca707a1a59736f830c63f84b5392", "sha256": "fc1ec0c74b00a585c105f5532d5534e56d9cc6517632b5ac31378bf9e2897fc1" }, "downloads": -1, "filename": "fensterbrief-0.0.12.tar.gz", "has_sig": true, "md5_digest": "089fca707a1a59736f830c63f84b5392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27440, "upload_time": "2017-01-22T12:13:36", "url": "https://files.pythonhosted.org/packages/d0/f0/cdf9d085d31ea20fac51e8e425f632885f8f015acb2e1c6bfef9645f6418/fensterbrief-0.0.12.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "48e3c66038de69b47b3500b19b0569d8", "sha256": "ec13b2843e4684bb1beb3cf9e48135ffcd29bf731893ead49a31297303c95949" }, "downloads": -1, "filename": "fensterbrief-0.0.14.tar.gz", "has_sig": true, "md5_digest": "48e3c66038de69b47b3500b19b0569d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27467, "upload_time": "2017-01-24T20:58:18", "url": "https://files.pythonhosted.org/packages/24/b7/1865b8b21fcf7f537a75be827482a3666de858b362a463a5b575db06a30f/fensterbrief-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "4f9375cbf72038042a5ba4c6a5f63cb4", "sha256": "dd984eb4e036aca9e4feaefe7d6facd8fd2934e7281dc6cecc3de13f86e0efb9" }, "downloads": -1, "filename": "fensterbrief-0.0.15.tar.gz", "has_sig": true, "md5_digest": "4f9375cbf72038042a5ba4c6a5f63cb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28627, "upload_time": "2017-01-26T08:09:00", "url": "https://files.pythonhosted.org/packages/66/6e/c821ef540314d42692d62f251e8f6ebdbe23527c682b304b37ebc8f0c568/fensterbrief-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "4c6247eb812ccd0e76238c9f89f3745b", "sha256": "1c552de5ae781a958489f0dd8acc97111fe78e1609f2229991b98c080f9d60af" }, "downloads": -1, "filename": "fensterbrief-0.0.16.tar.gz", "has_sig": true, "md5_digest": "4c6247eb812ccd0e76238c9f89f3745b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29004, "upload_time": "2017-02-03T13:36:12", "url": "https://files.pythonhosted.org/packages/d0/c5/61fb7679a28c2928aae47e36f3fa8513050961692944d79bc390e5ad1c16/fensterbrief-0.0.16.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "b4208487391adb636d5edcb1f375d0ba", "sha256": "47f5081f8dabb440ff7aaa1dd0db1a391c7af32cededa7e9d4c7c29c41806bdc" }, "downloads": -1, "filename": "fensterbrief-0.0.18.tar.gz", "has_sig": true, "md5_digest": "b4208487391adb636d5edcb1f375d0ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28562, "upload_time": "2017-07-17T22:27:12", "url": "https://files.pythonhosted.org/packages/b2/c6/128cd98bba1e5309c14ef8e3d3fc90cdea875ff757229d46bf7ed4a79a76/fensterbrief-0.0.18.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2f00c7cebd8d1bb514b9719dbe8869a5", "sha256": "1d062bf4687b01c416b8ed7fac1f8ac1705ef4c5a8f248aeb65fbb6b1d0413ca" }, "downloads": -1, "filename": "fensterbrief-0.0.2.tar.gz", "has_sig": true, "md5_digest": "2f00c7cebd8d1bb514b9719dbe8869a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24940, "upload_time": "2017-01-13T21:27:17", "url": "https://files.pythonhosted.org/packages/d5/d3/aca8ac027b961dac16ef8f87650bddecd038a93a47500c9781c389bb584f/fensterbrief-0.0.2.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a27978d0a641676fcd95e8080fad8dfa", "sha256": "a13607eabe52760e3ec3032aaec240258f7136ab3970815c024a40f5cc7f938f" }, "downloads": -1, "filename": "fensterbrief-0.0.4.tar.gz", "has_sig": true, "md5_digest": "a27978d0a641676fcd95e8080fad8dfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26389, "upload_time": "2017-01-13T21:43:28", "url": "https://files.pythonhosted.org/packages/55/59/416d6db5043a9a6d14edd2d25a6c03ef124413cf573fb620b53e003bb720/fensterbrief-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "862f8ab7f59fce505093ffc72f646608", "sha256": "a3c4253f5773f966664de6393493907c8a1a9e2f928a59c078b27abe76a93a22" }, "downloads": -1, "filename": "fensterbrief-0.0.5.tar.gz", "has_sig": true, "md5_digest": "862f8ab7f59fce505093ffc72f646608", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26385, "upload_time": "2017-01-13T21:50:34", "url": "https://files.pythonhosted.org/packages/9b/8a/b0a88ce0af9b97862eda87a0de9913585a8f67e9a3b578b46f98c26376fb/fensterbrief-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "61b071dda98f9641dfac6b706477d185", "sha256": "3bd7595f135dfd25f821065c3cb8cc11f9bc02f400495242bfd833a4d6c639d7" }, "downloads": -1, "filename": "fensterbrief-0.0.6.tar.gz", "has_sig": true, "md5_digest": "61b071dda98f9641dfac6b706477d185", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27115, "upload_time": "2017-01-20T18:18:23", "url": "https://files.pythonhosted.org/packages/f2/e7/4b4fa338951d66feeef0404be79e2d7e9afb57f1a52613db7fa87a0ccc3d/fensterbrief-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "0527d887db305c0620672a1850c83a78", "sha256": "cd9dc296dbc0820e3f5b105e906dd7a8cb9e2c6ba90d68bebf7dca61cbcb284f" }, "downloads": -1, "filename": "fensterbrief-0.0.7.tar.gz", "has_sig": false, "md5_digest": "0527d887db305c0620672a1850c83a78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27149, "upload_time": "2017-01-20T18:26:37", "url": "https://files.pythonhosted.org/packages/ed/82/86c2ed27d9b1dd1103b949878490e08aa88fa02ba83286700ba877e1d9fe/fensterbrief-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "28e790badbca2c1d63cb16bbc35cd462", "sha256": "7b3562e0e103abe67ca9bc4da4f0e235be4fcc75dc42dad8bccec57a4e226102" }, "downloads": -1, "filename": "fensterbrief-0.0.8.tar.gz", "has_sig": true, "md5_digest": "28e790badbca2c1d63cb16bbc35cd462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27301, "upload_time": "2017-01-22T00:00:36", "url": "https://files.pythonhosted.org/packages/f0/dc/ef6b23a04bb0928c1b81b471f5e01f16d6c6e6cd4a3c33660d85f5badf04/fensterbrief-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "d0b42e34efa2167d3141ea466e833879", "sha256": "871f962f3377f02f10cd7fa90e484fbebc29d0255b11f9e9b7ccbe69804735a1" }, "downloads": -1, "filename": "fensterbrief-0.0.9.tar.gz", "has_sig": true, "md5_digest": "d0b42e34efa2167d3141ea466e833879", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27446, "upload_time": "2017-01-22T11:53:38", "url": "https://files.pythonhosted.org/packages/55/d4/031976b0baf161752cac64dd305105827e4cdf3dad3948330b059f6b3b03/fensterbrief-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "d8f6631a9df072d7014d96a2d73533d9", "sha256": "9bc6717fe56d99574980878d999a59b88e8096dbbd7e4a01c0808347856afbd9" }, "downloads": -1, "filename": "fensterbrief-0.1.0.tar.gz", "has_sig": true, "md5_digest": "d8f6631a9df072d7014d96a2d73533d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29472, "upload_time": "2018-08-30T06:19:08", "url": "https://files.pythonhosted.org/packages/9c/78/7168b70e3fa5293da02adf8b6d6c8680361229be0a4e1a9667484e370d33/fensterbrief-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "06b7a517615b37e9196c0f5b784c019f", "sha256": "86863ee92b6e10c1e3998d086f3deefbb85ce9cb82db869a2215945d1d759826" }, "downloads": -1, "filename": "fensterbrief-0.1.1.tar.gz", "has_sig": true, "md5_digest": "06b7a517615b37e9196c0f5b784c019f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29550, "upload_time": "2018-08-30T06:24:20", "url": "https://files.pythonhosted.org/packages/85/1d/aaf521f933bc237bb8b62302e69abfa579d4957f8b3e485cdbf657743ac3/fensterbrief-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "06b7a517615b37e9196c0f5b784c019f", "sha256": "86863ee92b6e10c1e3998d086f3deefbb85ce9cb82db869a2215945d1d759826" }, "downloads": -1, "filename": "fensterbrief-0.1.1.tar.gz", "has_sig": true, "md5_digest": "06b7a517615b37e9196c0f5b784c019f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29550, "upload_time": "2018-08-30T06:24:20", "url": "https://files.pythonhosted.org/packages/85/1d/aaf521f933bc237bb8b62302e69abfa579d4957f8b3e485cdbf657743ac3/fensterbrief-0.1.1.tar.gz" } ] }