{ "info": { "author": "Samuel Searles-Bryant", "author_email": "devel@samueljsb.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Invogen #\n\n[![PyPI](https://img.shields.io/pypi/v/invogen.svg)](https://pypi.org/project/invogen/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/invogen.svg)](https://pypi.org/project/invogen/)\n[![GitHub](https://img.shields.io/github/license/samueljsb/InvoGen.svg)](#license)\n[![Travis (.org) branch](https://img.shields.io/travis/samueljsb/InvoGen/master.svg)](https://travis-ci.org/samueljsb/InvoGen)\n[![Coverage Status](https://coveralls.io/repos/github/samueljsb/InvoGen/badge.svg?branch=master)](https://coveralls.io/github/samueljsb/InvoGen?branch=master)\n[![Build The Docs](https://readthedocs.org/projects/invogen/badge/?version=latest)](https://invogen.readthedocs.io/en/latest/?badge=latest)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nInvoGen is a package to generate beautiful invoices using Python.\n\n## Getting Started ##\n\nTo install InvoGen, simply run\n\n```sh\npip install invogen\n```\n\n## Using InvoGen ##\n\nInvoGen is easy to use! In the command prompt or in a file type:\n\n```python\nfrom invogen import *\n\nfoobar_inc = Customer(\"test\", name=\"Foobar Inc.\")\ninvoice = Invoice(foobar_inc)\ninvoice.add_entry(InvoiceEntry(\n id_code=\"Test01\",\n description=\"Some entry item\",\n rate=5,\n quantity=1,\n))\ninvoice.shipping = 3\n```\n\nYou can get a printout of your invoice like this:\n\n```python\n>>> print(invoice)\n\nInvoice for Foobar Inc. (test)\n| ID | Description | Rate | Quantity | Amount |\n+--------+----------------------+----------+----------+----------+\n| Test01 | Some entry item | 5.00 | 1 | 5.00 |\n+--------+----------------------+----------+----------+----------+\n Sub-total: 5.00\n Shipping: 3.00\n Discount: -0.00\n +---------------------+\n Total: 8.00\n```\n\nTo generate a PDF invoice using the default LaTeX template, use\n\n```python\ntemplate = LatexTemplate(\"default.tex\")\ntemplate.to_pdf(invoice)\n```\n\n*N.B.*\nTo use LaTeX templates, you will have to have LaTeX installed.\nYou can find out how to install LaTeX for your system [here](https://www.latex-project.org/get/).\n\n## Documentation ##\n\nDocumentation can be found on [Read the Docs](https://invogen.readthedocs.io)\n\nThe docs are built with Sphinx and autodoc.\nTo build the docs as html yourself, use\n\n```sh\ncd docs\nmake html\n```\n\n## Testing ##\n\nThe tests are in `/test`.\nTo run the tests with coverage, use\n\n```sh\npytest\n```\n\n## Contributing ##\n\nPlease feel free to fork and open a pull request if you would like to change something.\n\nThe dependencies can be installed using pip and [`requirements.txt`](./requirements.txt) or Pipenv and the [`Pipfile`](./Pipfile).\n\nMore templates would be especially welcome!\n\n## Authors ##\n\n* Samuel Searles-Bryant - [website](https://samueljsb.co.uk)\n\n## License ##\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/samueljsb/InvoGen", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "invogen", "package_url": "https://pypi.org/project/invogen/", "platform": "", "project_url": "https://pypi.org/project/invogen/", "project_urls": { "Bug Reports": "https://github.com/samueljsb/InvoGen/issues", "Documentation": "https://invogen.readthedocs.io", "Homepage": "https://github.com/samueljsb/InvoGen" }, "release_url": "https://pypi.org/project/invogen/0.3.0/", "requires_dist": [ "Jinja2 (>=2.10)" ], "requires_python": "", "summary": "Generate beautiful invoices using Python.", "version": "0.3.0" }, "last_serial": 4689583, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "de768ff7bd99426fa789443185c37397", "sha256": "27a4d1d1a84ed067babe06deff3b13298457113c9a59188c56b4d298b438ce80" }, "downloads": -1, "filename": "invogen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "de768ff7bd99426fa789443185c37397", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5171, "upload_time": "2018-10-10T11:26:19", "url": "https://files.pythonhosted.org/packages/bd/50/dbd766349a6ab546ae6c0a2fa1dc9a3cef51510157de4faa7fce0872bf11/invogen-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f5d6be4893779b3eb8e485b62eb01afe", "sha256": "3adc9e74d357568a71dc2bc0e64d41ac1a1688c0372169c3f29a37443a4feb54" }, "downloads": -1, "filename": "invogen-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f5d6be4893779b3eb8e485b62eb01afe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7708, "upload_time": "2018-10-22T01:19:37", "url": "https://files.pythonhosted.org/packages/69/7b/9aaec65890892974631c3849396bd1b2055ad04f5d9e498cfc2b5336724c/invogen-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8eec1e35d2b41cfda097d4c3069046c", "sha256": "e0a031bc86aae1821e2850865e008da5db3eeee16d55b21097c6d6416ef67e51" }, "downloads": -1, "filename": "invogen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f8eec1e35d2b41cfda097d4c3069046c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8433, "upload_time": "2018-10-22T01:19:39", "url": "https://files.pythonhosted.org/packages/ca/45/a4aa3cd4f40ccea629ccc7c3793bbea2d818ce8542fe84cb72376fccd183/invogen-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9687c2270143788d2a6d8bb719035289", "sha256": "0c70981de0a4a5c8be976fa773549bcc472432ca0da460c3d9622bde307f440e" }, "downloads": -1, "filename": "invogen-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9687c2270143788d2a6d8bb719035289", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12339, "upload_time": "2019-01-13T00:05:39", "url": "https://files.pythonhosted.org/packages/f8/78/73a8f4bd4200ae341fdc99e3371893f7457a53975a5f82260d5429f1e228/invogen-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7b99a26cfc78d987893cb0893360958", "sha256": "990dacae83bb11cd294921af8525c346258d610a179a463dfc4832ca8b3d0448" }, "downloads": -1, "filename": "invogen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a7b99a26cfc78d987893cb0893360958", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9769, "upload_time": "2019-01-13T00:05:41", "url": "https://files.pythonhosted.org/packages/f0/e3/c860c8711c190343b5ca6f203adf92ebcb0011894bede2e5caef4f6c7007/invogen-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9687c2270143788d2a6d8bb719035289", "sha256": "0c70981de0a4a5c8be976fa773549bcc472432ca0da460c3d9622bde307f440e" }, "downloads": -1, "filename": "invogen-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9687c2270143788d2a6d8bb719035289", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12339, "upload_time": "2019-01-13T00:05:39", "url": "https://files.pythonhosted.org/packages/f8/78/73a8f4bd4200ae341fdc99e3371893f7457a53975a5f82260d5429f1e228/invogen-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7b99a26cfc78d987893cb0893360958", "sha256": "990dacae83bb11cd294921af8525c346258d610a179a463dfc4832ca8b3d0448" }, "downloads": -1, "filename": "invogen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a7b99a26cfc78d987893cb0893360958", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9769, "upload_time": "2019-01-13T00:05:41", "url": "https://files.pythonhosted.org/packages/f0/e3/c860c8711c190343b5ca6f203adf92ebcb0011894bede2e5caef4f6c7007/invogen-0.3.0.tar.gz" } ] }