{ "info": { "author": "Nyaruka", "author_email": "code@nyaruka.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# XLSXLite\n\n[![Build Status](https://travis-ci.org/nyaruka/xlsxlite.svg?branch=master)](https://travis-ci.org/nyaruka/xlsxlite)\n[![Coverage Status](https://coveralls.io/repos/github/nyaruka/xlsxlite/badge.svg?branch=master)](https://coveralls.io/github/nyaruka/xlsxlite?branch=master)\n[![PyPI Release](https://img.shields.io/pypi/v/xlsxlite.svg)](https://pypi.python.org/pypi/xlsxlite/)\n\nThis is a lightweight XLSX writer with emphasis on minimizing memory usage. It's also really fast.\n\n```python\nfrom xlsxlite.writer import XLSXBook\nbook = XLSXBook()\nsheet1 = book.add_sheet(\"People\")\nsheet1.append_row(\"Name\", \"Email\", \"Age\")\nsheet1.append_row(\"Jim\", \"jim@acme.com\", 45)\nbook.finalize(to_file=\"simple.xlsx\")\n```\n\n## Benchmarks\n\nThe [benchmarking test](https://github.com/nyaruka/xlsxlite/blob/master/xlsxlite/test/test_perf.py) writes\nrows with 10 cells of random string data to a single sheet workbook. The table below gives the times in seconds (lower is better)\nto write a spreadsheet with the given number of rows, and includes [xlxswriter](https://xlsxwriter.readthedocs.io/) and\n[openpyxl](https://openpyxl.readthedocs.io/) for comparison.\n\nImplementation | 100,000 rows | 1,000,000 rows\n----------------|--------------|---------------\nopenpyxl | 43.5 | 469.1\nopenpyxl + lxml | 21.1 | 226.3\nxlsxwriter | 17.2 | 186.2\nxlsxlite | 1.9 | 19.2\n\n## Limitations\n\nThis library is for projects which need to generate large spreadsheets, quickly, for the purposes of data exchange, and\nso it intentionally only supports a tiny subset of SpreadsheetML specification:\n\n * No styling or themes\n * Only strings, numbers, booleans and dates are supported cell types\n\nIf you need to do anything fancier then take a look at [xlxswriter](https://xlsxwriter.readthedocs.io/) and\n[openpyxl](https://openpyxl.readthedocs.io/).\n\n## Development\n\nTo run all tests:\n\n```\npy.test xlsxlite -s\n```\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": "http://github.com/nyaruka/xlxslite", "keywords": "excel xlxs", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "xlsxlite", "package_url": "https://pypi.org/project/xlsxlite/", "platform": "", "project_url": "https://pypi.org/project/xlsxlite/", "project_urls": { "Bug Reports": "https://github.com/nyaruka/xlsxlite/issues", "Homepage": "http://github.com/nyaruka/xlxslite", "Source": "https://github.com/nyaruka/xlsxlite/" }, "release_url": "https://pypi.org/project/xlsxlite/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "Lightweight XLSX writer with emphasis on minimizing memory usage.", "version": "0.2.0" }, "last_serial": 5608168, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "dfa68fec7c2275e7d0837362ab005f74", "sha256": "18892ff559dc0858e469fce466f3dc27ec54c7dddca3e94c1d56e9e90f4dc5c2" }, "downloads": -1, "filename": "xlsxlite-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfa68fec7c2275e7d0837362ab005f74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6330, "upload_time": "2018-06-14T15:35:23", "url": "https://files.pythonhosted.org/packages/b2/ee/668bf21f803d618c048be48c81b70c0e85460129ec56c6cae74715a6d616/xlsxlite-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21f7ced91f659dbe8ad763d179737c58", "sha256": "0001f8cfe2b8be5cb697bf4c24dac067d2bef30f1d7b45756696429be28ac369" }, "downloads": -1, "filename": "xlsxlite-0.0.1.tar.gz", "has_sig": false, "md5_digest": "21f7ced91f659dbe8ad763d179737c58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5121, "upload_time": "2018-06-14T15:35:24", "url": "https://files.pythonhosted.org/packages/6d/2c/e8705c52fbd523395e4f885749cd0ec12befb1163c6ad04a44540328981f/xlsxlite-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "019e78ac64faf76578a70ed42ba4a111", "sha256": "bddbd2314343c7f90534fea96d1daa697e68e233303c6ac9ec5a6886d33bc136" }, "downloads": -1, "filename": "xlsxlite-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "019e78ac64faf76578a70ed42ba4a111", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6992, "upload_time": "2018-06-14T16:43:15", "url": "https://files.pythonhosted.org/packages/e5/7a/4eeafa9c0c17f9f6049f54821337f2ce476d36e3656bd11bf92ea11f31c0/xlsxlite-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15da53cdca21bbfbee9eb160dc75d30b", "sha256": "c4d0a50313874e9dcd9b8a24b1d0026a5e9440428568baed5974e0d1d57711a6" }, "downloads": -1, "filename": "xlsxlite-0.1.0.tar.gz", "has_sig": false, "md5_digest": "15da53cdca21bbfbee9eb160dc75d30b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5710, "upload_time": "2018-06-14T16:43:16", "url": "https://files.pythonhosted.org/packages/9d/f3/f9931bf3b0ed85589dd38759801d82bea3340ae2d7fb3940b6bb208e3462/xlsxlite-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2a9a1066d961419d566b6e67d7a08793", "sha256": "b8710cc9f30b612fd2505e2c5be85751ae262a3f1c9636e0671351f54e127ebe" }, "downloads": -1, "filename": "xlsxlite-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2a9a1066d961419d566b6e67d7a08793", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12367, "upload_time": "2018-06-15T18:33:16", "url": "https://files.pythonhosted.org/packages/94/16/dc0038deea1ff34bf98235e838e69a57094d64d8c5f5337f04cb028db384/xlsxlite-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5ca5f41894fbfeb16918a627cda4086", "sha256": "904f01591b34e902bf2d1e3e1d77e4364eabad96258263e894484925e1937970" }, "downloads": -1, "filename": "xlsxlite-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e5ca5f41894fbfeb16918a627cda4086", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6981, "upload_time": "2018-06-15T18:33:18", "url": "https://files.pythonhosted.org/packages/a4/2c/9fbcd4ef611340fa61eb95936efa278d7cb6bcb04499990d91b515c62854/xlsxlite-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2a9a1066d961419d566b6e67d7a08793", "sha256": "b8710cc9f30b612fd2505e2c5be85751ae262a3f1c9636e0671351f54e127ebe" }, "downloads": -1, "filename": "xlsxlite-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2a9a1066d961419d566b6e67d7a08793", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12367, "upload_time": "2018-06-15T18:33:16", "url": "https://files.pythonhosted.org/packages/94/16/dc0038deea1ff34bf98235e838e69a57094d64d8c5f5337f04cb028db384/xlsxlite-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5ca5f41894fbfeb16918a627cda4086", "sha256": "904f01591b34e902bf2d1e3e1d77e4364eabad96258263e894484925e1937970" }, "downloads": -1, "filename": "xlsxlite-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e5ca5f41894fbfeb16918a627cda4086", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6981, "upload_time": "2018-06-15T18:33:18", "url": "https://files.pythonhosted.org/packages/a4/2c/9fbcd4ef611340fa61eb95936efa278d7cb6bcb04499990d91b515c62854/xlsxlite-0.2.0.tar.gz" } ] }