{ "info": { "author": "Alex M\u00fcller, Gisela Gabernet", "author_email": "alexarnimueller@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Medical Science Apps." ], "description": "README\n======\n\n.. image:: https://img.shields.io/pypi/v/modlamp.svg\n :target: https://pypi.org/project/modlamp/\n\n.. image:: https://travis-ci.org/alexarnimueller/modlAMP.svg?branch=master\n :target: https://travis-ci.org/alexarnimueller/modlAMP\n\n.. image:: https://codecov.io/gh/alexarnimueller/modlAMP/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/alexarnimueller/modlAMP\n\n.. image:: https://img.shields.io/badge/License-BSD--3-lightgrey.svg\n :target: https://github.com/alexarnimueller/modlAMP/blob/master/LICENSE.rst\n\n.. image:: https://img.shields.io/badge/DOI-10.1093%2Fbioinformatics%2Fbtx285-ff69b4.svg\n :target: https://doi.org/10.1093/bioinformatics/btx285\n\n\n**modlAMP**\n\nThis is a Python package that is designed for working with **peptides**, **proteins** or any **amino acid sequence** of natural\namino acids. It incorporates several modules, like descriptor calculation (module ``descriptors``) or sequence\ngeneration (module ``sequences``). For basic instructions how to use the package, see Usage_ section of this README\nor the `documentation `_.\n\n.. note::\n You are advised to install `Anaconda `_ Python package manager with Python 3.7\n before installing **modlAMP**. It will make handling of necessary package requirements and versions much easier.\n\n\nInstallation\n************\n\n*Quick note*: modlAMP supports Python 3 since version 4. Use with Python 2.7 is deprecated.\n\nFor the installation to work properly, ``pip`` needs to be installed. If you're not sure whether you already have pip,\ntype ``pip --version`` in your terminal. If you don't have pip installed, install it via ``sudo easy_install pip``.\n\nThere is no need to download the package manually to install modlAMP. In your terminal, just type the following command::\n\n pip install modlamp\n\nUsage\n*****\n\nThis section gives a quick overview of different capabilities of modlAMP. For a detailed description of all modules see\nthe `module documentation `_.\n\nImporting modules\n-----------------\n\nAfter installation, you should be able to import and use the different modules like shown below. Type python or\nipython in your terminal to begin, then the following import statements:\n\n>>> from modlamp.sequences import Helices\n>>> from modlamp.descriptors import PeptideDescriptor\n>>> from modlamp.database import query_database\n\n\nGenerating Sequences\n--------------------\n\nThe following example shows how to generate a library of 1000 sequences out of all available sequence generation methods:\n\n>>> from modlamp.sequences import MixedLibrary\n>>> lib = MixedLibrary(1000)\n>>> lib.generate_sequences()\n>>> lib.sequences[:10]\n['VIVRVLKIAA','VGAKALRGIGPVVK','QTGKAKIKLVKLRAGPYANGKLF','RLIKGALKLVRIVGPGLRVIVRGAR','DGQTNRFCGI','ILRVGKLAAKV',...]\n\nThese commands generated a mixed peptide library comprising of 1000 sequences.\n\n.. note::\n If duplicates are present in the attribute ``sequences``, these are removed during generation. Therefore it\n is possible that less than the specified sequences are obtained.\n\nThe module ``sequences`` incorporates different sequence generation classes (random, helices etc.). For\ndocumentation thereof, consider the docs for the module ``modlamp.sequences``.\n\n\nCalculating Descriptor Values\n-----------------------------\n\nNow, different descriptor values can be calculated for the generated sequences: (see `Generating Sequences`_)\n\nHow to calculate the Eisenberg hydrophobic moment for given sequences:\n\n>>> from modlamp.descriptors import PeptideDescriptor, GlobalDescriptor\n>>> desc = PeptideDescriptor(lib.sequences,'eisenberg')\n>>> desc.calculate_moment()\n>>> desc.descriptor[:10]\narray([[ 0.60138255],[ 0.61232763],[ 0.01474009],[ 0.72333858],[ 0.20390763],[ 0.68818279],...]\n\nGlobal descriptor features like charge, hydrophobicity or isoelectric point can be calculated as well:\n\n>>> glob = GlobalDescriptor(lib.sequences)\n>>> glob.isoelectric_point()\n>>> glob.descriptor[:10]\narray([ 10.09735107, 8.75006104, 12.30743408, 11.26385498, ...]\n\nAuto- and cross-correlation type functions with different window sizes can be applied on all available amino acid\nscales. Here an example for the pepCATS scale:\n\n>>> pepCATS = PeptideDescriptor('sequence/file/to/be/loaded.fasta', 'pepcats')\n>>> pepCATS.calculate_crosscorr(7)\n>>> pepCATS.descriptor\narray([[ 0.6875 , 0.46666667, 0.42857143, 0.61538462, 0.58333333,\n\nMany more **amino acid scales** are available for descriptor calculation. The complete list can be found in the\ndocumentation for the ``modlamp.descriptors`` module.\n\n\nPlotting Features\n-----------------\n\nWe can also plot the calculated values as a boxplot, for example the hydrophobic moment:\n\n>>> from modlamp.plot import plot_feature\n>>> D = PeptideDescriptor('sequence/file/to/be/loaded.fasta', 'eisenberg') # Eisenberg hyrophobicity scale\n>>> D.calculate_moment()\n>>> plot_feature(D.descriptor,y_label='uH Eisenberg')\n\n.. image:: http://modlamp.org/_static/uH_Eisenberg.png\n :height: 300px\n\nWe can additionally compare these descriptor values to known AMP sequences. For that, we import sequences from the\nAPD3, which are stored in the FASTA formatted file ``APD3.fasta``:\n\n>>> APD = PeptideDescriptor('/Path/to/file/APD3.fasta', 'eisenberg')\n>>> APD.calculate_moment()\n\nNow lets compare the values by plotting:\n\n>>> plot_feature([D.descriptor, APD.descriptor], y_label='uH Eisenberg', x_tick_labels=['Library', 'APD3'])\n\n.. image:: http://modlamp.org/_static/uH_APD3.png\n :height: 300px\n\nIt is also possible to plot 2 or 3 different features in a scatter plot:\n\n:Example: **2D Scatter Plot**\n\n>>> from modlamp.plot import plot_2_features\n>>> A = PeptideDescriptor('/Path/to/file/class1&2.fasta', 'eisenberg')\n>>> A.calculate_moment()\n>>> B = GlobalDescriptor('/Path/to/file/class1&2.fasta')\n>>> B.isoelectric_point()\n>>> target = [1] * (len(A.sequences) / 2) + [0] * (len(A.sequences) / 2)\n>>> plot_2_features(A.descriptor, B.descriptor, x_label='uH', y_label='pI', targets=target)\n\n.. image:: http://modlamp.org/_static/2D_scatter.png\n :height: 300px\n\n:Example: **3D Scatter Plot**\n\n>>> from modlamp.plot import plot_3_features\n>>> B = GlobalDescriptor(APD.sequences)\n>>> B.isoelectric_point()\n>>> B.length(append=True) # append descriptor values to afore calculated\n>>> plot_3_features(APD.descriptor, B.descriptor[:, 0], B.descriptor[:, 1], x_label='uH', y_label='pI', z_label='len')\n\n.. image:: http://modlamp.org/_static/3D_scatter.png\n :height: 300px\n\nFurther plotting methods like **helical wheel plots** are available. See the documentation for the ``modlamp.plot``\nmodule.\n\n\nDatabase Connection\n-------------------\n\nPeptides from the two most prominent AMP databases `APD `_ and `CAMP `_ can be directly scraped with the ``modlamp.database`` module.\n\nFor downloading a set of sequences from the **APD** database, first get the IDs of the sequences you want to query\nfrom the APD website. Then proceed as follows:\n\n>>> query_apd([15, 16, 17, 18, 19, 20]) # download sequences with APD IDs 15 to 20\n['GLFDIVKKVVGALGSL','GLFDIVKKVVGAIGSL','GLFDIVKKVVGTLAGL','GLFDIVKKVVGAFGSL','GLFDIAKKVIGVIGSL','GLFDIVKKIAGHIAGSI']\n\nThe same holds true for the **CAMP** database:\n\n>>> query_camp([2705, 2706]) # download sequences with CAMP IDs 2705 & 2706\n['GLFDIVKKVVGALGSL','GLFDIVKKVVGTLAGL']\n\n**modlAMP** also hosts a module for connecting to your own database on a private server.\nPeptide sequences included in any table in the database can be downloaded.\n\n.. note::\n The ``modlamp.database.query_database`` function allows connection and queries to a personal database. For\n successful connection, the database configuration needs to be specified in the ``db_config.json`` file, which is\n located in ``modlamp/data/`` by default.\n\nSequences (stored in a column named ``sequence``) from the personal database can then be queried as follows:\n\n>>> from modlamp.database import query_database\n>>> query_database('my_experiments', ['sequence'], configfile='./modlamp/data/db_config.json')\nPassword: >? ***********\nConnecting to MySQL database...\nconnection established!\n['ILDSSWQRTFLLS','IKLLHIF','ACFDDGLFRIIKFLLASDRFFT', ...]\n\n\nLoading Prepared Datasets\n-------------------------\n\nFor AMP QSAR models, different options exist of choosing negative / inactive peptide examples. We assembled several\ndatasets for classification tasks, that can be read by the ``modlamp.datasets`` module. The available datasets can\nbe found in the documentation of the ``modlamp.datasets`` module.\n\n:Example: **AMPs vs. transmembrane regions of proteins**\n\n>>> from modlamp.datasets import load_AMPvsTM\n>>> data = load_AMPvsTM()\n>>> data.keys()\n['target_names', 'target', 'feature_names', 'sequences']\n\nThe variable ``data`` holds **four different keys, which can also be called as its attributes**. The available\nattributes for ``load_helicalAMPset()`` are ``target_names`` (target names), ``target`` (the\ntarget class vector), ``feature_names`` (the name of the data features, here: 'Sequence') and\n``sequences`` (the loaded sequences).\n\n:Example:\n\n>>> data.target_names # class names\narray(['TM', 'AMP'], dtype='|S3')\n>>> data.sequences[:5] # sequences\n[array(['AAGAATVLLVIVLLAGSYLAVLA', 'LWIVIACLACVGSAAALTLRA', 'FYRFYMLREGTAVPAVWFSIELIFGLFA', 'GTLELGVDYGRAN',\n 'KLFWRAVVAEFLATTLFVFISIGSALGFK'], dtype='|S100')\n>>> data.target # corresponding target classes\narray([0, 0, 0, 0, 0 .... 1, 1, 1, 1])\n\n\nAnalysing Wetlab Circular Dichroism Data\n----------------------------------------\n\nThe modlule ``modlamp.wetlab`` includes the class ``modlamp.wetlab.CD`` to analyse raw circular dichroism\ndata from wetlab experiments. The following example shows how to load a raw datafile and calculate secondary\nstructure contents:\n\n>>> cd = CD('/path/to/your/folder', 185, 260) # load all files in a specified folder\n>>> cd.names # peptide names read from the file headers\n['Pep 10', 'Pep 10', 'Pep 11', 'Pep 11', ... ]\n>>> cd.calc_meanres_ellipticity() # calculate the mean residue ellipticity values\n>>> cd.meanres_ellipticity\narray([[ 260. , -266.95804196],\n [ 259. , -338.13286713],\n [ 258. , -387.25174825], ...])\n>>> cd.helicity(temperature=24., k=3.492185008, induction=True) # calculate helical content\n>>> cd.helicity_values\n Name Solvent Helicity Induction\n Peptide1 T 100.0 3.823\n Peptide1 W 26.16 0.000\n Peptide2 T 76.38 3.048\n Peptide2 W 25.06 0.000 ...\n\nThe read and calculated values can finally be plotted as follows:\n\n>>> cd.plot(data='mean residue ellipticity', combine=True)\n\n.. image:: http://modlamp.org/_static/cd1.png\n :height: 300px\n.. image:: http://modlamp.org/_static/cd2.png\n :height: 300px\n.. image:: http://modlamp.org/_static/cd3.png\n :height: 300px\n\n\nAnalysis of Different Sequence Libraries\n----------------------------------------\n\nThe modlule ``modlamp.analysis`` includes the class ``modlamp.analysis.GlobalAnalysis`` to compare\ndifferent sequence libraries. Learn how to use it with the following example:\n\n>>> lib # sequence library with 3 sub-libraries\narray([['ARVFVRAVRIYIRVLKAFAKL', 'IRVYVRIVRGFGRVVRAYARV', 'IRIFIRIARGFGRAIRVFVRI', ..., 'RGPCFLQVVD'],\n ['EYKIGGKA', 'RAVKGGGRLLAG', 'KLLRIILRGARIIIRGLR', ..., 'AKCLVDKK', 'VGGAFALVSV'],\n ['GVHLKFKPAVSRKGVKGIT', 'RILRIGARVGKVLIK', 'MKGIIGHTWKLKPTIPSGKSAKC', ..., 'GRIIRLAIKAGL']], dtype='|S28')\n>>> lib.shape\n(3, 2000)\n>>> from modlamp.analysis import GlobalAnalysis\n>>> analysis = GlobalAnalysis(lib, names=['Lib 1', 'Lib 2', 'Lib 3'])\n>>> analysis.plot_summary()\n\n.. image:: http://modlamp.org/_static/summary.png\n :height: 600px\n\n\nDocumentation\n-------------\n\nA detailed documentation of all modules is available from the `modlAMP documentation website `_.\n\n\nCiting modlAMP\n--------------\n\nIf you are using **modlAMP** for a scientific publication, please cite the following paper:\n\nM\u00fcller A. T. *et al.* (2017) modlAMP: Python for anitmicrobial peptides, *Bioinformatics* **33**, (17), 2753-2755,\nDOI:`10.1093/bioinformatics/btx285 `_.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://modlamp.org", "keywords": "antimicrobial anticancer peptide descriptor sequences QSAR machine learning design", "license": "BSD-3", "maintainer": "", "maintainer_email": "", "name": "modlamp", "package_url": "https://pypi.org/project/modlamp/", "platform": "", "project_url": "https://pypi.org/project/modlamp/", "project_urls": { "Homepage": "http://modlamp.org" }, "release_url": "https://pypi.org/project/modlamp/4.1.1/", "requires_dist": null, "requires_python": "", "summary": "python package for in silico peptide design and QSAR studies", "version": "4.1.1" }, "last_serial": 5534571, "releases": { "3.2.1": [ { "comment_text": "", "digests": { "md5": "070e2165cdc508858c673753f8e55ecb", "sha256": "9601123f9776df5f3e161704d1b493090fa1caeb15c2803ace7437e48cd4a88d" }, "downloads": -1, "filename": "modlamp-3.2.1.tar.gz", "has_sig": false, "md5_digest": "070e2165cdc508858c673753f8e55ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7803350, "upload_time": "2017-07-05T12:55:15", "url": "https://files.pythonhosted.org/packages/e4/74/08bd0961defb71ac60968e9f67ca20d6f99100c2d3c995e2e09d7e05fb52/modlamp-3.2.1.tar.gz" } ], "3.2.3": [ { "comment_text": "", "digests": { "md5": "b27d90c72f638ef679cb2288e4db0875", "sha256": "5ebc15fac05e7a2adec193c49e777cc2bda89a7ae1f4505da2a894b8ba2580b7" }, "downloads": -1, "filename": "modlamp-3.2.3.tar.gz", "has_sig": false, "md5_digest": "b27d90c72f638ef679cb2288e4db0875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8065468, "upload_time": "2017-09-11T13:36:41", "url": "https://files.pythonhosted.org/packages/e6/a4/043d57818e2d8d1cb841825899e54375bbcdacaa9d433d345ed75cb87a38/modlamp-3.2.3.tar.gz" } ], "3.2.4": [ { "comment_text": "", "digests": { "md5": "44ecc2f6c7f4c5d62371fb9ccb856c3a", "sha256": "e4f36cc4a354d5874181e1b0133a6fbfccc2c98e5c458eb245f0984cf02a050a" }, "downloads": -1, "filename": "modlamp-3.2.4.tar.gz", "has_sig": false, "md5_digest": "44ecc2f6c7f4c5d62371fb9ccb856c3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8047217, "upload_time": "2017-09-15T13:02:31", "url": "https://files.pythonhosted.org/packages/41/1b/958c38113a9385c8b86826f745da2e69d2cdef3b5f28e94a796010dd5a35/modlamp-3.2.4.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "c8c5223e397e5b69bf94d2b4d97bb8e3", "sha256": "d07708b49869fa1bc035250c02b3aa09a80f86131ddc520e8f678dd1fc96de97" }, "downloads": -1, "filename": "modlamp-3.3.0.tar.gz", "has_sig": false, "md5_digest": "c8c5223e397e5b69bf94d2b4d97bb8e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8050634, "upload_time": "2017-09-27T14:31:02", "url": "https://files.pythonhosted.org/packages/55/40/dcc4b47f67f331515b83bf3ed9f7fc8981c6ee064cbc14ecdc5fab49e636/modlamp-3.3.0.tar.gz" } ], "3.3.1": [ { "comment_text": "", "digests": { "md5": "3af59c55d1168705c500eb42fec97704", "sha256": "c36c4eb4a597aa786421efa0ea9321b3f899208496de7fb43e3bbcb50015f436" }, "downloads": -1, "filename": "modlamp-3.3.1.tar.gz", "has_sig": false, "md5_digest": "3af59c55d1168705c500eb42fec97704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8009640, "upload_time": "2017-10-19T08:06:56", "url": "https://files.pythonhosted.org/packages/d7/83/5f27587377c31d5ebf57427f9d79e3c2fcb38c1caeca98ecf05aac80e19e/modlamp-3.3.1.tar.gz" } ], "3.3.2": [ { "comment_text": "", "digests": { "md5": "a5e6bea9b802d57950b34f61524f26ec", "sha256": "9377472af090c7d9e522b1f88e96028c40ddc683395fe8240dbec9965f314050" }, "downloads": -1, "filename": "modlamp-3.3.2.tar.gz", "has_sig": false, "md5_digest": "a5e6bea9b802d57950b34f61524f26ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8013955, "upload_time": "2017-12-21T14:47:35", "url": "https://files.pythonhosted.org/packages/c9/c3/e9eba6b07cd5ece3f137855d63fd7d068272be72dffad470425bdd1cc3bf/modlamp-3.3.2.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "d8120ccd0712b4f50cd758ff0ac5e358", "sha256": "a213aafeddc1cfdfe0b647c97787fbcad92e8f996453b6a4ea434023a1276c4e" }, "downloads": -1, "filename": "modlamp-3.4.0.tar.gz", "has_sig": false, "md5_digest": "d8120ccd0712b4f50cd758ff0ac5e358", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8025823, "upload_time": "2018-02-07T15:28:34", "url": "https://files.pythonhosted.org/packages/58/a6/2aa4940e0ef64a18a98d95c11e7d5bf06ba20d8f5aee249a0b537cdbd77a/modlamp-3.4.0.tar.gz" } ], "3.4.1": [ { "comment_text": "", "digests": { "md5": "a64f2f4a15bb2a54ecc5ba23f796176e", "sha256": "8d3b5ff24c880267a2e83ac7718d4d1bc6d52f9c72dccc0fab223d4c3a121a2c" }, "downloads": -1, "filename": "modlamp-3.4.1.tar.gz", "has_sig": false, "md5_digest": "a64f2f4a15bb2a54ecc5ba23f796176e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8026733, "upload_time": "2018-11-17T12:49:09", "url": "https://files.pythonhosted.org/packages/97/f2/cf449a01073476a57ce0ed985a5942701dd426b5d5c7f442f8e0fd7d6d59/modlamp-3.4.1.tar.gz" } ], "3.4.2": [ { "comment_text": "", "digests": { "md5": "ff7bf7e11d80e61f03a40b03013d71ca", "sha256": "5ae325535c8d39a0b9183b7fa1d6dbd4a78046db52a6567bef3ef52e0e617ab9" }, "downloads": -1, "filename": "modlamp-3.4.2.tar.gz", "has_sig": false, "md5_digest": "ff7bf7e11d80e61f03a40b03013d71ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8030863, "upload_time": "2018-12-10T14:15:56", "url": "https://files.pythonhosted.org/packages/b6/23/2ce2be643c8bc1c6c33d0aeb9929845847a7591d7206ec85a937cd02a185/modlamp-3.4.2.tar.gz" } ], "3.4.3": [ { "comment_text": "", "digests": { "md5": "9592a31870e72a060ecf2d367fed0d04", "sha256": "5982bd6bf5db43909e02b8e12b3baaa4ffc2f769789e86d3ed8a43bb797fb2f9" }, "downloads": -1, "filename": "modlamp-3.4.3.tar.gz", "has_sig": false, "md5_digest": "9592a31870e72a060ecf2d367fed0d04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8027452, "upload_time": "2018-12-10T14:27:59", "url": "https://files.pythonhosted.org/packages/9f/65/3375c137efd2597304b906290daa05e0d7991c6fb0a7710ec69988b548dc/modlamp-3.4.3.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "8cf7569c81ec8bbd0a6aa68aebe2f196", "sha256": "9007645e9b525d529e1cfed7941bf6d4a56c93b2d1d6fb23ff49b36918933960" }, "downloads": -1, "filename": "modlamp-4.0.0.tar.gz", "has_sig": false, "md5_digest": "8cf7569c81ec8bbd0a6aa68aebe2f196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8031664, "upload_time": "2019-02-13T20:12:40", "url": "https://files.pythonhosted.org/packages/d2/31/edbfdb44a1b99f9a2fdc2d2167b749e00a7e3c6b333a437ebd4b57ac5aa3/modlamp-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "ac918b77bca9b75a37ba21e4a968cae6", "sha256": "97ca2a1d898ef89be9030be272cc651df5702b04625764264bcf0a5b40d00e00" }, "downloads": -1, "filename": "modlamp-4.0.1.tar.gz", "has_sig": false, "md5_digest": "ac918b77bca9b75a37ba21e4a968cae6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8032984, "upload_time": "2019-03-04T19:46:15", "url": "https://files.pythonhosted.org/packages/ed/8c/a0aa2ebf078f850ac0c4ee8935abc3d9c2e4b25a0606c0aadb5ae3b1f6b3/modlamp-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "b72804167b3895100bbe7855658a20a0", "sha256": "5c8b0a14a99c5240e7a60f8349a5057751c075db6663be29d574b29d674fb129" }, "downloads": -1, "filename": "modlamp-4.0.2.tar.gz", "has_sig": false, "md5_digest": "b72804167b3895100bbe7855658a20a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8038240, "upload_time": "2019-03-29T10:20:08", "url": "https://files.pythonhosted.org/packages/27/84/e45e128b39b91481272477b95ef8d3da03bdce5b26afcec00a79ccca0881/modlamp-4.0.2.tar.gz" } ], "4.0.3": [ { "comment_text": "", "digests": { "md5": "da25ac6f55cc885f3e8043301a02a276", "sha256": "c4480d4c2b6f8b7c86b4f80965263d1d516aab5baf354ef1a6bfdd81b43d2127" }, "downloads": -1, "filename": "modlamp-4.0.3.tar.gz", "has_sig": false, "md5_digest": "da25ac6f55cc885f3e8043301a02a276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8037903, "upload_time": "2019-05-05T08:51:33", "url": "https://files.pythonhosted.org/packages/45/3b/ffdef0dfca13802d001ea60cf569417f1765d981ac5f643a82bd76efb883/modlamp-4.0.3.tar.gz" } ], "4.0.4": [ { "comment_text": "", "digests": { "md5": "4f6601adba8b7a6aa333ee460423f553", "sha256": "adbe57e9967293e2ce399e4d582aba1cbad583553886cc6c8f7f7a5cc50e7078" }, "downloads": -1, "filename": "modlamp-4.0.4.tar.gz", "has_sig": false, "md5_digest": "4f6601adba8b7a6aa333ee460423f553", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8038020, "upload_time": "2019-06-03T15:21:04", "url": "https://files.pythonhosted.org/packages/2e/cd/005cf86916f4e5df7896ac8435d1d953d1fe5bb5bb242cf9983e4f928c86/modlamp-4.0.4.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "53d4c347ced2c81b2375b60cb4663b53", "sha256": "5476abc977ae31d591b0be1c5f84387d0273b832e17ff99341b20b82a53d8fb8" }, "downloads": -1, "filename": "modlamp-4.1.0.tar.gz", "has_sig": false, "md5_digest": "53d4c347ced2c81b2375b60cb4663b53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7986727, "upload_time": "2019-06-05T15:41:21", "url": "https://files.pythonhosted.org/packages/a2/a1/cdb9639ba20882c6a9e90236404693d2ce2605d9726e4f011020b18bc2a5/modlamp-4.1.0.tar.gz" } ], "4.1.1": [ { "comment_text": "", "digests": { "md5": "14000209d2341434750dff93f5ea9417", "sha256": "c808fb72e359a4752eaa007d2fd6f0d58855f9cb058c74e860c6f2a22552753a" }, "downloads": -1, "filename": "modlamp-4.1.1.tar.gz", "has_sig": false, "md5_digest": "14000209d2341434750dff93f5ea9417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8038224, "upload_time": "2019-07-15T11:55:13", "url": "https://files.pythonhosted.org/packages/3b/14/560372964ad296b0dcc4bc0f3ad977012a5832a086c949d28996b1e691bd/modlamp-4.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14000209d2341434750dff93f5ea9417", "sha256": "c808fb72e359a4752eaa007d2fd6f0d58855f9cb058c74e860c6f2a22552753a" }, "downloads": -1, "filename": "modlamp-4.1.1.tar.gz", "has_sig": false, "md5_digest": "14000209d2341434750dff93f5ea9417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8038224, "upload_time": "2019-07-15T11:55:13", "url": "https://files.pythonhosted.org/packages/3b/14/560372964ad296b0dcc4bc0f3ad977012a5832a086c949d28996b1e691bd/modlamp-4.1.1.tar.gz" } ] }