{ "info": { "author": "Matthew Levy", "author_email": "matt@webkolektiv.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "pyloaders\n=========\n\nBasic animated ASCII loaders for Python scripts.\n\n- Spinning Loader\n- Text Loader\n- Bar Loader\n- Progress Loader\n\n## Installation\n\n```bash\npip install pyloaders\n```\n\n#### From Source\n\n```bash\ngit clone https://gitlab.com/ml394/pyloaders.git\ncd pyloaders\npython setup.py install\n```\n\n## Usage\n\nAll loaders are declared by calling `LoaderClass()`\n\n#### Arguments\n\n| Option | Description | Type | Choices | Default | Valid For |\n|---------------|-------------------------------------|-------|--------------------------|-----------|---------------------|\n| text | Text displayed while loading | str | | 'Loading' | Text, Spinning |\n| size | Full width of loader | str | small, medium, large | 'medium' | Text, Bar, Progress |\n| character | ASCII value used in loader | str | . = * > ~ # @ $ + ! ? , | '.' / '=' | Text, Bar, Progress |\n| speed | Time between loader paints | float | | .25 | Text, Spinning, Bar |\n| duration | Runtime of fixed loader, in seconds | int | | 10 | Text, Spinning, Bar |\n| direction | Initial direction of moving loader | str | ltr, rtl | 'ltr' | Text, Bar |\n| animation | Continuous or oscillating movement | str | loop, bounce | 'loop' | Text, Bar |\n| colour | Terminal colour support required | str | blue, green, yellow, red | None | ALL |\n| style | Terminal styles support required | str | header, bold, underline | None | ALL |\n| complete_text | Text displayed after loader ends | str | | 'Done!' | ALL |\n| start | Progress loader start position | int | | 0 | Progress |\n| total | Progress loader total count | int | | 100 | Progress |\n\n### Indeterminate\n\n**Available Classes:** SpinningLoader, TextLoader, BarLoader\n\nRun as threads which can be started and stopped dynamically by you at any stage.\n- To start a loader, call its `start()` method.\n- After you have completed your tasks, call the loader's `stop()` method to terminate the thread.\n- If you have set a fixed _duration_ of the loader, call the `run()` method to run the loader for the set amount of time.\n\n#### Threaded\n```python\nfrom loaders import TextLoader\n\nloader = TextLoader()\nloader.start()\n# Perform some tasks\nloader.stop()\n```\n\n#### Fixed Duration\n```python\nfrom loaders import TextLoader\n\nfixed_loader = TextLoader(duration=10)\nfixed_loader.run() # Pauses program execution and runs loader for 10s\n```\n\n**Output**\n```\n/ Loading... # SpinningLoader\n\n.....Loading... # TextLoader\n\n| ====== | # BarLoader\n```\n\n**Remember**: Don't try to start more than one loader at the same time!\n\n### Determinate\n\n**Available Classes:** ProgressLoader\n\nUsed to measure the completion progress of a loop or function.\n\nWhen you initialize a `ProgressLoader` object, you should specify the total number of iterations that will be performed in your loop as the `total` argument.\n\nOn each iteration, call the loader's `progress(n)` method, where `n` is the current iteration count, to update the progress bar in the terminal.\n\n```python\nfrom loaders import ProgressLoader\n\nloader = ProgressLoader(total=10)\nfor i in range(10):\n # Perform some task each loop\n loader.progress(i)\n```\n\n**Output**\n```\n|========== | 50%\n```\n\n**Remember:** Don't print anything to the console while the loader is running!\n\n## Tests\n\nThere is a small test suite that uses the **pytest** module.\n1. Clone the repository\n2. Install pytest and dependencies\n3. Run pytest from project folder\n\n```bash\ngit clone https://gitlab.com/ml394/pyloaders.git\ncd pyloaders\npip install -r requirements.txt\npytest\n```\n\n### Examples\n\nAn visual example can be performed by running `example.py` from the project directory.\n\nThis will run a suite of example loaders specified in the file for 5s each. By default, the indeterminate examples are run on fixed durations. To run them as threads, use the optional `thread` argument.\n\n```bash\n# Fixed duration\npython example.py\n\n# Threaded\npython example.py thread\n```\n\n## Contributing\n\nTo contribute to this project, clone master and create your own development branch.\n```bash\ngit clone https://gitlab.com/ml394/pyloaders.git\ngit checkout -b \n```\n\nPush your branch remotely, and create a merge request to master so we can review your code.\n\nIf the merge request is approved, your new feature will be merged and pushed for the next release.\n\n### To Do\n\n- [x] Loader colours / styles\n- [x] CI/CD Pipeline\n- [ ] API Documentation\n- [ ] Print output while loader running\n\n## Donate\n\nBTC donations (no matter how tiny) accepted at wallet address:\n\n`1PSWQrgbagNARvtum6pGS7rPUub4YiLmzX`\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://gitlab.com/ml394/pyloaders.git", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "pyloaders", "package_url": "https://pypi.org/project/pyloaders/", "platform": "", "project_url": "https://pypi.org/project/pyloaders/", "project_urls": { "Homepage": "https://gitlab.com/ml394/pyloaders.git" }, "release_url": "https://pypi.org/project/pyloaders/0.0.4/", "requires_dist": null, "requires_python": "", "summary": "Basic animated ASCII loaders for Python scripts", "version": "0.0.4" }, "last_serial": 5685164, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "91c57269fff8fba9fa62b0ae74920ead", "sha256": "7dfba78c966b4b2f3f47dc608e849352a71bfe1591593f0853ac5175b9954260" }, "downloads": -1, "filename": "pyloaders-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "91c57269fff8fba9fa62b0ae74920ead", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17578, "upload_time": "2019-01-14T00:01:47", "url": "https://files.pythonhosted.org/packages/14/e5/d9a8d41944dde82d266da170f667afde539081e6ae864ec148e10e21878c/pyloaders-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e8e6602580546ad760bc1e52a95a84d", "sha256": "908041ebf124c48b55e8b0accdde530a997d97110738a7cc2f0a757ed615ce99" }, "downloads": -1, "filename": "pyloaders-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6e8e6602580546ad760bc1e52a95a84d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5086, "upload_time": "2019-01-14T00:01:49", "url": "https://files.pythonhosted.org/packages/d8/69/d22ddb5114251b6d1f77269c2cb5f3ebe65b82f207850a031b4e88f2898b/pyloaders-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "0231d38ddf73a1fc054fe1783438f0d9", "sha256": "83c56b07cc9f615947144afdb667f4d30286869c410189a878b8fc26dc4f352a" }, "downloads": -1, "filename": "pyloaders-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0231d38ddf73a1fc054fe1783438f0d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17677, "upload_time": "2019-01-14T23:10:11", "url": "https://files.pythonhosted.org/packages/24/51/cc9dba6c1407f90eb2ad1541919ee606a9dd907ee6e81a728dfdab57eb86/pyloaders-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "378f44f93dd98c77021a0634a5e09b6d", "sha256": "e2f984b98ef87dda596c621969510d2ebb0538fe9d323e67fbd2b0f1f5ad93d3" }, "downloads": -1, "filename": "pyloaders-0.0.2.tar.gz", "has_sig": false, "md5_digest": "378f44f93dd98c77021a0634a5e09b6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5205, "upload_time": "2019-01-14T23:10:13", "url": "https://files.pythonhosted.org/packages/96/4d/e85856097b3e1d6d150b324d17ef493943108211a196a15e3312383b0a10/pyloaders-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "89e5418ccd472135769207510ba124d7", "sha256": "986bc67dd17d30c6724e0b9834c7422c1bfb9a20ec7d5e3c4502b7a92fd8928e" }, "downloads": -1, "filename": "pyloaders-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "89e5418ccd472135769207510ba124d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18589, "upload_time": "2019-08-16T00:16:33", "url": "https://files.pythonhosted.org/packages/03/26/6fb27f10dec4061fc956be2f71b297d8ae500dae84abb528d60e752663d5/pyloaders-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0187d83a2ac8a7b0287677584bf85280", "sha256": "4b82db8ad9250e383469e7b377d76910c8d0f8a7e408814544e7b70caa314525" }, "downloads": -1, "filename": "pyloaders-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0187d83a2ac8a7b0287677584bf85280", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6111, "upload_time": "2019-08-16T00:16:34", "url": "https://files.pythonhosted.org/packages/a3/7a/055e13ecf863518da39932d09ce3b241c7a7e64a92def23d1ed49eb02e1a/pyloaders-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ef690fe95d9dcbf055c89272d3fcc243", "sha256": "0aa3a72e4dfe47dfc3795bd002e24a213c5636a87f1b11b5d7bdce5ec4c9b9bb" }, "downloads": -1, "filename": "pyloaders-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ef690fe95d9dcbf055c89272d3fcc243", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18604, "upload_time": "2019-08-16T01:15:01", "url": "https://files.pythonhosted.org/packages/f8/e2/bfe5c4312edf140441deb2db5dc3f3eba54164d434f7b942bfff520a7e33/pyloaders-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33cdef85d942a98e3e02a908817e70dd", "sha256": "ec32189e47d9665b47b290239513a0e10b1d1a5e5010209ef59bfd39042baf6b" }, "downloads": -1, "filename": "pyloaders-0.0.4.tar.gz", "has_sig": false, "md5_digest": "33cdef85d942a98e3e02a908817e70dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6135, "upload_time": "2019-08-16T01:15:03", "url": "https://files.pythonhosted.org/packages/63/15/d32986495e70f9cf64d0e23d9f9f1caaae952f75547db966da831ee70599/pyloaders-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef690fe95d9dcbf055c89272d3fcc243", "sha256": "0aa3a72e4dfe47dfc3795bd002e24a213c5636a87f1b11b5d7bdce5ec4c9b9bb" }, "downloads": -1, "filename": "pyloaders-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ef690fe95d9dcbf055c89272d3fcc243", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18604, "upload_time": "2019-08-16T01:15:01", "url": "https://files.pythonhosted.org/packages/f8/e2/bfe5c4312edf140441deb2db5dc3f3eba54164d434f7b942bfff520a7e33/pyloaders-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33cdef85d942a98e3e02a908817e70dd", "sha256": "ec32189e47d9665b47b290239513a0e10b1d1a5e5010209ef59bfd39042baf6b" }, "downloads": -1, "filename": "pyloaders-0.0.4.tar.gz", "has_sig": false, "md5_digest": "33cdef85d942a98e3e02a908817e70dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6135, "upload_time": "2019-08-16T01:15:03", "url": "https://files.pythonhosted.org/packages/63/15/d32986495e70f9cf64d0e23d9f9f1caaae952f75547db966da831ee70599/pyloaders-0.0.4.tar.gz" } ] }