{ "info": { "author": "anqxyr", "author_email": "anqxyr@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "|Build Status| |Coverage Status| |license|\n\nmkepub\n======\n\n**mkepub** is a minimalistic library for creating .epub files.\n\n**Pros:**\n\n- Easy to use, minimalistic API.\n- Automatically generated TOC.\n- Support for nested TOC of any depth.\n- Support for embedded images.\n- In-progress books are stored on disk rather than in memory, enabling\n creation of large (5000+ pages, 20+ MiBs) epub files.\n- Adherence to the EPUB3 specs.\n- Support for most of the EPUB metadata, including language, subject,\n description, and rights.\n\n**Cons:**\n\n- No support for custom page filenames or directory structure.\n- No support for reading or editing epub files.\n- No support for font-embedding or most other less commonly used EPUB\n features.\n- No content validation - using broken or unsupported html code as page\n content will lead to mkepub successfully creating a .epub file that\n does not meet EPUB3 specifications.\n- Probably other issues.\n\nBasic Usage\n~~~~~~~~~~~\n\n.. code-block:: python\n\n import mkepub\n\n book = mkepub.Book(title='An Example')\n book.add_page(title='First Page', content='Lorem Ipsum etcetera.')\n book.save('example.epub')\n\nAdvanced Usage\n~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n import mkepub\n\n book = mkepub.Book(title='Advanced Example', author='The Author')\n # multiple authors can be specified as a list:\n # mkepub.Book(title='Advanced Example', authors=['The First Author', 'The Second Author'])\n with open('cover.jpg', 'rb') as file:\n book.set_cover(file.read())\n with open('style.css') as file:\n book.set_stylesheet(file.read())\n\n first = book.add_page('Chapter 1', 'And so the book begins.')\n\n child = book.add_page('Chapter 1.1', 'Nested TOC is supported.', parent=first)\n book.add_page('Chapter 1.1.1', 'Infinite nesting levels', parent=child)\n book.add_page('Chapter 1.2', 'In any order you wish.', parent=first)\n\n book.add_page('Chapter 2', 'Use html to make your text prettier')\n\n book.add_page('Chapter 3: Images', '\"You')\n # as long as you add them to the book:\n with open('chapter3.png', 'rb') as file:\n book.add_image('chapter3.png', file.read())\n\n book.save('advanced.epub')\n\n.. |Build Status| image:: https://travis-ci.org/anqxyr/mkepub.svg?branch=master\n :target: https://travis-ci.org/anqxyr/mkepub\n.. |Coverage Status| image:: https://coveralls.io/repos/github/anqxyr/mkepub/badge.svg?branch=master\n :target: https://coveralls.io/github/anqxyr/mkepub?branch=master\n.. |license| image:: https://img.shields.io/github/license/anqxyr/mkepub.svg?maxAge=2592000\n :target: https://github.com/anqxyr/mkepub/LICENSE", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/anqxyr/mkepub/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mkepub", "package_url": "https://pypi.org/project/mkepub/", "platform": "", "project_url": "https://pypi.org/project/mkepub/", "project_urls": { "Homepage": "https://github.com/anqxyr/mkepub/" }, "release_url": "https://pypi.org/project/mkepub/1.2/", "requires_dist": null, "requires_python": "", "summary": "Simple minimalistic library for creating EPUB3 files", "version": "1.2" }, "last_serial": 4689009, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "a7ae7f438034154c05dd30447c7a1496", "sha256": "9eccf133ab40b610cd3929abf907110d9100b8b52c0a922676816d600094cfb3" }, "downloads": -1, "filename": "mkepub-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a7ae7f438034154c05dd30447c7a1496", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8485, "upload_time": "2016-11-03T16:16:05", "url": "https://files.pythonhosted.org/packages/4f/5c/a58daed9eba7dbc22efa157932ccd11de7c469dde3b1668055265689d1a0/mkepub-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09f57adc49ebd6eea4fcff1ecb5a9f4e", "sha256": "8eee5dd61591148ac210b3a6b52d3383508e70fe50041a57e83c7d3231c1c7e5" }, "downloads": -1, "filename": "mkepub-1.0.tar.gz", "has_sig": false, "md5_digest": "09f57adc49ebd6eea4fcff1ecb5a9f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2016-11-03T16:16:08", "url": "https://files.pythonhosted.org/packages/28/c8/ff6ffa4a4ff1f68379619088c0c3bb6af748fb34467c950b6acd618c2118/mkepub-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d0a65b2b261c6124e7829be5028e8cf9", "sha256": "b9b6bbe1413fcbc1926ad95cec75f21528ec5dad64494c26e69796f09bec489c" }, "downloads": -1, "filename": "mkepub-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d0a65b2b261c6124e7829be5028e8cf9", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 10288, "upload_time": "2017-01-24T08:44:52", "url": "https://files.pythonhosted.org/packages/12/6e/850525272309981bc9f3627fd5faa9b5df10bbac5f7412efa88acf3ee253/mkepub-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4da0145c7ce211cae41b415e31117cf", "sha256": "ae418d32d272ef47561af7382c6e86616ca712646fec44b0777f20cf7dc6907d" }, "downloads": -1, "filename": "mkepub-1.1.tar.gz", "has_sig": false, "md5_digest": "a4da0145c7ce211cae41b415e31117cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5632, "upload_time": "2017-01-24T08:40:59", "url": "https://files.pythonhosted.org/packages/bd/78/0790bce857c55a4cc256f13dd3be331c0e13671a2bd516c9d0bc0a1e22b4/mkepub-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "2d39b405797d5bcc7287482f4c3e750d", "sha256": "6ef8336327c0e15348ed721d9ae16d6746228a7bc4a47360aaad553c2b74602c" }, "downloads": -1, "filename": "mkepub-1.2.tar.gz", "has_sig": false, "md5_digest": "2d39b405797d5bcc7287482f4c3e750d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5774, "upload_time": "2019-01-12T19:14:14", "url": "https://files.pythonhosted.org/packages/fc/2e/138d404f7cb057a3390b9a75dc757e737b40735d48663f9a7160b8a2dcc9/mkepub-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d39b405797d5bcc7287482f4c3e750d", "sha256": "6ef8336327c0e15348ed721d9ae16d6746228a7bc4a47360aaad553c2b74602c" }, "downloads": -1, "filename": "mkepub-1.2.tar.gz", "has_sig": false, "md5_digest": "2d39b405797d5bcc7287482f4c3e750d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5774, "upload_time": "2019-01-12T19:14:14", "url": "https://files.pythonhosted.org/packages/fc/2e/138d404f7cb057a3390b9a75dc757e737b40735d48663f9a7160b8a2dcc9/mkepub-1.2.tar.gz" } ] }