{ "info": { "author": "Hitoshi Ozawa", "author_email": "ozawa_h@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.6", "Topic :: Office/Business", "Topic :: Printing", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup", "Topic :: Utilities" ], "description": "AgateReports\n\nPure Python engine to generate reports from JasperReports jrxml file.\n==============================================================================\n\nIntroduction\n------------\nAgateReports is a pure Python tool to generate reports without extensive coding.\nIt currently relies on Jaspersoft Studio ``_ to graphically position reporting elements on a report layout.\n\n.. image:: ./docs/img/overview.png\n :width: 832px\n :align: center\n :height: 292px\n :alt: overview\n\nThis package aims to be a solution to following users:\n\n- Python developers who want to create a report using GUI tool.\n- Users who want to modify existing reports without programming.\n\nDifferences with JasperReports\n------------------------------\n- AgateReports use different components than JasperReports and there are minor differences. AgateReports components are based on modules such as ReportLab that are available in Python\n- AgateReports ia able to use .ttc fonts\n- Additional components available in Python are added. Currently, jrxml file must manually be edited to use these components. Furthermore, since JasperReports do not support these components, edited jrxml file can no longer be edited with Jaspersoft Studio. There is a plan to fork Jaspersoft Studio to support Python language syntax and these components.\n\nCurrent Restrictions\n--------------------\n- AgateReports is still in initial development phase and does not provide all of JasperReports features.\n- Patterns, format, and Java classes specified in jrxml file need to be changed to Python equivalent.\n For example, \"Current Date\" needs to be converted from \"new java.util.Date()\" to \"datatime.datetime.now()\"\n- Currently, only MySQL, Postgresql, and csv file are supported as a datasource\n- Performance is slow for large data source.\n\n\nRequirements\n------------\nPython3.6 or above\nReportLab\nPillow\nMySQL Connector/Python\npsycopg2\n\nInstallation\n----------------\nAgateReports requires Pillow. If Pillow is not already installed, please install it with the following command.\n::\n\n pip install Pillow\n\nAgateReports can be installed by the following command:\n::\n\n pip install agatereports\n\n\nGetting Started\n----------------\nPlease refer to the following github project for full documentation.\nhttps://github.com/ozawa-hi/agatereports\n\n`demos directory `_ contains samples of jrxml files and Python scripts on how to use AgateReports.\n\nUsage Sample\n---------------\n.. code-block:: python\n\n from agatereports.adapters import MysqlAdapter\n from agatereports.basic_report import BasicReport\n\n import logging\n logger = logging.getLogger(__name__)\n\n\n def datasource_mysql_sample():\n \"\"\"\n MySQL data source sample.\n\n WARNING: Before running this sample, schema 'agatereports' must be create and populated.\n Run scripts in directory 'agatereports/tests/database/mysql' to create and populated database tables.\n\n CAUTION: Edit values of 'host' and 'port' to those in your environment.\n \"\"\"\n logger.info('running datasource mysql sample')\n jrxml_filename = '../demos/jrxml/datasource_mysql.jrxml' # input jrxml filename\n output_filename = '../demos/output/datasource_mysql.pdf' # output pdf filename\n\n # MySQL datasource\n config = {'host': 'localhost', 'port': '3306', 'user': 'python', 'password': 'python', 'database': 'agatereports'}\n data_source = MysqlAdapter(**config)\n\n pdf_page = BasicReport(jrxml_filename=jrxml_filename, output_filename=output_filename, data_source=data_source)\n pdf_page.generate_report()\n\n\n if __name__ == '__main__':\n datasource_mysql_sample()\n\nEND\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/ozawa-hi/agatereports", "keywords": "", "license": "BSD license (see LICENSE for details), Copyright (c) 2019, Hitoshi Ozawa", "maintainer": "", "maintainer_email": "", "name": "agatereports", "package_url": "https://pypi.org/project/agatereports/", "platform": "", "project_url": "https://pypi.org/project/agatereports/", "project_urls": { "Homepage": "https://github.com/ozawa-hi/agatereports" }, "release_url": "https://pypi.org/project/agatereports/0.0.1/", "requires_dist": [ "reportlab (>=3.4.0)", "mysql-connector-python (>=8.0)", "psycopg2-binary (<2.8,>=2.7)" ], "requires_python": "", "summary": "python report generator engine to process JasperReports jrxml file.", "version": "0.0.1" }, "last_serial": 4937573, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "39d52c68d12d4a9ea57b25e3ce95081e", "sha256": "7c07a5967cc5eb3d9c330f259eb254289c653e5850fc104fb282143aeb455598" }, "downloads": -1, "filename": "agatereports-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "39d52c68d12d4a9ea57b25e3ce95081e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47866, "upload_time": "2019-03-14T03:33:49", "url": "https://files.pythonhosted.org/packages/0d/cc/20dd4686538f2b5893addc9f7c7c68e0b251a0168b11120ac66f7eaf3cbf/agatereports-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce99257a25bedba10b3da405370c55fc", "sha256": "37dc9857cf9c3fb97017f722b0f8a1093cfd68d79d6c1701f8892eb9e65ee101" }, "downloads": -1, "filename": "agatereports-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ce99257a25bedba10b3da405370c55fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28336, "upload_time": "2019-03-14T03:33:51", "url": "https://files.pythonhosted.org/packages/4a/dd/77db481c6a26956641876d63dc339d5c6b02e13129d23bc0544b9d7f1ef6/agatereports-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "39d52c68d12d4a9ea57b25e3ce95081e", "sha256": "7c07a5967cc5eb3d9c330f259eb254289c653e5850fc104fb282143aeb455598" }, "downloads": -1, "filename": "agatereports-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "39d52c68d12d4a9ea57b25e3ce95081e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47866, "upload_time": "2019-03-14T03:33:49", "url": "https://files.pythonhosted.org/packages/0d/cc/20dd4686538f2b5893addc9f7c7c68e0b251a0168b11120ac66f7eaf3cbf/agatereports-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce99257a25bedba10b3da405370c55fc", "sha256": "37dc9857cf9c3fb97017f722b0f8a1093cfd68d79d6c1701f8892eb9e65ee101" }, "downloads": -1, "filename": "agatereports-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ce99257a25bedba10b3da405370c55fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28336, "upload_time": "2019-03-14T03:33:51", "url": "https://files.pythonhosted.org/packages/4a/dd/77db481c6a26956641876d63dc339d5c6b02e13129d23bc0544b9d7f1ef6/agatereports-0.0.1.tar.gz" } ] }