{ "info": { "author": "Ludwig Neste , Max Uetrecht ", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Natural Language :: German", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Education", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Visualization" ], "description": "\n\n# praktipy\n\n![PyPI](https://img.shields.io/pypi/v/praktipy.svg)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/praktipy.svg)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/praktipy.svg)\n![PyPI - License](https://img.shields.io/pypi/l/praktipy.svg)\n![Requires.io](https://img.shields.io/requires/github/The-Ludwig/praktipy.svg)\n\nPraktipy was originally designed as a small toolbox for the [TU Dortmund](https://www.tu-dortmund.de/) physics laboratory course.\n\nIt contains tools for [LaTeX table generation](#handling-tables) from [text files](https://github.com/The-Ludwig/praktipy/blob/master/examples/example_table_visual.txt)\nand [matplotlib](https://matplotlib.org/) functions to generate fitting curve plots.\nThese python files will make your life easier when handling with human readable\ntables in the physik-praktikum at TU-Dortmund (, hopefully).\n\n# Table of Contents\n\n- [praktipy](#praktipy)\n- [Table of Contents](#table-of-contents)\n- [Prerequirements](#prerequirements)\n- [Installation](#installation)\n - [\"But I don't want to install the whole thing\"](#%22but-i-dont-want-to-install-the-whole-thing%22)\n- [Handling tables](#handling-tables)\n - [Generating tables out of text files](#generating-tables-out-of-text-files)\n- [Generating tex tables](#generating-tex-tables)\n- [Manipulating the table](#manipulating-the-table)\n- [Using Matplotlib](#using-matplotlib)\n- [Wildcard imports](#wildcard-imports)\n- [Documentation](#documentation)\n- [Old versions](#old-versions)\n- [Thanks](#thanks)\n\n# Prerequirements\n\n- python `>= 3.6` with pip (other versions untested)\n- some python 3 packages, which will be installed by the install script\n- LaTeX\n\n# Installation\n\n```bash\n# Via pip (preferred)\n$ pip install praktipy\n\n# or manually\n$ git clone https://github.com/The-Ludwig/praktipy.git\n$ python3 setup.py install\n```\n\n## \"But I don't want to install the whole thing\"\n\nIf you don't want to install the whole package on your computer, you can just download the relevant files directly:\n\n- Table handling:\n [praktipy/tablehandler.py](https://github.com/The-Ludwig/praktipy/blob/master/praktipy/tablehandler.py). Just put the file into your currently used directory and import it with \"import tablehandler as th\"\n- Plots: Use [praktiplot.py](https://github.com/The-Ludwig/praktipy/blob/master/praktipy/praktiplot.py) in a similar way.\n\n# Handling tables\n\nIf you have installed the module use\n\n```python\nimport praktipy.tablehandler as th\n```\n\nIf you just downloaded the file\n\n```python\nimport tablehandler as th\n```\n\n## Generating tables out of text files\n\nPraktipy uses 2-dimensional standard python-lists, to represent its lists.\nIt can generate them out of a human readable text file (th.gen_from_txt). That seems very similar to numpy.genfromtxt, but although it is way more inefficient, it much more powerful.\nI can't recommend it to parse very large files (use numpy.genfromtxt for that), but every human readable table should be fine. (See [benchmark](https://github.com/The-Ludwig/praktipy/blob/master/examples/benchmark.ipynb) notebook for details)\n\nWhy gen_from_txt is useful:\n\n- You can have \"**None**\" values in your table. (Holes)\n- You can have **ufloats** in your table. (Write them as \"42.14+-6.5\")\n- You can have **strings** in your table.\n- You can write your table visually. (gen_from_txt(filename, explicit_none=False))\n- You can write your table explicitly. (gen_from_txt(filename, explicit_none=True))\n\n```python\ntable = th.gen_from_txt(\"./path/to/table\")\n# Look what the parser has parsed\nprint(table)\n```\n\nMore detailed information in the source code docstrings and the */examples* directory.\n\n# Generating tex tables\n\nOnce you have an 2 dimensional python list (actually it could be any 2 dimensional iterable), you can very easily make a beautiful .tex table out of it.\n\nWhy gen_tex_table is useful:\n\n- You can direcly **\\input** the generated file.\n- You can split the table into **subtables** automaticly.\n- You can set laTeX **labels** and **captions**.\n- You can set the **precision** per column or globaly.\n\n```python\n# It is that quick.\nth.gen_tex_table(\n table,\n \"/path/to/output/tex/file\",\n tex_caption=\"Put your laTeX caption here\",\n tex_label=\"Put your laTex label here\",\n subtables=2,\n precision=[\"2.3\", 3, \"1.9\"],\n midrule=2\n )\n```\n\nMore detailed information in the source code docstrings and the [examples](https://github.com/The-Ludwig/praktipy/blob/master/examples/) directory.\n\n# Manipulating the table\n\nYou can manipulate the table with all the known python list functions. Ontop of that some functions to make your life easier are provided.\n\n- **Tranposing** table: th.transposed(table)\n- Getting the **data** (numbers) from the table: th.raw_data(table)\n- etc. (look in the module for further information, e.g. dir(th))\n\n# Using Matplotlib\n\nPraktipy will try to set up the matplotlib backend to enable printing of pretty (german number format and nice math-font) plots. If you want to set up matplotlib yourself, just do that before you import anything from praktipy.\n\nOn default, praktipy will try to use a faster LaTeX setup, so your python scripts won't take too long to finish. If you indent to make nice plots and you have a little bit of time, you can use this\n```python\npplot.pretty()\n```\nIf you wan't to go back to the fast version again:\n```python\npplot.fast()\n```\n\n**Important:** Praktipy will set it's [style file](https://github.com/The-Ludwig/praktipy/blob/master/praktipy/praktipy.mplstyle) as default. If you have an existing `matplotlibrc` file, please make sure to merge them together. Apart from the LaTeX support, `axes.formatter.use_locale : True` has to be set, in order to use system locale based decimal separators (e.g. `,` instead of `.` for german)\n\nPraktipy also provides some convenience function,\nfor example to generate nice datapoints ontop of a fitted function.\n\n# Wildcard imports\n\nGenerally you should only import things you need in python. But nontheless it is quite handy to just import everything you need and see some code completion of things you usally need for the internship.\nPraktipy provides that with the wildcard import:\n\n```python\nfrom praktipy import *\n```\n\nThat will import everything you will probably need for the internship.\n\n# Documentation\n\nThe code currently is not very well documented (Allthough tablehandler.py itself provides nice Docstrings).\nYou will find some examples in the [examples](https://github.com/The-Ludwig/praktipy/blob/master/examples/) directory.\n\n# Old versions\nIf you have already written some code with an old version of praktipy (before 2.0), it is very \nlikely that that won't work with the new versions.\n\nI redid the whole code style of praktipy to be a bit more pythonic.\n\nBut fear not! There is an easy trick to access old version of praktipy fro within the new version. Whenever you have written something with praktipy, like\n~~~python\nfrom praktipy import *\n~~~ \njust substitute *praktipy* with *praktipy.legacy* like that\n~~~python\nfrom praktipy.legacy import *\n~~~\nand your code will work without problems.\n\n# Thanks\n\nThanks a lot to [PEP et al.](https://pep-dortmund.org/) for their [Toolbox-Workshop](https://toolbox.pep-dortmund.org/notes.html) and materials they provide. I basicly stole their matplotlib-tex-header!\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/The-Ludwig/praktipy", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "praktipy", "package_url": "https://pypi.org/project/praktipy/", "platform": "", "project_url": "https://pypi.org/project/praktipy/", "project_urls": { "Homepage": "https://github.com/The-Ludwig/praktipy" }, "release_url": "https://pypi.org/project/praktipy/2.1.11/", "requires_dist": [ "matplotlib", "uncertainties", "numpy", "pint", "scipy", "twine ; extra == 'dev'" ], "requires_python": ">=3.6.0", "summary": "A small toolbox for physics laboratory courses at the TU Dortmund.", "version": "2.1.11" }, "last_serial": 5608986, "releases": { "2.1.0": [ { "comment_text": "", "digests": { "md5": "6051ade6021648408c0fd4516e4b1c4c", "sha256": "3e6492c81d239526836d6819cf5c043ccab5e643556b62afd6bb2688711d6db7" }, "downloads": -1, "filename": "praktipy-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6051ade6021648408c0fd4516e4b1c4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 13468, "upload_time": "2019-03-30T16:51:52", "url": "https://files.pythonhosted.org/packages/db/0a/b857a4bc0d58e17ff10f6e7f251dda7a485b81a8f838e395e5e07ffb37df/praktipy-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "772539672bd6c1d99b8ee269c4a1ba7d", "sha256": "65f7c42fe82638cf68316efdee87cba3cf1833dfb07cc518e1e2ec608f840074" }, "downloads": -1, "filename": "praktipy-2.1.0.tar.gz", "has_sig": false, "md5_digest": "772539672bd6c1d99b8ee269c4a1ba7d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 14501, "upload_time": "2019-03-30T16:51:54", "url": "https://files.pythonhosted.org/packages/59/2c/95c3eb659606275c24232885c40c25d8147fe9917b9cd2498cf1804d7f02/praktipy-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "2d63b57886632e6a0c61707777c3cf58", "sha256": "2a406c9bd9bda9c08daad31068fe95bc1fdea5458526fa9094894ecb16f61f44" }, "downloads": -1, "filename": "praktipy-2.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2d63b57886632e6a0c61707777c3cf58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 18894, "upload_time": "2019-04-03T22:22:29", "url": "https://files.pythonhosted.org/packages/25/06/46d106ae1be80bae05c765caa5b2217ff2d445b8e80ac2f6a2be7d856166/praktipy-2.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "250f26266d77bb33a5a15707d69b7fa3", "sha256": "db90c37406c01b367b542b61884056b94e61a6db96222d1f7a64dbda777bbc0a" }, "downloads": -1, "filename": "praktipy-2.1.1.tar.gz", "has_sig": false, "md5_digest": "250f26266d77bb33a5a15707d69b7fa3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17490, "upload_time": "2019-04-03T22:22:31", "url": "https://files.pythonhosted.org/packages/74/c2/3ede51fae7de79882943cae8045486f3881e535fff20c66d392198c2817b/praktipy-2.1.1.tar.gz" } ], "2.1.10": [ { "comment_text": "", "digests": { "md5": "c68b5e885f377dfdd2842570fc4a9f9a", "sha256": "c080d529aa4ddff75aa22bb92a547347016a544210c5cc7f0d1ca93ba7d7f8ee" }, "downloads": -1, "filename": "praktipy-2.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "c68b5e885f377dfdd2842570fc4a9f9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19914, "upload_time": "2019-06-03T08:57:50", "url": "https://files.pythonhosted.org/packages/46/04/86be7ae1cd6ba538a22cbc55e5eb149733cd88fd1ca6e3c19e7e0b64c641/praktipy-2.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80e2387c2c88ab399a30d5d50501a803", "sha256": "548ee0be943ecbe8b927933a000f8214574ee06edeea3cba3cafb6bc6901c76c" }, "downloads": -1, "filename": "praktipy-2.1.10.tar.gz", "has_sig": false, "md5_digest": "80e2387c2c88ab399a30d5d50501a803", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18434, "upload_time": "2019-06-03T08:57:52", "url": "https://files.pythonhosted.org/packages/4e/24/c334463ad376681adc5e674e1ab23f426b16749e0407d83479b5cd03589e/praktipy-2.1.10.tar.gz" } ], "2.1.11": [ { "comment_text": "", "digests": { "md5": "acd179ba0343082ec18ca42daaad2f45", "sha256": "25314fdd582c5feac82be11eb35578ace54ece21040036519d11dfb8d2bcd63e" }, "downloads": -1, "filename": "praktipy-2.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "acd179ba0343082ec18ca42daaad2f45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19831, "upload_time": "2019-07-30T17:37:25", "url": "https://files.pythonhosted.org/packages/04/39/7c0774e9d4bfb631451ecf73753e6f966e85fdf25be0d9a78743cc3207bb/praktipy-2.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd7a2c97c4fa0815a4e1179fc8ec58a4", "sha256": "99ce057172040d4d8007e8cd99f5e4aeea62e14811e474c9b4a1a12f716e9a3b" }, "downloads": -1, "filename": "praktipy-2.1.11.tar.gz", "has_sig": false, "md5_digest": "cd7a2c97c4fa0815a4e1179fc8ec58a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18430, "upload_time": "2019-07-30T17:37:27", "url": "https://files.pythonhosted.org/packages/2b/9b/c22ace85388d6be57897dca20ec21ab5612bcc5f7388ca8055ae5f655242/praktipy-2.1.11.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "fb6a9a155f581751cff4627aec8f8595", "sha256": "c8dcbddfb8e5aa55867870b2db468860c9c03d5d34d7b9c0cd96238ffec757e6" }, "downloads": -1, "filename": "praktipy-2.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "fb6a9a155f581751cff4627aec8f8595", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19569, "upload_time": "2019-04-04T13:12:14", "url": "https://files.pythonhosted.org/packages/87/fe/22d23ea3755f30df326cd0c25fbe07872395471db7222fd45ad440b3f226/praktipy-2.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49f374a6ede15898ccd85c5d15d337aa", "sha256": "9db1b52d5df6db2a5618805299e68ea05d82f1bc306d9cc948bb8b2e3db5b921" }, "downloads": -1, "filename": "praktipy-2.1.2.tar.gz", "has_sig": false, "md5_digest": "49f374a6ede15898ccd85c5d15d337aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17958, "upload_time": "2019-04-04T13:12:16", "url": "https://files.pythonhosted.org/packages/cc/b7/74b984148ba8ff3722b4f889478859787700da5e3125da7ee1d410f49d1a/praktipy-2.1.2.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "2af0da26aeeb8dbfd11695ef90fc43c1", "sha256": "f2dd8626d16b1dfed21811f480dee2e685f83f891adca6e03f49586bdfde7ad4" }, "downloads": -1, "filename": "praktipy-2.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2af0da26aeeb8dbfd11695ef90fc43c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19588, "upload_time": "2019-04-05T11:44:38", "url": "https://files.pythonhosted.org/packages/b0/41/4794dfe04cd0bdd4193e2be41161c1be14366bf4f164ff2dab753e2a18bf/praktipy-2.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a144512c506cf5d825040ad302ee4ba8", "sha256": "2098ea07765c220dee7e56bd1f9f0772868e55d97771293e6551fe4fd4575859" }, "downloads": -1, "filename": "praktipy-2.1.4.tar.gz", "has_sig": false, "md5_digest": "a144512c506cf5d825040ad302ee4ba8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17979, "upload_time": "2019-04-05T11:44:40", "url": "https://files.pythonhosted.org/packages/8b/69/8abeb61d8fcc0b73238d482275f4409c8af70d75d190e0ebe50d8cc1d118/praktipy-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "0db712c105fc6570043a46a2294be9d0", "sha256": "c6be474e9b187a114b4347a1f0b8f9e2fcc27cbffbe0e99a556705ebf9a24a47" }, "downloads": -1, "filename": "praktipy-2.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0db712c105fc6570043a46a2294be9d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19839, "upload_time": "2019-04-16T19:36:59", "url": "https://files.pythonhosted.org/packages/a3/f7/22017013717d060626be39dfb3d4bc421c58031d6a274bc0553f95dd40aa/praktipy-2.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fdb1efca56457ce6ef36216da6262d0", "sha256": "ec5d62b659f9ce7af57275fc91812432c63b45bec262e951e088eb452d5da0f9" }, "downloads": -1, "filename": "praktipy-2.1.5.tar.gz", "has_sig": false, "md5_digest": "4fdb1efca56457ce6ef36216da6262d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18220, "upload_time": "2019-04-16T19:37:01", "url": "https://files.pythonhosted.org/packages/a6/20/95ac6c84c4ea095dbe4ca714d3a3f57512b4b0d95c29110eff4941f4f2ea/praktipy-2.1.5.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "f1f805f6a5a112c5a1584de8443e72d2", "sha256": "25981d393e2e1cf6902180f548b95beae0b255791a97dae60c3efa2760dd9b3c" }, "downloads": -1, "filename": "praktipy-2.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f1f805f6a5a112c5a1584de8443e72d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19762, "upload_time": "2019-04-17T14:59:04", "url": "https://files.pythonhosted.org/packages/58/69/e85b91d0c2260053a9312adcb9aca287bd0a46bd5663ff46a4e96295b62e/praktipy-2.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "049a91bab607beebdc056f8e00240079", "sha256": "9179d5695e43eace3e0685eae58e2327c96f63284d14a47373b7562826fa10e3" }, "downloads": -1, "filename": "praktipy-2.1.6.tar.gz", "has_sig": false, "md5_digest": "049a91bab607beebdc056f8e00240079", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18261, "upload_time": "2019-04-17T14:59:06", "url": "https://files.pythonhosted.org/packages/5b/06/c50464df66e41eef8ab6f8b5dd82a326b986b7b2a9d362e791e25cde9426/praktipy-2.1.6.tar.gz" } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "9243c7a6ef0175aa26beaf38841b1c9c", "sha256": "ee695d556411d555fd4489b9df0949256319769ccfe5afc8527c618c379167f5" }, "downloads": -1, "filename": "praktipy-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "9243c7a6ef0175aa26beaf38841b1c9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19803, "upload_time": "2019-05-07T09:01:05", "url": "https://files.pythonhosted.org/packages/00/fd/b3ca9eac826a1cc8992e507b40d70ce0c72bab5adb35d214551af887b06f/praktipy-2.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b6cfc181639a8bc66ae6d5ff2e32895", "sha256": "9dfc873e7b4e16c498247bcfb9ea878399212c12502dfa284e961d86872fd15f" }, "downloads": -1, "filename": "praktipy-2.1.7.tar.gz", "has_sig": false, "md5_digest": "3b6cfc181639a8bc66ae6d5ff2e32895", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18301, "upload_time": "2019-05-07T09:01:06", "url": "https://files.pythonhosted.org/packages/b2/76/4e3f2dd2025d22ec1df29d9b83140348424d9837da309bb250729513b95f/praktipy-2.1.7.tar.gz" } ], "2.1.8": [ { "comment_text": "", "digests": { "md5": "c674b9ad76a57d400f87975fd825f95a", "sha256": "11be2f25abf04b335b537df52bc55faed4ca65e152d8df7856f56ec3ba9550a2" }, "downloads": -1, "filename": "praktipy-2.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "c674b9ad76a57d400f87975fd825f95a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19840, "upload_time": "2019-05-07T09:36:07", "url": "https://files.pythonhosted.org/packages/d2/67/79d971e3a326846c794f3eda0dfd7ad8450ade0693d359f3db2117c43d16/praktipy-2.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88543ba95ce6e8d5c0c49b7c09dbf108", "sha256": "4a7e09a32a91ad0a341e3be0b973a4d6fc167f476694f0e05172eb65e4c3cef4" }, "downloads": -1, "filename": "praktipy-2.1.8.tar.gz", "has_sig": false, "md5_digest": "88543ba95ce6e8d5c0c49b7c09dbf108", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18336, "upload_time": "2019-05-07T09:36:09", "url": "https://files.pythonhosted.org/packages/9f/ce/ae514994972b52634f95dc8fd7bdce86412aea72b7642f7b77f6d21ecbf9/praktipy-2.1.8.tar.gz" } ], "2.1.9": [ { "comment_text": "", "digests": { "md5": "1f36fabfc7eb18955a9a515c693c7ac0", "sha256": "22857585d14049830f115dfcc46384843afaedefc7a3fce5e2456880fea40a75" }, "downloads": -1, "filename": "praktipy-2.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "1f36fabfc7eb18955a9a515c693c7ac0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19904, "upload_time": "2019-05-19T16:56:41", "url": "https://files.pythonhosted.org/packages/58/a4/018cd83707836dadd44c7241682632a53b0b57a6d5aa9c52691da76d7b3d/praktipy-2.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8685d3a03a963d88388b53d7b02a9bd3", "sha256": "97cdef5628446d8553a446f7c1ba3953a38d56321a01804de91780325b5a6ac5" }, "downloads": -1, "filename": "praktipy-2.1.9.tar.gz", "has_sig": false, "md5_digest": "8685d3a03a963d88388b53d7b02a9bd3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18428, "upload_time": "2019-05-19T16:56:43", "url": "https://files.pythonhosted.org/packages/52/53/d58ad13e6c5b6a67d97aa9bc49893f83134d8c05e9d6f5704a39f88aaa56/praktipy-2.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "acd179ba0343082ec18ca42daaad2f45", "sha256": "25314fdd582c5feac82be11eb35578ace54ece21040036519d11dfb8d2bcd63e" }, "downloads": -1, "filename": "praktipy-2.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "acd179ba0343082ec18ca42daaad2f45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 19831, "upload_time": "2019-07-30T17:37:25", "url": "https://files.pythonhosted.org/packages/04/39/7c0774e9d4bfb631451ecf73753e6f966e85fdf25be0d9a78743cc3207bb/praktipy-2.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd7a2c97c4fa0815a4e1179fc8ec58a4", "sha256": "99ce057172040d4d8007e8cd99f5e4aeea62e14811e474c9b4a1a12f716e9a3b" }, "downloads": -1, "filename": "praktipy-2.1.11.tar.gz", "has_sig": false, "md5_digest": "cd7a2c97c4fa0815a4e1179fc8ec58a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18430, "upload_time": "2019-07-30T17:37:27", "url": "https://files.pythonhosted.org/packages/2b/9b/c22ace85388d6be57897dca20ec21ab5612bcc5f7388ca8055ae5f655242/praktipy-2.1.11.tar.gz" } ] }