{ "info": { "author": "Hugo Chauvet", "author_email": "hugo.chauvet@protonmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: Editors :: Vector-Based", "Topic :: Multimedia :: Graphics :: Presentation", "Topic :: Text Processing", "Topic :: Text Processing :: Markup :: HTML", "Topic :: Text Processing :: Markup :: LaTeX" ], "description": "# Beampy [![Build Status](https://travis-ci.com/hchauvet/beampy.svg)](https://travis-ci.com/hchauvet/beampy) [![codecov](https://codecov.io/gh/hchauvet/beampy/graph/badge.svg)](https://codecov.io/gh/hchauvet/beampy) ![pypi python version](https://img.shields.io/pypi/pyversions/beampy-slideshow.svg) ![pypi licence](https://img.shields.io/pypi/l/beampy-slideshow.svg) ![pypi download](https://img.shields.io/pypi/dm/beampy-slideshow.svg) ![pypi beampy version](https://img.shields.io/pypi/v/beampy-slideshow.svg)\n\nBeampy is a python tool to create slide-show in svg that can be displayed with HTML5\n(tested on Firefox and Chromium)\nThe size of slides is fixed, like in a Latex Beamer document.\n\nBeampy presentation output only one html file with every contents embedded.\n\n* [See Beampy documentation](https://hchauvet.github.io/beampy/)\n* [See a Beampy tests presentation](https://rawgit.com/hchauvet/beampy/master/examples/beampy_tests.html) (source is in *examples/beampy_tests_modules.py*)\n\n## Install:\n\nFrom Python Package Index:\n\n```bash\npip install beampy-slideshow\n```\n\n[See full installation documentation](https://hchauvet.github.io/beampy/install.html#beampy-install)\n\n## A quick example :\n\n```python\nfrom beampy import *\n\ndoc = document()\n\nwith slide():\n maketitle('Beampy a tool to make simple presentation', ['H. Chauvet'])\n\nwith slide('Beampy test'):\n text(r'\\href{#0}{Go to Title}')\n text(r'Use LaTeX to render text and $$\\sqrt{10}$$', align='center')\n\nwith slide('Beampy test with animated layers'):\n text(r'\\href{#0}{Go to Title}')[:]\n text(r'Use LaTeX to render text and $$\\sqrt{10}$$', align='center')[1]\n\nsave('./simple_one.html')\n\n#To save in pdf just change the above command to the following\n#save('./simple_one.pdf')\n```\n\n[beampy_presentation.html](https://cdn.rawgit.com/hchauvet/beampy/master/examples/simple_one.html)\n\n\n\n## Change log:\n\n### 0.5.5\n* Fix important issues with encoding for python 2 and 3.\n* Fix problems with missing references in svg generated by dvisvgm\n (seed issue [#18](https://github.com/hchauvet/beampy/issues/18) for\n the whole story), which creates missing part of latex stuff in the\n svg.\n* Better management of the temporary files\n* Update scour (svg optimizer to it's last version)\n\n### 0.5.4\n\n* Beampy is now python 3 and 2 compatible (at least 2.7 and 3.7) !\n* Introduce integrated testing with pytest framework (still no unit-tests of the core functions of beampy)\n* Fix bug when save multiple format at the same time, no more duplication of texts [issue #13](https://github.com/hchauvet/beampy/issues/13)\n* Add mode logging.debug outputs\n* Add option to specify the location of the presentation source file ( doc = document(source_filename=__name__) )\n\n### 0.5.3\n\nSome minor fix:\n* Fix bug in layer propagation for box\n* Fix bug when last layer is set as [n:]\n* Start using logging.debug in modules\n\n### 0.5.2\n\n* Fix bug with dvisvgm output for tikz dvi (function latex2svg has now\n an option to write the svg produced by dvisvgm).\n* Add tableofcontents modules [See documentation](https://hchauvet.github.io/beampy/auto_examples/plot_TOC.html).\n* Add a BeamerFrankfurt theme [See documentation](https://hchauvet.github.io/beampy/auto_themes/theme_BeamerFrankfurt.html).\n* Figure module accepts animated gif.\n* Extra latex packages could be added to text module with the\n \"extra_packages\" argument.\n* Compute svg rectangle and circle size which improve the rendering\n speed (no need to call Inkscape).\n* Improve box module (it is now a subclass of group) [See documentation](https://hchauvet.github.io/beampy/auto_examples/plot_box.html).\n* Correct some scale factors in the convert_unit function.\n* Width and height are now Length objects and accept complex\n operations like:\n\n ```python\n\n # 50% of the currentwidth \n a = rectangle(width='50%', height=10)\n\n # width/height relative to the a element\n b = rectangle(width=a.width/2+'2cm', height=a.height/'10pt')\n ```\n\n* module position (x,y) operation now accept Length objects (width/height):\n\n ```python\n\n a = rectangle(width='50%', height=10)\n\n b = rectangle(x=a.width+'2cm', y=a.height+5)\n ```\n\n* Change the core of beampy to render elements when needed for\n operation on position or length (i.e. when you make an operation on\n an element width or height that is unknown, the element will be\n rendered to get its size and allow the operation)\n* Add \"zorder\" operation for modules (above/below/last/first) to change\n their overlay order:\n\n ```python\n\n a = rectangle(x='center', y='center', width=50, height=50)\n b = rectangle(x='center', y='center', width=a.height+100,\n height=a.height+100, color='red')\n\n # Make b appears below a\n b.below(a)\n\n #\u00a0equivalent to a.above(b) or a.last() or b.first()\n ```\n\n### 0.5.1\n\n* Fix several bugs in bokeh figures (thx to [Silmathoron](https://github.com/Silmathoron))\n* Fix bokeh figure resizing, it's now use the \"sizing_mode = scale_both\" from bokeh and revert the css transform scaling for the bokeh div.\n* Fix javascript loader for bokeh (new bokeh version (>0.12.6) named their main div \"bk_root\")\n* Add function to cache file in beampy cache class\n* Cache javascript external libraries files from bokeh (download from their CDN, if \"doc = document(cache=False)\")\n\n\n### 0.5.0\n* Add box function to decorate group\n* New experimental way to write text inside presentation using context manager\n\n ```python\n with text(width=400):\n \"\"\"\n Any comment inside the context manager will be passed to the\n text function as input argument. This allows clearer source\n when writing long texts.\n\n No more need to add an *r* before to protect the text passed to\n latex, it's now automatically added.\n \"\"\"\n ```\n\n* Correct bug when only html object are present in one slide\n* Correct small typos in the install section of the documentation.\n\n### 0.4.9\n\n* First draf of [Beampy documentation](https://hchauvet.github.io/beampy/)\n* Add documentation in Beampy module\n* Add 'anchor' key to position dictionary to define anchor along the\n bounding-box of module to place them.\n* Add utils.py to store functions that call beampy modules. \n* Add function **bounding_box(module)** to utils.py to draw bounding box with\n anchors around Beampy modules. Add also a function to draw axes on slide,\n **draw_axes()**\n\n### 0.4.8\n\n* Partially fix issue #12.\n* Clean code syntaxe. \n\n### 0.4.7\n\n* Introduce layer mechanism. Slide elements can be animated by layers allowing mechanism like beamer \"\\only\".\n The layer are managed as python slicing on Beampy modules.\n\n ```python \n with slide('Test layers'):\n text('First printed on layer 0')\n text('Secondly printed on layer 1')[1]\n text('Printed from layer 2 to 3')[2,3]\n text('Printed on all layers')[:]\n text('Printed on layer 4')[4]\n\n with group(width=300)[2:]:\n text('Printed inside group')\n text('for layers 2 to end')\n ```\n\n\n### 0.4.6\n\n* The core of Beampy slide processor has been rewritten and now allows recursive group of elements.\n\n ```python\n with group():\n text('toto')\n with group(width=300):\n text('tata')\n\n with group(width=200):\n figure('./niceplot.pdf')\n text('nice legend')\n ```\n\n* If a group width is given all elements in groups without specified width take the width of the group\n\n ```python\n with group(width=200):\n figure('./niceplot.pdf')\n text('nice legend')\n # Figure and text width will be automatically set to 200 px\n ```\n\n* Relative placement now could be done on auto positioned elements\n\n ```python\n t0 = text('toto')\n text('tata', x=t0.center + center(0), t0.bottom + 0.1)\n ```\n\n* Video now could use external links (with *embedded=True*) rather than be included in the html file.\n The video is loaded from disk (be careful with file path) when the slide is displayed on screen.\n\n### 0.4.5\n\n* All texts are preprocessed in a single latex file (Latex is called only once: improve compilation time)\n* Cache bug fix: Video and svg are now cached correctly\n\n### 0.4.4\n\n* Improve cache: one file per element cached (don't write the cache twice!)\n* Svg: Add line and rectangle commands to easily draw lines and rectangles\n* Relative placement: add shortcut center(shift), right(shift) and bottom(shift) \n to change the anchor of the current element.\n\n ```python \n e1 = text('Somthing', x=0.2, y=0.4)\n e2 = text('An other thing', \n x=e1.left + right(0.1), \n y=e1.center + center(0))\n ```\n\n\n### 0.4.3\n\n* Matplotlib figures can now be directly passed to *figure()* or a list of matplotlib figures can be animated with *animatesvg()*\n* Minor improvement in cache size (content is no more stored in cache file)\n* Update of scour version (svg-optimiser) \n\n### 0.4.2\n* Glyph paths from Latex are now unique (this reduce the number of svg lines in documents)\n* Add *svg* command ton include raw svg in slide\n* Improve the theme flexibility, a background with interactive elements can now be created!\n\n### 0.4.1\n* All slide are now loaded into ram, improve speed\n* Modules are now classes which inherit from a base class \"beampy_module\" in modules/core.py\n* cache is now unique for all format (pdf, svg, html) and special keys can be added\n to modules in order to create their chache id\n\n## Installation\n\n[See Beampy documentation install page](https://hchauvet.github.io/beampy/install.html)\n\n\n\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": "https://github.com/hchauvet/beampy", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "beampy-slideshow", "package_url": "https://pypi.org/project/beampy-slideshow/", "platform": "", "project_url": "https://pypi.org/project/beampy-slideshow/", "project_urls": { "Homepage": "https://github.com/hchauvet/beampy" }, "release_url": "https://pypi.org/project/beampy-slideshow/0.5.5.post1/", "requires_dist": [ "beautifulsoup4", "pillow", "six", "lxml" ], "requires_python": "", "summary": "A python tool to create simple HTML5 presentation slideshow", "version": "0.5.5.post1" }, "last_serial": 5499297, "releases": { "0.5.2": [ { "comment_text": "", "digests": { "md5": "6a3c392c223848a8bb71f584c12e7b09", "sha256": "922e65a038315794f8909c6516a34701a4ea55cd40dad2cad3b41ea3dbf0cb84" }, "downloads": -1, "filename": "beampy_slideshow-0.5.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6a3c392c223848a8bb71f584c12e7b09", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 693520, "upload_time": "2019-01-31T18:10:19", "url": "https://files.pythonhosted.org/packages/c7/67/e1db30a40639a377991e0dbab77453597340d0b40f6024a5ef5d74c5eeaf/beampy_slideshow-0.5.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a91aeff9686747cae92d217fc75a839b", "sha256": "7d0a818d9bf6db7b0624cbc01473a0435f62ec03fac5f50d220f133625906670" }, "downloads": -1, "filename": "beampy-slideshow-0.5.2.tar.gz", "has_sig": false, "md5_digest": "a91aeff9686747cae92d217fc75a839b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16387892, "upload_time": "2019-01-31T18:12:28", "url": "https://files.pythonhosted.org/packages/1e/6f/e518ac1cf8be20c8628210985a9aabadaac1071eae7ed5dccaaf798b88b9/beampy-slideshow-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f33b639d05cc3f10cf96769fdb9d36f4", "sha256": "fa1f13c010522ad6ca7fa5c3a78ef36c03d6af3aded45bcf393642b87b8ce3ae" }, "downloads": -1, "filename": "beampy_slideshow-0.5.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f33b639d05cc3f10cf96769fdb9d36f4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 694266, "upload_time": "2019-04-08T19:48:16", "url": "https://files.pythonhosted.org/packages/fa/46/c91e36870c71229545c8148466d3f5a19f670b4855fa3612e3db47cff657/beampy_slideshow-0.5.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9b09f74257358c274f1d5d31d5a1728", "sha256": "c785c52855fd0b77b27f970db700b6a7feadd47ee87b703e59ecedd83d00f94d" }, "downloads": -1, "filename": "beampy-slideshow-0.5.3.tar.gz", "has_sig": false, "md5_digest": "a9b09f74257358c274f1d5d31d5a1728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16333440, "upload_time": "2019-04-08T19:52:33", "url": "https://files.pythonhosted.org/packages/59/a1/152a06b5e463075ceebde50f503104d36de02597a5278cf8ac17f28b56a5/beampy-slideshow-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "3dbb1368ae136f07dc7bfdc22f6e2cc4", "sha256": "8abeee60f8dba2cfa9d8771ad6ba899e070799460f129febe564b4cd5ed595e6" }, "downloads": -1, "filename": "beampy_slideshow-0.5.4-py2-none-any.whl", "has_sig": false, "md5_digest": "3dbb1368ae136f07dc7bfdc22f6e2cc4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 860315, "upload_time": "2019-05-17T18:13:46", "url": "https://files.pythonhosted.org/packages/40/e2/9b2d450614020f3507c206045f9a582de32398b2fa59d532127e905c5d42/beampy_slideshow-0.5.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21b8ca4b8944647cf09f2178e18af667", "sha256": "2f57b8b57d8bbac72459a48be3aaef79f23913768ca1c80c4d6d1536719e4bb5" }, "downloads": -1, "filename": "beampy_slideshow-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "21b8ca4b8944647cf09f2178e18af667", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 859657, "upload_time": "2019-05-17T18:14:00", "url": "https://files.pythonhosted.org/packages/72/50/ac7d290dc877dc7a2a0d2d33ab46c44d5d70127919e9eebd3ed705401705/beampy_slideshow-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72c63a0b4c28848d332d7da5a446f8c2", "sha256": "5c2a7f46c579d983d1e27fd9ed6b3268bd4182597da81c10ca17360994e92ac8" }, "downloads": -1, "filename": "beampy-slideshow-0.5.4.tar.gz", "has_sig": false, "md5_digest": "72c63a0b4c28848d332d7da5a446f8c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17485421, "upload_time": "2019-05-17T18:22:35", "url": "https://files.pythonhosted.org/packages/45/0f/1ddc85bb034241d34700acf8d1a9318a2fbe7d39db0f26709181671d7207/beampy-slideshow-0.5.4.tar.gz" } ], "0.5.5.post1": [ { "comment_text": "", "digests": { "md5": "10e9608d95d7277f6990aa62926423ae", "sha256": "bbd3d7ea65f9528d12641d44dbc6538f4d5d83a163ea2154dfe02445992ab6b2" }, "downloads": -1, "filename": "beampy_slideshow-0.5.5.post1-py2-none-any.whl", "has_sig": false, "md5_digest": "10e9608d95d7277f6990aa62926423ae", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 824196, "upload_time": "2019-07-08T07:16:09", "url": "https://files.pythonhosted.org/packages/f2/27/d02e0655e3abd6d5e3ae42f14b5d803c143fba21ac538837c6c8b0ee1f3c/beampy_slideshow-0.5.5.post1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9e832f74ee554ba4d99278e7037618", "sha256": "34744114e1d6858765a191af68d92e121567d1ffb51aad8303552c1082bf9e2f" }, "downloads": -1, "filename": "beampy_slideshow-0.5.5.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "1f9e832f74ee554ba4d99278e7037618", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 435946, "upload_time": "2019-07-08T07:16:11", "url": "https://files.pythonhosted.org/packages/3b/1b/8515478e3c9806d31964a70e3f37e3b2a9d7991f27e2503aafc7912adca2/beampy_slideshow-0.5.5.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1565c1007673151df987bc1bd496dd9", "sha256": "449d5a428765e444ade59a993d6988e410c12ba5c6a138d811500c6f2e7663b4" }, "downloads": -1, "filename": "beampy-slideshow-0.5.5.post1.tar.gz", "has_sig": false, "md5_digest": "e1565c1007673151df987bc1bd496dd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 408861, "upload_time": "2019-07-08T07:16:22", "url": "https://files.pythonhosted.org/packages/11/6f/40edc2a43365be44808615eec5dd0f8c4c7e8f40d22756fe235214dc8ea4/beampy-slideshow-0.5.5.post1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10e9608d95d7277f6990aa62926423ae", "sha256": "bbd3d7ea65f9528d12641d44dbc6538f4d5d83a163ea2154dfe02445992ab6b2" }, "downloads": -1, "filename": "beampy_slideshow-0.5.5.post1-py2-none-any.whl", "has_sig": false, "md5_digest": "10e9608d95d7277f6990aa62926423ae", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 824196, "upload_time": "2019-07-08T07:16:09", "url": "https://files.pythonhosted.org/packages/f2/27/d02e0655e3abd6d5e3ae42f14b5d803c143fba21ac538837c6c8b0ee1f3c/beampy_slideshow-0.5.5.post1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9e832f74ee554ba4d99278e7037618", "sha256": "34744114e1d6858765a191af68d92e121567d1ffb51aad8303552c1082bf9e2f" }, "downloads": -1, "filename": "beampy_slideshow-0.5.5.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "1f9e832f74ee554ba4d99278e7037618", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 435946, "upload_time": "2019-07-08T07:16:11", "url": "https://files.pythonhosted.org/packages/3b/1b/8515478e3c9806d31964a70e3f37e3b2a9d7991f27e2503aafc7912adca2/beampy_slideshow-0.5.5.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1565c1007673151df987bc1bd496dd9", "sha256": "449d5a428765e444ade59a993d6988e410c12ba5c6a138d811500c6f2e7663b4" }, "downloads": -1, "filename": "beampy-slideshow-0.5.5.post1.tar.gz", "has_sig": false, "md5_digest": "e1565c1007673151df987bc1bd496dd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 408861, "upload_time": "2019-07-08T07:16:22", "url": "https://files.pythonhosted.org/packages/11/6f/40edc2a43365be44808615eec5dd0f8c4c7e8f40d22756fe235214dc8ea4/beampy-slideshow-0.5.5.post1.tar.gz" } ] }