{ "info": { "author": "Yonatan Perry", "author_email": "yonatan.perry@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "quicklib\n========\n\nBuild hassle-free setup scripts for your python libraries, with\npractical versioning, requirements specification, and more (to come).\n\nInstallation\n------------\n\nInstall using:\n\n::\n\n pip install quicklib\n\nOr clone this project's `repo`_ and run:\n\n::\n\n python setup.py install\n\nCreating libraries\n------------------\n\n**TL;DR** - run ``python -m quicklib.bootstrap`` in a new folder and\nanswer some questions, and you're good to go coding. Look at\n`examplelibrary`_ for an example created with this bootstrap process.\n\nAlso, your library needs to be in a git-managed folder, and needs at\nleast one numeric ``major.minor`` tag in your current history.\n\nIf you have no version tags yet, create the first one now and push it:\n\n::\n\n git tag -a 0.1 -m \"first version tag: 0.1\"\n git push origin 0.1\n\nFile structure\n~~~~~~~~~~~~~~\n\nThe recommended library file structure is something like:\n\n::\n\n mylibrary/\n |----- setup.py\n | | OR\n | --- quicklib_setup.yml\n |-- README.md\n |-- [requirements.txt]\n mypackage/\n |-- __init__.py\n |-- version.py\n |-- module1.py\n |-- module2.py\n |-- subpackage/\n |-- __init__.py\n |-- module3.py\n\nIf you want to include more than one top-level package in your library,\nplace additional ones next to ``mypackage``.\n\nFor a deeper dive into recommended structure and other possible options,\ncheck out `Structuring Your Project`_ at the Hitchhiker's Guide to\nPython.\n\nSetup script\n~~~~~~~~~~~~\n\nFor an example ``setup.py`` file see `examplelibrary's setup.py`_.\n\nThe setup script must include this fixed stub copy-pasted verbatim:\n\n.. code:: Python\n\n # -------- quicklib direct/bundled import, copy pasted --------------------------------------------\n import sys as _sys, glob as _glob, os as _os\n is_packaging = not _os.path.exists(\"PKG-INFO\")\n if is_packaging:\n import quicklib\n else:\n zips = _glob.glob(\"quicklib_incorporated.*.zip\")\n if len(zips) != 1:\n raise Exception(\"expected exactly one incorporated quicklib zip but found %s\" % (zips,))\n _sys.path.insert(0, zips[0]); import quicklib; _sys.path.pop(0)\n # -------------------------------------------------------------------------------------------------\n\nAfter that, where you would usually call ``setuptools.setup(...)``, call\n``quicklib.setup(...)`` instead:\n\n.. code:: Python\n\n quicklib.setup(\n name='examplelibrary',\n url=\"https://example.com/\",\n author='ACME Inc.',\n author_email='user@example.com',\n description='examplelibrary: a library to demonstrate how quicklib is used to quickly setup python libraries',\n license='Copyright ACME Inc.',\n platforms='any',\n classifiers=[\n 'Programming Language :: Python',\n 'Development Status :: 4 - Beta',\n 'Natural Language :: English',\n 'Intended Audience :: Developers',\n 'Operating System :: OS Independent',\n 'Topic :: Software Development :: Libraries :: Python Modules',\n ],\n version_module_paths=[\n \"examplepackage/version.py\",\n ],\n )\n\nMost parameters are exactly the same as they are in ``setuptools``.\n\nAdditional parameters:\n\n- ``version_module_paths`` - see details in \"Versioning\" below\n\nModified parameter defaults:\n\n- if ``packages`` is not given, ``find_packages()`` is used\n automatically to discover packages under your library's top\n directory.\n\nYAML-based setup\n~~~~~~~~~~~~~~~~\n\nThe easiest way for simple libraries is to provide all necessary details\nin a YAML file. This is essentially the same as creating a setup.py that\nuses the YAML dictionary as its kwargs.\n\nFor example, create a ``quicklib_setup.yml`` file at the root of your\nproject:\n\n::\n\n setup:\n name: mylibrary\n description: a library for doing some stuff\n version: 1.0\n\nAnd run ``quicklib-setup sdist`` (instead of ``python setup.py sdist``)\nto create the library package.\n\nYou can also ``include`` additional files of a similar format (overriding each other in order of appearance), e.g. to use as common template of values:\n\n::\n\n # mylib_setup.yml\n include:\n - ../common_properties.yml\n setup:\n name: mylibrary\n\n # common_properties.yml\n setup:\n author: ACME Inc.\n author_email: user@example.com\n\nFor additional parameters, see the rest of this documentation and\nprovide parameters to ``quicklib.setup(...)`` as values under the\n``setup`` dictionary in your ``quicklib_setup.yml`` file.\n\nTake a look at the `minimal example library`_ for usage example.\n\nSetup script in non-standard location\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIt is possible to build libraries with quicklib from setup scripts\nother than \"top level setup.py\". This allows building more than one\nlibrary (or variants of a single library) from a single repository.\n\nLook at `examplelibrary2`_ for two such example library variants built\nfrom the same sources.\n\nJust place your setup code in any folder and run it the same way as\nusual, e.g.:\n\n::\n\n python my_other_setup.py sdist bdist_wheel\n\nNote that if you want to have a ``MANIFEST.in`` file to go with the\nscript, you can put it alongside it and using the same base name,\ne.g.:\n\n::\n\n ...\n |-- my_other_setup.py\n |-- my_other_setup.MANIFEST.in\n ...\n\nIf no such alternative MANIFEST.in file is present and a top-level\nMANIFEST.in exists, it will be used as usual.\n\nVersioning\n~~~~~~~~~~\n\nThe build process automatically sets your library version based on the\ngit log and tags. This version information is applied to the built\nlibrary and can later be programmatically queried by library package\nusers.\n\nversion value inference\n^^^^^^^^^^^^^^^^^^^^^^^\n\n1. It ``git-describe``\\ s the ``HEAD`` searching for the latest\n annotated (!) tag with a ``major.minor`` label\n2. If the tag is placed directly on the current ``HEAD`` then this is\n the version label\n\n - otherwise, a ``.micro`` suffix is added denoting the number of\n commits between the tag and ``HEAD``\n\n3. Finally, if there are any local modifications, a ``.dirty`` suffix is\n added\n\nadding version info to your packages\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nAdd a ``version.py`` stub file under any of your top-level packages with\nthis fixed template:\n\n.. code:: Python\n\n # quicklib version boilerplate\n DEV_VERSION = \"0.0.0.dev0\"\n __version__ = DEV_VERSION\n\nIn addition, tell ``setup.py`` where to find those files:\n\n.. code:: Python\n\n quicklib.setup(\n version_module_paths=[\n \"mypackage/version.py\",\n # ... you can specify more than one\n ],\n )\n\nThen, your users can programmatically query this version value by running\ne.g.:\n\n.. code:: Python\n\n import mypackage\n print mypackage.version.__version__\n\nversioning multiple packages\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf your library contains multiple top-level packages, a ``version.py``\nfile should usually be added under each of them. This allows your\nlibrary users to ask about the version of each of your individual\npackages while being agnostic to the fact that they come from the same\nlibrary. If you find this confusing, you may want to stick to one\ntop-level package per library.\n\nChoosing packages to include\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe default behavior calls ``setuptools.find_packages()`` and typically collects all top-level packages found. To disable this behavior, provide ``packages`` yourself.\n\nAnother alternative is to provide a list of top-level package names in the ``top_packages`` argument. In this case, ``find_packages()`` is called when only these top-level packages are included in the search.\n\nRequirements\n~~~~~~~~~~~~\n\nTo add requirements to your library, add them in a ``requirements.txt``\nfile at the project root.\n\nUse syntax such as:\n\n::\n\n numpy\n pandas==0.18.1\n yarg~=0.1.1\n\nFreezing requirements\n^^^^^^^^^^^^^^^^^^^^^\n\nSometimes you want to hardcode the versions of your dependencies. This\nhelps provide your users the exact same configuration you built and\ntested with. To avoid having to manually update those numbers, you can\nkeep your requirements specified as usual but activate \"requirement\nfreezing\".\n\nDo this by passing ``freeze_requirements=True`` to the\n``quicklib.setup(...)`` call in ``setup.py``. At packaging time, the\navailable versions will be retrieved from ``pypi.python.org``, and the\nlatest matching version will be hardcoded as the requirement.\n\nNote: if your library depends on a hardcoded ``dep==1.0`` but ``dep``\ndid not hardcode its dependencies, your users might get different\npackages. To get around that you can specify your requirements'\nrequirements as your own requirements. Automatically fetching this\ninformation is on this library's roadmap.\n\n.. _when-not-using-pypipythonorg:\n\nwhen not using pypi.python.org\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf your dependency libraries come from another package repository, you\ncan specify another address or even provide your own plugin to retrieve\ninformation from such a server.\n\nTo do this, provide a dictionary of options in ``freeze_requirements``:\n\n.. code:: Python\n\n quicklib.setup(\n # ...\n freeze_requirements = {\n # alternative pypi server address\n 'pypi_server': 'https://my-private-pypi.com/packages/',\n # when given, this is imported at packaging time and used to find package versions.\n # see quicklib/requirements.py for the StandardPypiServerPlugin default plugin, and follow its interface.\n 'server_plugin': 'foo.bar:baz()',\n }\n )\n\n.. _repo: https://github.com/yonatanp/quicklib\n.. _examplelibrary: https://github.com/yonatanp/quicklib/tree/master/examples/examplelibrary/\n.. _minimal example library: https://github.com/yonatanp/quicklib/tree/master/examples/minimal/\n.. _examplelibrary2: https://github.com/yonatanp/quicklib/tree/master/examples/examplelibrary2/\n.. _Structuring Your Project: http://docs.python-guide.org/en/latest/writing/structure/\n.. _examplelibrary's setup.py: https://github.com/yonatanp/quicklib/tree/master/examples/examplelibrary/setup.py\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yonatanp/quicklib", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "quicklib", "package_url": "https://pypi.org/project/quicklib/", "platform": "any", "project_url": "https://pypi.org/project/quicklib/", "project_urls": { "Homepage": "https://github.com/yonatanp/quicklib" }, "release_url": "https://pypi.org/project/quicklib/0.4.4/", "requires_dist": [ "yarg (~=0.1.9)", "PyYAML (>=4.2b1)", "pip (<10,>=9.0.1)", "pip-tools (~=1.11.0)", "future" ], "requires_python": "", "summary": "quicklib: hassle-free setup scripts for your python libraries", "version": "0.4.4" }, "last_serial": 5699719, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "7a16dbc7b245713c1ea8e7f926eb7aa4", "sha256": "660aca3ec5a22918761f7c86025b5c4acc1f1bb2ef84e3a71e84d061148becd6" }, "downloads": -1, "filename": "quicklib-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "7a16dbc7b245713c1ea8e7f926eb7aa4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 38112, "upload_time": "2018-01-15T07:24:22", "url": "https://files.pythonhosted.org/packages/53/4b/dd0e588766e2d9d7f71eaa754cfb6101e39bb8eb0a6a35088ca35e8f9f51/quicklib-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f5ccf2e6021bd3fa620ed22f84caa1b", "sha256": "c6bfe10982d90211311f7f3999293e20925cc0640ac4131070052f7623824cfd" }, "downloads": -1, "filename": "quicklib-0.2.tar.gz", "has_sig": false, "md5_digest": "7f5ccf2e6021bd3fa620ed22f84caa1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34273, "upload_time": "2018-01-15T07:24:24", "url": "https://files.pythonhosted.org/packages/7b/3c/243f507ff13bf8a3f6d897b0f6cf62c3c261c04ce1adb0293d8b3c764e2d/quicklib-0.2.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "b33f4ef3f17010cc597c9295d30d8a47", "sha256": "95df75f60e88338571b932c5bdea4a5fb59c04cd37815c49ea23a80c138a875a" }, "downloads": -1, "filename": "quicklib-0.2.13-py2-none-any.whl", "has_sig": false, "md5_digest": "b33f4ef3f17010cc597c9295d30d8a47", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39793, "upload_time": "2018-01-22T20:56:44", "url": "https://files.pythonhosted.org/packages/39/f8/ca42960b13304a3c84f6aa45adec74fc04424f8208452242bfbe328aa059/quicklib-0.2.13-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63251e9b9574c9848524262475222f0b", "sha256": "84eacd4edc730b360a973bdeecbed1f750bb60bbb21bb1e79bc50ed5f2972830" }, "downloads": -1, "filename": "quicklib-0.2.13.tar.gz", "has_sig": false, "md5_digest": "63251e9b9574c9848524262475222f0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33023, "upload_time": "2018-01-22T20:56:46", "url": "https://files.pythonhosted.org/packages/f6/3e/554fb5f8cd73a16a410f2207e82e9f8b2a2d4a5adb3209012a433d4261b9/quicklib-0.2.13.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "4ee783a289fea421f66a920dbe01cdb0", "sha256": "579e000ab5588f93898f5178ebd06ee091af452fa60b5f8d7226d10633a33f14" }, "downloads": -1, "filename": "quicklib-0.2.16-py2-none-any.whl", "has_sig": false, "md5_digest": "4ee783a289fea421f66a920dbe01cdb0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 41193, "upload_time": "2018-01-24T15:28:36", "url": "https://files.pythonhosted.org/packages/6c/d6/ef55530f6565dc97376c128682209d5707e6977c336e46d484ce863170de/quicklib-0.2.16-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54e93e1cc2ba567fe7d77a92a1cd4a35", "sha256": "11f1afb0d1fc85c5b9c46ef682fe80fe30ece98e7cc6eaf596fcc64c377b05ec" }, "downloads": -1, "filename": "quicklib-0.2.16.tar.gz", "has_sig": false, "md5_digest": "54e93e1cc2ba567fe7d77a92a1cd4a35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34745, "upload_time": "2018-01-24T15:28:37", "url": "https://files.pythonhosted.org/packages/4e/0b/8c9b13d6673808bb126186e10afcac5996798414687a73b333a541dbd7ca/quicklib-0.2.16.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "075a9e87fdffe5a0c8ff7d66ffb3134d", "sha256": "3b2bc05846532f6bc48cbd3cf44c12e2ea670e9f885b3323b5f1b78db853f4c9" }, "downloads": -1, "filename": "quicklib-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "075a9e87fdffe5a0c8ff7d66ffb3134d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 40241, "upload_time": "2018-01-19T16:26:07", "url": "https://files.pythonhosted.org/packages/9a/74/ec107f45a01eefc055fbac6277414f291aae8dddef08cbcb5aeda5bfc153/quicklib-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73a1ccccca35648c6bedc8ab839dcb51", "sha256": "527a4243a465fad1f816d8968b199d81fa8ee18f2c3fd242b0ecfc44d254ffca" }, "downloads": -1, "filename": "quicklib-0.2.2.tar.gz", "has_sig": false, "md5_digest": "73a1ccccca35648c6bedc8ab839dcb51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36491, "upload_time": "2018-01-19T16:26:10", "url": "https://files.pythonhosted.org/packages/37/fd/14ee0ca7a5b5bfce5c660974e614d063acca6543bc3f7400139953fb4ab4/quicklib-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "360d2767b29a6c3874f4bb9a3afa49bc", "sha256": "336030616d2d6a484715c026acefd72c6ab48eb3c621fdd5400a128236f94f48" }, "downloads": -1, "filename": "quicklib-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "360d2767b29a6c3874f4bb9a3afa49bc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 40180, "upload_time": "2018-01-19T16:32:53", "url": "https://files.pythonhosted.org/packages/21/05/fc77360c01011eb2edc64ec1749de28300fb40a6a2c209910553d6802a51/quicklib-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7ae65dd89c6de644a6449b640adf722", "sha256": "c16aabe07ece3c066953e4647f9ae299cb20f9611c6c8d705da884d4b8813d2d" }, "downloads": -1, "filename": "quicklib-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c7ae65dd89c6de644a6449b640adf722", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36482, "upload_time": "2018-01-19T16:32:55", "url": "https://files.pythonhosted.org/packages/ee/06/c93a0660f4a3694bdeaaeef670ecde69344e1d33a348d79c13386c5cf0c8/quicklib-0.2.3.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "4ff5995169f2c09ae8ecf3941ca0f0ce", "sha256": "9c73ca9bc5acffee58196bbd909d2ae99545df4ffbfa6b3e4374fa8193f8e532" }, "downloads": -1, "filename": "quicklib-0.2.9-py2-none-any.whl", "has_sig": false, "md5_digest": "4ff5995169f2c09ae8ecf3941ca0f0ce", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42400, "upload_time": "2018-01-20T21:30:08", "url": "https://files.pythonhosted.org/packages/ec/e5/ef89ee4cb5402a78b0e355cafb769d3096cb06e05add995de570e7cb7a0e/quicklib-0.2.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ff2e5046ab8f7a7518ab2dd79e74049", "sha256": "61736a910ba1fc58ce8049a07e8c85af8921035753a1bc4e7cd216ff18b0f195" }, "downloads": -1, "filename": "quicklib-0.2.9.tar.gz", "has_sig": false, "md5_digest": "3ff2e5046ab8f7a7518ab2dd79e74049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38305, "upload_time": "2018-01-20T21:30:11", "url": "https://files.pythonhosted.org/packages/75/94/2171e2ba1b83be9851703cc50df1c67cf37326e78e2a9a9ef4d2a2aa782b/quicklib-0.2.9.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "16856dc261d5d05b947618e8f4b4a433", "sha256": "1d63e4b7377b4be35217b2725ea1a42cdc1bb6b835b68996614295fb65a6fa0b" }, "downloads": -1, "filename": "quicklib-0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "16856dc261d5d05b947618e8f4b4a433", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 46422, "upload_time": "2018-01-27T22:20:20", "url": "https://files.pythonhosted.org/packages/7e/f2/b53dccfae54e9a54fc45f97936a2310a87dfc7cbe10c503fbd715621c0fb/quicklib-0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6938d3a38203b8a6184072336d6b6312", "sha256": "29c2f949834550367fb3168907926d47deed86491cc0d010e0599e182c93aefc" }, "downloads": -1, "filename": "quicklib-0.3.tar.gz", "has_sig": false, "md5_digest": "6938d3a38203b8a6184072336d6b6312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40012, "upload_time": "2018-01-27T22:20:21", "url": "https://files.pythonhosted.org/packages/f2/d7/b421feee334bad14ff77d7d8eab364fd1668404f199ea90a872e7eb6deb0/quicklib-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "fdb5894906df16e75085cd4b116f7762", "sha256": "60affa21fbc66c1bc10afebc4355df0783e6d35f683a6c77c9be9c0e27aaa8aa" }, "downloads": -1, "filename": "quicklib-0.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "fdb5894906df16e75085cd4b116f7762", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 46487, "upload_time": "2018-01-27T22:56:53", "url": "https://files.pythonhosted.org/packages/f3/ff/f8b32ec6eda0649c8d834deca8a345c307125b2beef5164c8621c38b1dee/quicklib-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6a92af6fd0acc1eaeabb13c2cb54811", "sha256": "d39844674ca7089e1bf98699b5dcd8dca10ea0f247084b9275d50a7470ce891c" }, "downloads": -1, "filename": "quicklib-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b6a92af6fd0acc1eaeabb13c2cb54811", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40033, "upload_time": "2018-01-27T22:56:54", "url": "https://files.pythonhosted.org/packages/31/a4/6d32299a2ac509b085708ea30e5aff3f61a0e71009b12d06660fbd2f1424/quicklib-0.3.1.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "fcada065d040dacf5d6f197b98c895f1", "sha256": "9f7d576c43d4454042bded9cd2f25fa83453feb74a00f10a2c8f16d215df6256" }, "downloads": -1, "filename": "quicklib-0.3.11-py2-none-any.whl", "has_sig": false, "md5_digest": "fcada065d040dacf5d6f197b98c895f1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 43091, "upload_time": "2019-08-04T17:48:01", "url": "https://files.pythonhosted.org/packages/79/e1/3e792dcca57d30e5198c6d2edfee9ee43c640ef1750d834a2dc3c9314dd8/quicklib-0.3.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a26af6282df89135eada32d7d75d9f1", "sha256": "704b8b8ab3bc9c21acb6bbd359c162770ee681ca7e02253c1efcec6feb16aad9" }, "downloads": -1, "filename": "quicklib-0.3.11.tar.gz", "has_sig": false, "md5_digest": "4a26af6282df89135eada32d7d75d9f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43975, "upload_time": "2019-08-04T17:48:03", "url": "https://files.pythonhosted.org/packages/8f/0f/3bf061efa9e06dee79315f5ffd1794fbc44a27fe0fa5271904209db916d3/quicklib-0.3.11.tar.gz" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "0d1fbd44db5b76c2fcf6d9a6d4a7b95e", "sha256": "2fda14e4511b336658c41bbf9dc8f224255b90d5711bc2a1f8edfbf98ad399ef" }, "downloads": -1, "filename": "quicklib-0.3.13-py2-none-any.whl", "has_sig": false, "md5_digest": "0d1fbd44db5b76c2fcf6d9a6d4a7b95e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 43102, "upload_time": "2019-08-05T09:23:25", "url": "https://files.pythonhosted.org/packages/1d/70/1eb2dd1e419bcc0258a3b577a68b11611259b3e66f9e049191723e98f3f1/quicklib-0.3.13-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99d8a5f337ffa224d2580798dca94fe0", "sha256": "da8866cb94d39d65edc7cba363b581dda71c384a725fb652428f7e658648d65a" }, "downloads": -1, "filename": "quicklib-0.3.13.tar.gz", "has_sig": false, "md5_digest": "99d8a5f337ffa224d2580798dca94fe0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43991, "upload_time": "2019-08-05T09:23:26", "url": "https://files.pythonhosted.org/packages/50/51/1b3547fd309ba74051a7016927050cdea0bf9ea2347725dc1ef071d7c597/quicklib-0.3.13.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "7608b6fb1fcd2dfdbe94dca2b10130f0", "sha256": "44aaeb76110f49d9e215a6dc9110e07271e0ac93a03d320a38b6cf2ca65769d2" }, "downloads": -1, "filename": "quicklib-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "7608b6fb1fcd2dfdbe94dca2b10130f0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 47063, "upload_time": "2018-02-05T07:12:36", "url": "https://files.pythonhosted.org/packages/aa/4e/fc769fececc6e6a15df14ec116f8853f1c1c9f3c99104f629fde0479b6a7/quicklib-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03036e59103d3a7f9b125b743a1fc496", "sha256": "edbeb085fb690eadbdd5cd4dcc7b3048657a658ad6283803cad1ed1a3727b8e0" }, "downloads": -1, "filename": "quicklib-0.3.2.tar.gz", "has_sig": false, "md5_digest": "03036e59103d3a7f9b125b743a1fc496", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40642, "upload_time": "2018-02-05T07:12:40", "url": "https://files.pythonhosted.org/packages/34/30/2f510f790fd8983cefeb7ca2fed630cb6d7fd4b1bf7c75095398be541c2e/quicklib-0.3.2.tar.gz" } ], "0.3.26": [ { "comment_text": "", "digests": { "md5": "4599a3c53fa45cc279340be3f4c911cc", "sha256": "f6f1d2c8fc702b02f1a325f0e778c0c09d7688d7e82d73500c6a1ef9597edc5c" }, "downloads": -1, "filename": "quicklib-0.3.26-py2-none-any.whl", "has_sig": false, "md5_digest": "4599a3c53fa45cc279340be3f4c911cc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 450950, "upload_time": "2019-08-18T13:24:58", "url": "https://files.pythonhosted.org/packages/c1/d4/21bea1de27a6282d4cc5ae0ef21a2fdebd7495e65f8dff66834a1d50702f/quicklib-0.3.26-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "082c3cdba794ec896a8f7d0c0d6a90e6", "sha256": "8bfa0c15bf9c5095d1bf4a64c7106d64829197d5f69783af4d28fb047ef3400c" }, "downloads": -1, "filename": "quicklib-0.3.26-py3-none-any.whl", "has_sig": false, "md5_digest": "082c3cdba794ec896a8f7d0c0d6a90e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 450950, "upload_time": "2019-08-18T13:25:21", "url": "https://files.pythonhosted.org/packages/97/44/4476b8d62f8c891914a0e8675afbe5b74195ad14401dcc8c748646fab27c/quicklib-0.3.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70b8549034b696061ac33272d2f3aae9", "sha256": "539f02f00766291a38aecdc9adcfd5b015dcca92549def17121e7a0f6eca34a3" }, "downloads": -1, "filename": "quicklib-0.3.26.tar.gz", "has_sig": false, "md5_digest": "70b8549034b696061ac33272d2f3aae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 450855, "upload_time": "2019-08-18T13:25:00", "url": "https://files.pythonhosted.org/packages/07/1a/dd3548c5f55f61d26827e4a846a933eef9ee1e2ff2132a9352aac29be597/quicklib-0.3.26.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "258a44760d5c57fd4f417fb07ca8bcc3", "sha256": "00b7b3b8ef9b250020b6d8e03cd10e41b9c4527b804ccc54e373861383d79546" }, "downloads": -1, "filename": "quicklib-0.3.4-py2-none-any.whl", "has_sig": false, "md5_digest": "258a44760d5c57fd4f417fb07ca8bcc3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42118, "upload_time": "2018-05-10T11:27:04", "url": "https://files.pythonhosted.org/packages/c7/c9/aee3e1211435c47e5b4f9c259f051dbaf07afadcfee06d09a80a8202a288/quicklib-0.3.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6f3e8ad8faea40b9a0a88f27ab368a5", "sha256": "19c6203d3379fcdaaf7e6e8329405db21e11e7a65c469b617b04b54e601c2ef2" }, "downloads": -1, "filename": "quicklib-0.3.4.tar.gz", "has_sig": false, "md5_digest": "c6f3e8ad8faea40b9a0a88f27ab368a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40610, "upload_time": "2018-05-10T11:27:05", "url": "https://files.pythonhosted.org/packages/06/4b/e9556fde5c3a14711e8b3060453a105e90afd423c92547ff06367cad0030/quicklib-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f1f31d47172faf0a386640f09c16e669", "sha256": "fd3138c3316a467463bcb095198c801d9bfa287d2aaae75d2b04f183d2bc2ce0" }, "downloads": -1, "filename": "quicklib-0.3.5-py2-none-any.whl", "has_sig": false, "md5_digest": "f1f31d47172faf0a386640f09c16e669", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42137, "upload_time": "2018-07-11T08:29:40", "url": "https://files.pythonhosted.org/packages/42/8c/818fc234729c0b879c1e0fb0b3cd843b5555df3c205738116748072c1ea4/quicklib-0.3.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5f7f0f8b9fd945f1be1aef181a65fba", "sha256": "e51618a8334b112317d1bb49979277cb74f96872be89b77ae2402af393213a75" }, "downloads": -1, "filename": "quicklib-0.3.5.tar.gz", "has_sig": false, "md5_digest": "d5f7f0f8b9fd945f1be1aef181a65fba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40636, "upload_time": "2018-07-11T08:29:41", "url": "https://files.pythonhosted.org/packages/33/f7/0b29d3e8342736cc4d5fb0b82ec3571708b496154f3395cde12eac5fce15/quicklib-0.3.5.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "b630912532876df6b836cde6bf0aceca", "sha256": "9adca0933d2a5b8ae81fa6ec545d9c3f09df3397d687f6eb3077c1c4a0b9c9fd" }, "downloads": -1, "filename": "quicklib-0.3.9-py2-none-any.whl", "has_sig": false, "md5_digest": "b630912532876df6b836cde6bf0aceca", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 43070, "upload_time": "2019-08-04T17:39:34", "url": "https://files.pythonhosted.org/packages/09/41/451591dc049398c26846c7577d30e027f6020013e2ca354ad3092513195a/quicklib-0.3.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "397867bb49a1d082a16b3690f524ee5d", "sha256": "41d4e4e59ada6df03c1d134846c0a46eeebac9629ad81edfaab794875e7a1a33" }, "downloads": -1, "filename": "quicklib-0.3.9.tar.gz", "has_sig": false, "md5_digest": "397867bb49a1d082a16b3690f524ee5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43966, "upload_time": "2019-08-04T17:39:36", "url": "https://files.pythonhosted.org/packages/d3/ec/97a6b377ff84329c387f4336b8f9933d12fe26a558121ec580a5e7c51be1/quicklib-0.3.9.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "aede27ebf8bb17324c0b39e40a6ab3ab", "sha256": "c3b65d401e8443a7c80ea766e68dc6d7728dc5d2013269ebe0d949840f1410f3" }, "downloads": -1, "filename": "quicklib-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "aede27ebf8bb17324c0b39e40a6ab3ab", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 450720, "upload_time": "2019-08-18T13:35:17", "url": "https://files.pythonhosted.org/packages/7f/87/d39d1d8afd4dcf03fb025921b06e1077507293a22e5323def3802e2957af/quicklib-0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11a10c117fb04e2baa6b8025b0cd33d9", "sha256": "f00c79954a0777d2208074932e077021240f12ec300fe9637520973f72758752" }, "downloads": -1, "filename": "quicklib-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "11a10c117fb04e2baa6b8025b0cd33d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 450720, "upload_time": "2019-08-18T13:36:04", "url": "https://files.pythonhosted.org/packages/6d/d9/0b058f9fd902ef08dd5c6f073dbd2a8245d58b92c8c8bc7e23ada097ca7e/quicklib-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e0864afb594f679f1098ddd0ed92c65", "sha256": "65fd7216859093cf8a3c78e7f2066c2db7abc5fdf18fed10873f5ff81235d0df" }, "downloads": -1, "filename": "quicklib-0.4.tar.gz", "has_sig": false, "md5_digest": "6e0864afb594f679f1098ddd0ed92c65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 450680, "upload_time": "2019-08-18T13:35:19", "url": "https://files.pythonhosted.org/packages/cc/c4/101f3346e533738c27ada7e07a647683c72b546130b1878732c75dcf24ff/quicklib-0.4.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2197082d4748002bcc13f3237b09b9e5", "sha256": "0315448f153431ac4e5652ec63e3d147002463adf09a3c6d47a0a95ab74f2f11" }, "downloads": -1, "filename": "quicklib-0.4.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2197082d4748002bcc13f3237b09b9e5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 501347, "upload_time": "2019-08-19T14:40:17", "url": "https://files.pythonhosted.org/packages/88/c5/67431e922d627155603bc57935b48e50d18903920623761f14ada09b5bb9/quicklib-0.4.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d29e6492591e5f817500b3539c2ff62c", "sha256": "d957b6fc946ccdd2373f350f7e04753c36485ad178d4643165cf5e03ab95802a" }, "downloads": -1, "filename": "quicklib-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d29e6492591e5f817500b3539c2ff62c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 501347, "upload_time": "2019-08-19T14:40:32", "url": "https://files.pythonhosted.org/packages/be/4a/e9e6f3fec19d1a662fd408b65c0ec61cba635eb001f20f1a8bbad84caa22/quicklib-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76613a3a3e1ea9e3845a772d6f51891d", "sha256": "6028fa20342956350d0354e9a4ee7a2ff232ccb6a5c9f2ea66c9a5f18c3e218d" }, "downloads": -1, "filename": "quicklib-0.4.2.tar.gz", "has_sig": false, "md5_digest": "76613a3a3e1ea9e3845a772d6f51891d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501296, "upload_time": "2019-08-19T14:40:18", "url": "https://files.pythonhosted.org/packages/85/2e/f04d474eda2712ae371d16ce0248a714ca7bd563437b30533e6ca8ebfdad/quicklib-0.4.2.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "9ce483144c22077e20518ce2acbcc17e", "sha256": "ec83614e6a7d0cc2fa618dbb2eb4680e53c12cbff9e0ff79ae3268b793e6e7fc" }, "downloads": -1, "filename": "quicklib-0.4.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9ce483144c22077e20518ce2acbcc17e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 502289, "upload_time": "2019-08-19T18:14:34", "url": "https://files.pythonhosted.org/packages/5f/62/f4b7a3c44a06aba6908d6aee0d90276976016bebe06b9189617e876d85d5/quicklib-0.4.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9575aedce45ed889558e8ddefc8e7125", "sha256": "c00ab6bd7ec8d38e45e00b608f0718f607b06175c375d69e0a326dc2e3a674d6" }, "downloads": -1, "filename": "quicklib-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9575aedce45ed889558e8ddefc8e7125", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 502289, "upload_time": "2019-08-19T18:14:46", "url": "https://files.pythonhosted.org/packages/c4/13/f35a9c1f7ab180d8899cd259275c06b06a77c243759df061585d68d0999e/quicklib-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c38bf5492c02e2363dbae2aaa29663", "sha256": "2f1032f7b815a5e89d73ae0d06c454c778850a9d3ab093058629eb32a5275d07" }, "downloads": -1, "filename": "quicklib-0.4.4.tar.gz", "has_sig": false, "md5_digest": "90c38bf5492c02e2363dbae2aaa29663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501909, "upload_time": "2019-08-19T18:14:36", "url": "https://files.pythonhosted.org/packages/39/21/d48c4fca0c4e9ca042adb90c2c12682ff0baa5961be7dfd3070a5d61f946/quicklib-0.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9ce483144c22077e20518ce2acbcc17e", "sha256": "ec83614e6a7d0cc2fa618dbb2eb4680e53c12cbff9e0ff79ae3268b793e6e7fc" }, "downloads": -1, "filename": "quicklib-0.4.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9ce483144c22077e20518ce2acbcc17e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 502289, "upload_time": "2019-08-19T18:14:34", "url": "https://files.pythonhosted.org/packages/5f/62/f4b7a3c44a06aba6908d6aee0d90276976016bebe06b9189617e876d85d5/quicklib-0.4.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9575aedce45ed889558e8ddefc8e7125", "sha256": "c00ab6bd7ec8d38e45e00b608f0718f607b06175c375d69e0a326dc2e3a674d6" }, "downloads": -1, "filename": "quicklib-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9575aedce45ed889558e8ddefc8e7125", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 502289, "upload_time": "2019-08-19T18:14:46", "url": "https://files.pythonhosted.org/packages/c4/13/f35a9c1f7ab180d8899cd259275c06b06a77c243759df061585d68d0999e/quicklib-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c38bf5492c02e2363dbae2aaa29663", "sha256": "2f1032f7b815a5e89d73ae0d06c454c778850a9d3ab093058629eb32a5275d07" }, "downloads": -1, "filename": "quicklib-0.4.4.tar.gz", "has_sig": false, "md5_digest": "90c38bf5492c02e2363dbae2aaa29663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501909, "upload_time": "2019-08-19T18:14:36", "url": "https://files.pythonhosted.org/packages/39/21/d48c4fca0c4e9ca042adb90c2c12682ff0baa5961be7dfd3070a5d61f946/quicklib-0.4.4.tar.gz" } ] }