{ "info": { "author": "Andrew Nadolski", "author_email": "andrew.nadolski@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3" ], "description": "[![Build \nStatus](https://travis-ci.org/anadolski/apytl.svg?branch=master)](https://travis-ci.org/anadolski/apytl)\n[![codecov](https://codecov.io/gh/anadolski/apytl/branch/master/graph/badge.svg)](https://codecov.io/gh/anadolski/apytl)\n# Another Python Terminal Logger\n\nHere it is: another python terminal logger---apytl.\n\nThis implementation uses only the standard Python library and supports unicode \nemojis. If you've ever wanted a progress bar that fills with piles of poop, \neggplants, or extended middle fingers, then you're in the right place.\n\n# Installation\n## `pip`\nI've attempted to make this easy. You should be able to use `pip` to install the \npackage by running:\n\n```console\npip install apytl\n```\n\nRight now the package is only released for Python >=3.5. If `pip` complains \nabout not finding a version, you can either try upgrading Python, or build from \nsource.\n\n## Building from source\nYou may install from source by either downloading the files from PyPI \n[(here)](https://pypi.org/project/apytl/#files) or cloning the git repository:\n\n```console\ngit clone https://github.com/anadolski/apytl.git\n```\n\nIf this is the first time you're installing the package, all you should need to \ndo is `cd` to the source directory (i.e., the one containing `setup.py`) and \nrun:\n\n```console\npython setup.py build\npython setup.py install --user --record ./.installed_files.txt\n```\n\nIf you re-clone the repo (or `git pull` or otherwise update the source code), \nyou will need to reinstall to take advantage of all the fun new features. And \nbugs. Let's not forget those bugs. To reinstall---again, from the source \ndirectory---run:\n\n```console\nrm $(cat ./.installed_files.txt)\n```\n\n(Note: This command will attempt to delete every entry in \n`.installed_files.txt`, so use with caution. Ensure there isn't anything \nimportant hiding in that file.)\n\nTo reinstall, simply run the `build` and `install` commands mentioned at the \nbeginning of the section.\n\n# Use\nYou can use the progress bar for iteration tracking. All the function needs to \nknow is the total number of iterations in the loop, and the iteration that it is \ncurrently on. Just drop the `apytl.Bar().drawbar()` function inside your loop \nand pass it those parameters. Here's a minimal example:\n\n```python\nimport time\nimport apytl\n\ntotal_iterations = 25\nwait = 0.1\n\nfor index, value in enumerate(range(total_iterations)):\n # Your code goes here, then we draw the progress bar\n apytl.Bar().drawbar(value, total_iterations)\n time.sleep(wait)\n```\n\nBut you probably want emojis, so do this instead:\n\n```python\nimport time\nimport apytl\n\ntotal_iterations = 25\nwait = 0.1\n\nfor index, value in enumerate(range(total_iterations)):\n # Your code goes here, then we draw the progress bar\n apytl.Bar().drawbar(value, total_iterations, fill='poop')\n time.sleep(wait)\n```\n\nTa-da! Poop all over your terminal (assuming the combination of your display \nmanager, terminal emulator, and font supports it).\n\n`apytl.Bar().drawbar()` accepts some customization options; see the docstring \nfor complete details. Here are a couple highlights:\n * `fill`: takes arbitrary single-character alphanumeric input, or an arbitrary \n Python-formatted unicode emoji (of the form `\\\\UXXXXXXXX` or `\\\\uXXXX`), or \n one of a few preset options listed in the docstring.\n * `barsize`: takes an integer and sets the size of the filling region.\n\n# Development\nThis package is an alpha release and under active development. That means that I \nfix bugs and create new ones approximately whenever I feel like it.\n\nThe `master` branch is the most stable version of the package, with primary \ndevelopment happening on `dev`.\n\nPull requests and issue tickets are both welcomed and encouraged. Please put \nspecific emoji requests into issue tickets (for now).\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/anadolski/apytl", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "apytl", "package_url": "https://pypi.org/project/apytl/", "platform": "Linux", "project_url": "https://pypi.org/project/apytl/", "project_urls": { "Homepage": "https://github.com/anadolski/apytl" }, "release_url": "https://pypi.org/project/apytl/0.0a7/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A bawdy, emoji-friendly progress bar.", "version": "0.0a7" }, "last_serial": 5327172, "releases": { "0.0a1": [ { "comment_text": "", "digests": { "md5": "2678d99251d89fc1ec1bf5f47b78cff5", "sha256": "bb0ab204ea5dcb7b2f3e1f99687f9faa8834bda3b64d1968d73353a1d46a511a" }, "downloads": -1, "filename": "apytl-0.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "2678d99251d89fc1ec1bf5f47b78cff5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4304, "upload_time": "2019-05-24T03:33:22", "url": "https://files.pythonhosted.org/packages/f4/6b/67edf29e7bc33404af87eb9bd0451577cfbaeb1db2489ef2f6ab4d0959f9/apytl-0.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9307b6131ac5852209722d1f618b219", "sha256": "f4ec1e89cb9460a4cbe57bea889220b85db67a407ac4e7a0251db145ee9c5f13" }, "downloads": -1, "filename": "apytl-0.0a1.tar.gz", "has_sig": false, "md5_digest": "f9307b6131ac5852209722d1f618b219", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3426, "upload_time": "2019-05-24T03:33:24", "url": "https://files.pythonhosted.org/packages/ee/ea/31b7c1026a076f843066757373fdfc23ebc48a714ac50eec9e5dd18c7928/apytl-0.0a1.tar.gz" } ], "0.0a2": [ { "comment_text": "", "digests": { "md5": "11973402f6ddea21368d32e0c57c5543", "sha256": "a5476f5ca9fb32e232fe1c9d881be603ef35dc6bffe854191b707d324caa1385" }, "downloads": -1, "filename": "apytl-0.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "11973402f6ddea21368d32e0c57c5543", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4460, "upload_time": "2019-05-24T03:38:08", "url": "https://files.pythonhosted.org/packages/67/99/3039d6b110c97152a02427dcdfe607a7b16cb376bf684b77e1e6ef13bd09/apytl-0.0a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22067d6ccbffe78bf1f8bd07e2c4421e", "sha256": "88e806b8cd9e841401d7791c91566cbb174bfa359b14b7e514f67f4194b25b60" }, "downloads": -1, "filename": "apytl-0.0a2.tar.gz", "has_sig": false, "md5_digest": "22067d6ccbffe78bf1f8bd07e2c4421e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3434, "upload_time": "2019-05-24T03:38:10", "url": "https://files.pythonhosted.org/packages/b5/90/87e6ec7f8a1ad71ed66b123d65da56ae94ee95a369ca2fb711ffefee7d07/apytl-0.0a2.tar.gz" } ], "0.0a3": [ { "comment_text": "", "digests": { "md5": "f648851446cf89a8b996af2f1df8a34a", "sha256": "a0cbad22f65a91b18e034f0c80d70971fe43ac13fd71e48e3792b94f0fd34325" }, "downloads": -1, "filename": "apytl-0.0a3-py3-none-any.whl", "has_sig": false, "md5_digest": "f648851446cf89a8b996af2f1df8a34a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4909, "upload_time": "2019-05-24T04:16:05", "url": "https://files.pythonhosted.org/packages/b6/30/926b7660379a2e24038708fa688ab155536aedabaf386b619f7ce2aef41b/apytl-0.0a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdbe625641a7ab38354a1f08e8cdca0e", "sha256": "dc8c7a40f3df4dae0ff727feadedc7615b7f4850ecc7c3d40f21d4ef3caf5a19" }, "downloads": -1, "filename": "apytl-0.0a3.tar.gz", "has_sig": false, "md5_digest": "cdbe625641a7ab38354a1f08e8cdca0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3650, "upload_time": "2019-05-24T04:16:08", "url": "https://files.pythonhosted.org/packages/0f/a2/d48c96d0f4f4e8f7f4d38914071455bf0bee86b3d171e9130b42ac5abe0a/apytl-0.0a3.tar.gz" } ], "0.0a4": [ { "comment_text": "", "digests": { "md5": "ffaf94bcee649110d24ddc3901d65865", "sha256": "b90b0011349725c783eb5ffb4e7edcabb545b424398fe663a8094c16576d079f" }, "downloads": -1, "filename": "apytl-0.0a4-py3-none-any.whl", "has_sig": false, "md5_digest": "ffaf94bcee649110d24ddc3901d65865", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6375, "upload_time": "2019-05-24T16:35:40", "url": "https://files.pythonhosted.org/packages/f8/86/39ae89b35ea0dd8332f38f14ea72bc94b0a393a8c82f71cab7fca91675fa/apytl-0.0a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67e31ca765f401c42f4cb51f7573e1b5", "sha256": "166bfb5c02580eccf3116ff18b3531c20977e9d1cb343e5d86a291ae63cc302d" }, "downloads": -1, "filename": "apytl-0.0a4.tar.gz", "has_sig": false, "md5_digest": "67e31ca765f401c42f4cb51f7573e1b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5189, "upload_time": "2019-05-24T16:35:45", "url": "https://files.pythonhosted.org/packages/63/ab/8671a87b5fdcf9be6c2607f433c14f2075df3f1fd17f49efd6e9e87b800d/apytl-0.0a4.tar.gz" } ], "0.0a5": [ { "comment_text": "", "digests": { "md5": "9cc7e4ccfb1ec21ae055b4131b3c77a1", "sha256": "abeb634c061432b906d549a7474976e9ed349049be323bb8357a4daf346dd0d4" }, "downloads": -1, "filename": "apytl-0.0a5-py3-none-any.whl", "has_sig": false, "md5_digest": "9cc7e4ccfb1ec21ae055b4131b3c77a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6391, "upload_time": "2019-05-24T17:08:09", "url": "https://files.pythonhosted.org/packages/ec/3a/db95aecbde7723ca6449a115a8645daef8bb6c98ed60c5c386272540ee8c/apytl-0.0a5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9530eee0dd516d5c833be5d08b5d8583", "sha256": "d3461571884613f67555d6583df0f96599c0730337085a64e7cef2d2b78a33ff" }, "downloads": -1, "filename": "apytl-0.0a5.tar.gz", "has_sig": false, "md5_digest": "9530eee0dd516d5c833be5d08b5d8583", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5269, "upload_time": "2019-05-24T17:08:11", "url": "https://files.pythonhosted.org/packages/4d/97/64793b2da62bb24a4ef34daa54550915451e2a9b1fc8b059abef37133618/apytl-0.0a5.tar.gz" } ], "0.0a7": [ { "comment_text": "", "digests": { "md5": "6f97e60d689d6b2c0ef7be50b07385b2", "sha256": "627dc9a72e6e5ecc884a33725305573038cd0a59d33e4989c571314d86970215" }, "downloads": -1, "filename": "apytl-0.0a7-py3-none-any.whl", "has_sig": false, "md5_digest": "6f97e60d689d6b2c0ef7be50b07385b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6817, "upload_time": "2019-05-28T15:08:52", "url": "https://files.pythonhosted.org/packages/e6/9d/f2584a14234ee75757e5dff7ff644621264b995f9527771abc2d77e80201/apytl-0.0a7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ae8b0b523c4af5b839b447975ec6cd4", "sha256": "b7dec277042032bd48b03d6f861a4aa6b925e65ca49547611f1ab96f58464a96" }, "downloads": -1, "filename": "apytl-0.0a7.tar.gz", "has_sig": false, "md5_digest": "0ae8b0b523c4af5b839b447975ec6cd4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5631, "upload_time": "2019-05-28T15:08:54", "url": "https://files.pythonhosted.org/packages/16/54/6a7052567b589260b01caa4fc22f156071af48a24652585002f29fd70fd1/apytl-0.0a7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6f97e60d689d6b2c0ef7be50b07385b2", "sha256": "627dc9a72e6e5ecc884a33725305573038cd0a59d33e4989c571314d86970215" }, "downloads": -1, "filename": "apytl-0.0a7-py3-none-any.whl", "has_sig": false, "md5_digest": "6f97e60d689d6b2c0ef7be50b07385b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6817, "upload_time": "2019-05-28T15:08:52", "url": "https://files.pythonhosted.org/packages/e6/9d/f2584a14234ee75757e5dff7ff644621264b995f9527771abc2d77e80201/apytl-0.0a7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ae8b0b523c4af5b839b447975ec6cd4", "sha256": "b7dec277042032bd48b03d6f861a4aa6b925e65ca49547611f1ab96f58464a96" }, "downloads": -1, "filename": "apytl-0.0a7.tar.gz", "has_sig": false, "md5_digest": "0ae8b0b523c4af5b839b447975ec6cd4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5631, "upload_time": "2019-05-28T15:08:54", "url": "https://files.pythonhosted.org/packages/16/54/6a7052567b589260b01caa4fc22f156071af48a24652585002f29fd70fd1/apytl-0.0a7.tar.gz" } ] }