{ "info": { "author": "NCBI", "author_email": "python-core@ncbi.nlm.nih.gov", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "# PacKit\n\n## Rationale\n\nCreating python packages is routine operation that involves a lot of\nactions that could be automated. Although there are petty good tools\nlike [pbr](http://docs.openstack.org/developer/pbr/) for that purpose,\nthey miss some features and lack flexibility by trying to enforce some\nstrongly opinionated decisions upon you. PacKit tries to solve this by\nproviding a simple, convenient, and flexible way to create and build\npackages while aiming for following goals:\n\n - simple declarative way to configure your package through `setup.cfg`\n following [distutils2 setup.cfg\n syntax](http://alexis.notmyidea.org/distutils2/setupcfg.html)\n - reasonable defaults\n - open for extension\n\n## Overview\n\nPacKit is wrapper around [pbr](http://docs.openstack.org/developer/pbr/)\nthough it only uses it for interaction with setuptools/distutils through\nsimplified interface. None of\n[pbr](http://docs.openstack.org/developer/pbr/) functions are exposed\nbut instead PacKit provides its own interface.\n\n### Available facilities\n\nHere's a brief overview of currently implemented facilities and the list\nwill be extended as new ones will be added.\n\n - **auto-version** - set package version depending on selected\n versioning strategy.\n - **auto-description** - set package long description\n - **auto-license** - include license file into distribution\n - **auto-dependencies** - populate `install_requires` and\n *test\\_requires* from requirement files\n - **auto-packages** - discover packages to include in distribution.\n - **auto-extra-meta** - add useful options to the metadata config\n section\n - **auto-package-data** - include all files tracked by `git` from\n package dirs only.\n - **auto-tests** - make `python setup.py test` run tests with `tox` or\n `pytest` (depending on `tox.ini` presence).\n\nOn top of that PacKit forces easy\\_install to honor following [PIP's\nfetch\ndirectives](https://pip.pypa.io/en/latest/user_guide.html#configuration):\n\n - index\\_url\n - find\\_links\n\n### Planned facilities\n\n - **auto-plate** - integration with\n [platter](http://platter.pocoo.org/)\n - **auto-license** - fill out license information\n - **auto-pep8** - produce style-check reports\n - **auto-docs** - API docs generation\n - **auto-clean** - configurable clean jobs\n - **auto-coverage** (?) - produce coverage reports while running tests\n\nIf you don't see desired facilities or have cool features in mind feel\nfree to contact us and tell about your ideas.\n\n## Usage\n\nCreate a `setup.py` in your project dir: :\n\n from setuptools import setup\n \n setup(setup_requires='packit', packit=True)\n\nThat was the first and the last time you touched that file for your\nproject.\n\nNow let's create a `setup.cfg` that you will use in order to configure\nyour package:\n\n [metadata]\n name = cool-package\n\nAnd... if you're not doing anything tricky in your package then that's\nenough\\! And if you do, take a look at the section below.\n\n## Facilities\n\nCurrently all available facilities are enabled by default. Though you\ncan easily turn them off by using `facilities` section in your\n`setup.cfg`:\n\n [facilities]\n auto-version = 0\n auto-dependencies = f\n auto-packages = false\n auto-package-data = n\n auto-tests = no\n\nIf facility is explicitly disabled it won't be used even if\nfacility-specific configuration section is present.\n\nFacility-specific defaults and configuration options described below.\n\n### auto-version\n\nWhen enabled, `auto-version` will generate and set package version\naccording to selected versioning strategy.\n\nVersioning strategy can be selected using `type` field under\n`auto-version` section within `setup.cfg`. The default is:\n\n [auto-version]\n type = git-pep440\n output = src/templates/version.html\n\nYou can use `output` field to ask PacKit to write generated version\nvalue into specified filename. The specified filename do not need to\nexist but the parent directories should exist. Provided path should\nalways use forward slashes.\n\n#### git-pep440\n\nGenerate [PEP440](https://www.python.org/dev/peps/pep-0440/)-compliant\nversion from **annotated** `git` tags. It's expected that you are using\ngit tags that follow [public version\nidentifier](https://www.python.org/dev/peps/pep-0440/#public-version-identifiers)\ndescription and `git-pep440` will just append number of commits since\ntag was applied to your tag value (the `N` in [public version\nidentifier](https://www.python.org/dev/peps/pep-0440/#public-version-identifiers)\ndescription).\n\nIf number of commits since tag equal to 0 (your building the tagged\nversion) the `N` value won't be appended. Otherwise, it will be appended\nand [local version\nidentifier](https://www.python.org/dev/peps/pep-0440/#local-version-identifiers)\nequal to first 7 chars of commit hash will be also added.\n\nPlease note: you must create an **annotated** tag, otherwise it will be\nignored.\n\nExample: 1. \\ -\\>\nversion is `1.2.3.dev`\n\n2. \\ -\\> version is `1.2.3.dev.post1`\n3. \\ -\\> version is `1.2.3.dev.post2`\n4. \\ -\\> version is `1.2.3.a`\n5. \\ -\\> version is `1.2.3.a.post1`\n6. \\ -\\> version is `1.2.3`\n7. \\ -\\> version is `1.2.3.post1`\n8. \\ -\\> version is `1.2.3.post2`\n\n#### fixed\n\nUse value specified in `value` (it's required when this strategy is\nused) under `auto-version` section in `setup.cfg`:\n\n [auto-version]\n type = fixed\n value = 3.3\n\n#### file\n\nRead a line using UTF-8 encoding from the file specified in `value`\n(it's required when this strategy is used) under `auto-version` section\nin `setup.cfg`, strip it and use as a version.\n\n [auto-version]\n type = file\n value = VERSION.txt\n\n#### shell\n\nExecute command specified in `value` (it's required when this strategy\nis used) under `auto-version` section in `setup.cfg`, read a line from\n`stdout`, strip it and use as a version\n\n#### composite\n\nThe most advanced version strategy designed for special cases. It allows\nyou to generate complex version values based on other version\nstrategies. The usage is pretty simple though:\n\n [auto-version]\n type = composite\n value = {foo}.{bar}+{git}\n output = main.version\n \n [auto-version:foo]\n type = fixed\n value = 42\n output = 1st.version\n \n [auto-version:bar]\n type = shell\n value = echo $RANDOM\n \n [auto-version:git]\n type = git-pep440\n output = 3rd.version\n\nThe `value` field in composite version strategy should be a valid\n[string format\nexpression](https://docs.python.org/2/library/string.html#string-formatting).\n\nPlease note that `output` directives used here only for reference (to\nshow that they can be used anywhere) and are not required.\n\nIt's OK to define 'extra' version components and not use them but it's\nan error to not define any of components mentioned in composite version\ntemplate.\n\n### auto-description\n\nWhen enabled will fill out `long_description` for package from a readme.\n\nThe `readme` file name could be specified with `file` field under\n`auto-description` section.\n\nIf no file name provided, it will be discovered automatically by trying\nfollowing list of files:\n\n - README\n - readme\n - CHANGELOG\n - changelog\n\nEach of these files will be tried with following extensions:\n\n - \\\n - .md\n - .markdown\n - .mkdn\n - .text\n - .rst\n - .txt\n\nThe readme file will be included in the package data.\n\n### auto-license\n\nWhen enabled will include the license file into the distribution.\n\nThe license file name could be specified by the `file` field within\n`auto-license` section.\n\nIf license file name is not provided the facility will try to discover\nit in the current dir trying following file names:\n\n - LICENSE\n - license\n\nEach of these files will be tried with following extensions:\n\n - \\\n - .md\n - .markdown\n - .mkdn\n - .text\n - .rst\n - .txt\n\n### auto-dependencies\n\nWhen enabled will fill `install_requires` and `test_requires` from\nrequirement files.\n\nRequirement files could be specified by `install` and `test` fields\nunder the `auto-dependencies` section of the `setup.cfg`.\n\nIf requirements file names not provided then the facility will try to\ndiscover them automatically.\n\nFor installation requirements following paths will be tried:\n\n - requires\n - requirements\n - requirements/prod\n - requirements/release\n - requirements/install\n - requirements/main\n - requirements/base\n\nFor testing requirements following paths will be tried:\n\n - test-requires\n - test\\_requires\n - test-requirements\n - test\\_requirements\n - requirements\\_test\n - requirements-test\n - requirements/test\n\nFor each path following extensions will be tried\n\n - \\\n - .pip\n - .txt\n\nOnce a file is found, PacKit stops looking for more files.\n\n**You can use vcs project urls and/or archive urls/paths** as described\nin [pip\nusage](https://pip.pypa.io/en/latest/reference/pip_install.html#usage) -\nthey will be split in dependency links and package names during package\ncreation and will be properly handled by pip/easyinstall during\ninstallation. Remember that you can also make \"includes\" relationships\nbetween `requirements.txt` files by including a line like `-r\nother-requires-file.txt`.\n\n### auto-packages\n\nWhen enabled and no packages provided in `setup.cfg` through `packages`\noption under `files` section will try to automatically find out all\npackages in current dir recursively.\n\nIt operates using `exclude` and `include` values that can be specified\nunder `auto-packages` section within `setup.cfg`.\n\nIf `exclude` not provided the following defaults will be used: `test`,\n`docs`, `.tox` and `env`.\n\nIf `include` not provided, `auto-packages` will try the following steps\nin order to generate it:\n\n1. If `packages_root` value provided under `files` section in\n `setup.cfg`, it will be used.\n2. Otherwise the current working dir will be scanned for any python\n packages (dirs with \\_\\_init\\_\\_.py) while honoring exclude `value`.\n *This packages also will be included into the resulting list of\n packages.*\n\nOnce `include` value is determined, the resulting packages list will be\ngenerated using following algorithm:\n\n for path in include:\n found_packages |= set(find_packages(path, exclude))\n\n### auto-extra-meta\n\nWhen enabled, adds a number of additional options to 'metadata' section.\n\nRight now, only 1 extra option supported:\n\n - **is\\_pure** - allows you to override 'purity' flag for\n distribution, i.e. you can explicitly say whether your distribution\n is platform-specific or no.\n\n### auto-tests\n\nHas no additional configuration options \\[yet\\].\n\nWhen enabled, the `python setup.py test` is equal to running:\n\n - **tox** if `tox.ini` is present\n - **pytest** with\n [pytest-gitignore](https://pypi.python.org/pypi/pytest-gitignore/)\n and\n [teamcity-messages](https://pypi.python.org/pypi/teamcity-messages/)\n plugins enabled by default otherwise (if you need any other plugins\n just add them to test requirements) and activate them with\n additional options (see below)\n\nThe facility automatically downloads underlying test framework and\ninstall it - you don't need to worry about it.\n\nYou can pass additional parameters to the underlying test framework with\n'-a' or '--additional-test-args='.\n\n### auto-package-data\n\nSee the next section.\n\n## Including Files Other than Python Libraries\n\nOften, you need to include a data file, or another program, or some\nother kind of file, with your Python package. Here are a number of\ncommon situations, and how to accomplish them using packit:\n\n### Placing data files with the code that uses them: auto-package-data\n\nThe default is that the `auto-package-data` facility is enabled. In this\nconfiguration, you can include data files for your python library very\neasily by just:\n\n - Placing them in the same subdirectory as a Python library that's\n already included, for example nicelib/data.csv, and\n - Adding them to git version control.\n\nThis will cause the packaging system to install them in the same place -\nright next to your Python files, but inside the virtualenv where your\npackage is installed. Putting data files inside a python package makes\nit convenient to access the files using some [easy functions in the\npkg\\_resources\nmodule](https://setuptools.readthedocs.io/en/latest/pkg_resources.html#basic-resource-access).\n\n`pkg_resources` should always be available - it's part of setuptools,\nwhich is installed in every virtualenv and every modern Python\ninstallation. Using `pkg_resources`, rather than messing with\n`os.dirname(__file__)` or `os.path.join(os.environ['VIRTUAL_ENV'],\n...)`, makes your package zip-safe. For example, that means it can be\nused inside a `pex` or `zipapp` single file executable.\n\nYou can turn off the `auto-package-data` facility if you don't want this\nfile inclusion mechanism to happen:\n\n [facilities]\n auto-package-data = no\n\n### Placing data files relative to the virtual environment\n\nYou can also place files relative to the virtualenv, rather than inside\nthe package hierarchy (which would be in\n`virtualenv/lib/python*/site-packages/something`). This is often used\nfor things like static files in a Django project, so that they are easy\nto find for an external web server. The syntax for this is:\n\n [files]\n data_files =\n dest_dir = src_dir/**\n dest_dir = file_to_put_there\n\nIn this example, `dest_dir` will be created within the top level of the\nvirtualenv. The contents of `src_dir` will be placed inside it, along\nwith `file_to_put_there`.\n\nIf you need to include a compiled executable file in your package, this\nis a convenient way to do it - include `bin = bin/**` for example. See\nthe `fastatools` package for an example of this.\n\n### Including Python scripts\n\nScripts need to be treated specially, and not just dropped into `bin`\nusing `data_files`, because Python changes the shebang (`#!`) line to\nmatch the virtualenv's python interpreter. This means you can directly\nrun a script without activating a virtualenv - e.g. `env/bin/pip install\nattrs` will work even if `env` isn't activated.\\[1\\]\n\nIf you have some scripts already, the easiest thing is to collect them\nin one directory, then use `scripts`:\n\n [files]\n scripts =\n bin/*\n\nAlternatively, setuptools has a special way to directly invoke a Python\nfunction from the command line, called the `console_scripts` entry\npoint. `pull-sp-sub` is an internal package that uses this:\n\n [entry_points]\n console_scripts =\n pull-sp-sub = pull_sp_sub:main\n\nTo explain that last line, it's *name-of-the-script* `=`\n*dotted-path-of-the-python-module*`:`*name-of-the-python-function*. So\nwith this configuration, once the package is installed, setuptools\ncreates a script at `$VIRTUAL_ENV/bin/pull-sp-sub` which activates the\nvirtualenv and then calls the `main` function in the `pull_sp_sub`\nmodule.\n\nScripts created this way are slightly slower to start up than scripts\nthat directly run a Python file. Also, setuptools seems to do more\ndependency checking when starting a script like this, so if you\nregularly live with broken dependencies inside your virtualenv, this\nwill be frustrating for you. On the other hand, scripts made this way\nwill work better on Windows, if that's one of your target environments.\n\n### Including compiled shared libraries\n\nThis includes things that use the C++ Toolkit (see `python-applog` and\n`cpp-toolkit-validators` for examples). These `.so` files should get\nplaced inside the python package hierarchy. Presumably, if you're\ncompiling them, they are build artifacts that won't be tracked by git,\nso they won't be included automatically by `auto-package-data`. Instead,\nonce they are there, use `extra_files` to have the packaging system\nnotice them:\n\n [files]\n extra_files =\n ncbilog/libclog.so\n ncbilog/libclog.version\n\nIf your packages live inside a `src` directory, you do need to include\nthat in the `extra_files` path:\n\n [files]\n extra_files =\n src/mypkg/do_something_quickly.so\n\nNotice that `extra_files` is different from `data_files` which we used\nabove.\n\n### Including uncompiled C extensions (including Cython)\n\nPackit can coexist with setuptools's support for C extensions. Here is\nan [example with a C file that will be compiled on the user's\nsystem](https://bitbucket.ncbi.nlm.nih.gov/projects/PY/repos/is_xml_encodable/browse/setup.py).\nIn that particular package, the author chose to require Cython for\ndevelopers but not for end users, so the distribution and the git repo\ninclude both the `.pyx` file and the `.c` file it's translated to.\n\n### Known Issues\n\n - If your Python package is not in the root of your Git repository (so\n `setup.py` is not in the same directory as `.git`), then\n `auto-package-data` will not work.\n - The `auto-package-data` section has configuration options, but they\n don't do anything right now\n ([PY-504](https://jira.ncbi.nlm.nih.gov/browse/PY-504)).\n\n## Further Development\n\n - Add tests\n - Improve docs\n - More configuration options for existing facilities\n - New facilities\n - Allow extension through entry points\n\n\n\n1. Unlike `source env/bin/activate`, this does not change the `$PATH`\n or set `$VIRTUAL_ENV`, so there are a few rare circumstances where\n it's not good enough: if your script needs to start another script\n using `subprocess` or `popen`, or if it tries to access data using a\n path relative to `$VIRTUAL_ENV`. Take a look at\n `env/bin/activate_this.py` if you encounter this problem.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/packit", "keywords": "", "license": "Public Domain", "maintainer": "", "maintainer_email": "", "name": "packit", "package_url": "https://pypi.org/project/packit/", "platform": "", "project_url": "https://pypi.org/project/packit/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/packit" }, "release_url": "https://pypi.org/project/packit/0.24/", "requires_dist": null, "requires_python": "", "summary": "Python packaging in declarative way (wrapping pbr to make it flexible)", "version": "0.24" }, "last_serial": 5412280, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "20d9fb98dbde9ab441c4a633c447adca", "sha256": "afa8ed61ecea732961d454b7fb20db5477301af6241df11386f0bd9e31f2ca6b" }, "downloads": -1, "filename": "packit-0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20d9fb98dbde9ab441c4a633c447adca", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26957, "upload_time": "2015-07-07T17:06:25", "url": "https://files.pythonhosted.org/packages/3f/f8/e02120475d6f2de2d3aa3afcf9be4b152a70e38b0d09a03afc9d7d3e04f9/packit-0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2aa3354084d1c7e7b80630a6d450e6c", "sha256": "5bd95351ac3777c1e671fd4cc05f7be05e2ce539526bff659a391c30c1b5ba1a" }, "downloads": -1, "filename": "packit-0.10.tar.gz", "has_sig": false, "md5_digest": "a2aa3354084d1c7e7b80630a6d450e6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19565, "upload_time": "2015-07-07T17:06:21", "url": "https://files.pythonhosted.org/packages/43/0a/10ef38e97259982269e6861d54302e2dff513e9125febe54dfc6d6bd6b59/packit-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "1f35081cf61d03c13e1896d9317e0e21", "sha256": "9719cc052c57c206fa5e96b322e4bba8d4b358c77832f8980eae8c844a784e5c" }, "downloads": -1, "filename": "packit-0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f35081cf61d03c13e1896d9317e0e21", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27591, "upload_time": "2015-10-07T15:11:24", "url": "https://files.pythonhosted.org/packages/c7/81/8f5c645233dd6ea5885a3811186ade6b394450db2877b0e1f41ec6efc3a0/packit-0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ac1c42520e72191dee4e0b8ac5d22fc", "sha256": "0459afc3846729e308d7c2209ebb865f1e1b3140048d94f457cee37682cbcd6c" }, "downloads": -1, "filename": "packit-0.11.tar.gz", "has_sig": false, "md5_digest": "9ac1c42520e72191dee4e0b8ac5d22fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20237, "upload_time": "2015-10-07T15:11:27", "url": "https://files.pythonhosted.org/packages/03/e0/ee2c09b19e493aca0b29c2acafe6e23a22a23296e7e4863ad9d02fe51b22/packit-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "b5d3ac8e0f613343c9a92e806c7eb6cd", "sha256": "7b982cf413e53c5d1e4c509644c104934ce990e3a2e7ae735c93fdaa217f5f2d" }, "downloads": -1, "filename": "packit-0.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5d3ac8e0f613343c9a92e806c7eb6cd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27600, "upload_time": "2015-10-26T23:11:24", "url": "https://files.pythonhosted.org/packages/b2/10/36444a87593afacc9284c9d1926a1604fdffb693ec6f0296dbbc1fd7611d/packit-0.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9819b3dc609e6356dc8ecfd1a8b3c873", "sha256": "9536f52c4cdc19b3a034ded9fb4404e66308a367ee0c4d1f03b0fa8f79a3c07d" }, "downloads": -1, "filename": "packit-0.12.tar.gz", "has_sig": false, "md5_digest": "9819b3dc609e6356dc8ecfd1a8b3c873", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20291, "upload_time": "2015-10-26T23:11:20", "url": "https://files.pythonhosted.org/packages/d9/d5/265ad26b56a9a367475a8ff22498ca0fa1af37747897b7b34e2c78c7d69d/packit-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "c40d5c9d4f1e434a0f99b97fa9bc4429", "sha256": "86a48dd88613d8e80adaa998c3014cb9ec92c9a092fc36f54a2808e02e287f11" }, "downloads": -1, "filename": "packit-0.13.tar.gz", "has_sig": false, "md5_digest": "c40d5c9d4f1e434a0f99b97fa9bc4429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20384, "upload_time": "2016-05-18T18:03:06", "url": "https://files.pythonhosted.org/packages/70/0f/981337be577244182943649fb90b7b6511a0e21146271b50559093577abb/packit-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "fb0cfbdd01ba926a7919ac93c1c2da90", "sha256": "59f701d1a447ac909c32380bfd92579aa98fd8154f64375491281886e1c5093d" }, "downloads": -1, "filename": "packit-0.14.tar.gz", "has_sig": false, "md5_digest": "fb0cfbdd01ba926a7919ac93c1c2da90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20507, "upload_time": "2016-11-10T21:11:45", "url": "https://files.pythonhosted.org/packages/41/9f/6424467b09b6639895c7d725ece5cdc16ad92f73f674b7e24fb31d0d08be/packit-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "ac7b230e6ed48ab3fceb58f420575b50", "sha256": "b486ec9960b399f568401a7115b1bcb9649e58fd081f5ff1be8751be0910c239" }, "downloads": -1, "filename": "packit-0.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac7b230e6ed48ab3fceb58f420575b50", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27842, "upload_time": "2017-03-02T21:23:16", "url": "https://files.pythonhosted.org/packages/19/c7/79f4055c3a509d6bb8f5c7c6a124df00775e2d10f1cfd060078effa701b8/packit-0.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0621df1ee186dd3878ad04a56c91c732", "sha256": "0af21f8f5141e3522301b35129c8d104554c47a0a35f162d4fa001a31d8ad092" }, "downloads": -1, "filename": "packit-0.15.tar.gz", "has_sig": false, "md5_digest": "0621df1ee186dd3878ad04a56c91c732", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20556, "upload_time": "2017-03-02T21:23:14", "url": "https://files.pythonhosted.org/packages/dc/6b/bd4e9279a77db0eb38c3cea3e1f3db6de651b20012e8833781d23188b8e8/packit-0.15.tar.gz" } ], "0.16": [ { "comment_text": "", "digests": { "md5": "dd1dddc0486541df7094e3b2360b538a", "sha256": "3f3fee17f2c6d7475d202cefe3c1b0f309710348e7dc4be8daa4003ed73f5f35" }, "downloads": -1, "filename": "packit-0.16.tar.gz", "has_sig": false, "md5_digest": "dd1dddc0486541df7094e3b2360b538a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20549, "upload_time": "2017-04-24T15:18:25", "url": "https://files.pythonhosted.org/packages/d2/cb/e24fc32374eecd1f6a28fac5d0e9fb0b3169c8b807a27cd30b9fd81dde0e/packit-0.16.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "e7f8da80e733fbc5f76d54ea5e758824", "sha256": "246a349f06064e8aac02da49a5ff6a5e4edf7caca2a764201facf0d8760d48a6" }, "downloads": -1, "filename": "packit-0.17.tar.gz", "has_sig": false, "md5_digest": "e7f8da80e733fbc5f76d54ea5e758824", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20556, "upload_time": "2017-04-24T18:54:14", "url": "https://files.pythonhosted.org/packages/c6/62/df69e1bebb456690661d473e8930804d47f825a3e65b88268a1f32874a3a/packit-0.17.tar.gz" } ], "0.18": [ { "comment_text": "", "digests": { "md5": "989ad70dafaf3652714c956556103e2c", "sha256": "61f80db83322550556a18cee448b9a5927533b2575baad85392f63223a95551d" }, "downloads": -1, "filename": "packit-0.18.tar.gz", "has_sig": false, "md5_digest": "989ad70dafaf3652714c956556103e2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23891, "upload_time": "2017-04-25T16:53:57", "url": "https://files.pythonhosted.org/packages/d8/e8/831b0477b4309d688016d9f75376a4c1b821510c103ec4c893c626fb9a04/packit-0.18.tar.gz" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "c00ef28441576df997f24fc47e415d60", "sha256": "ea003c3b5e41a8e4da1f0444ef08185edb507619b454c5709a4d9173f0919592" }, "downloads": -1, "filename": "packit-0.19.tar.gz", "has_sig": false, "md5_digest": "c00ef28441576df997f24fc47e415d60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19499, "upload_time": "2018-03-27T21:32:11", "url": "https://files.pythonhosted.org/packages/ad/07/00937bbcf79a68b9cac3705ce5dd311e3a8edac835730f024520af9c236a/packit-0.19.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "6a60f0f4cbdf5cbea852fab72b6e35fd", "sha256": "d5f6cd0e8f69c9c592d70114ff58ff0133d14208ada00c706cc845c0c737e22b" }, "downloads": -1, "filename": "packit-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a60f0f4cbdf5cbea852fab72b6e35fd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21458, "upload_time": "2015-04-29T17:10:03", "url": "https://files.pythonhosted.org/packages/45/b2/8e1e3e250aeb2df00e561551f8379b4abc760ed9c087d559c08080e04172/packit-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93d58b31c0ac8d40a63dce951dc7b1d9", "sha256": "97af1e4d8e5cdb901629d77c3a8bd189878d6088c5eeeb3559466d7382fdaafe" }, "downloads": -1, "filename": "packit-0.2.tar.gz", "has_sig": false, "md5_digest": "93d58b31c0ac8d40a63dce951dc7b1d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18337, "upload_time": "2015-04-29T17:10:01", "url": "https://files.pythonhosted.org/packages/1d/d0/b09e53c493ef4c1a7b9cbf7ad7ebb27e52343ec8814d9f06400fa36cf129/packit-0.2.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "e8400d64779b35b6c558b85e46406cde", "sha256": "7bf422d1e3f238dfa96417e0efed8a9ff2dfd12c5f94a67ebb2515ed69d9c867" }, "downloads": -1, "filename": "packit-0.20.tar.gz", "has_sig": false, "md5_digest": "e8400d64779b35b6c558b85e46406cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19680, "upload_time": "2018-03-27T21:50:47", "url": "https://files.pythonhosted.org/packages/69/2d/66bd7f0ca8997653cdd15f08f4195cb750397286d7e5618ae3bfd579f780/packit-0.20.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "e4a0987d6d9bbb83750d9e94be39e901", "sha256": "44d29904c2e08a5df3670ed555eeebfd6b9139d5369a41b0bfe1dddf767a0fc1" }, "downloads": -1, "filename": "packit-0.21.tar.gz", "has_sig": false, "md5_digest": "e4a0987d6d9bbb83750d9e94be39e901", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21698, "upload_time": "2018-04-10T00:21:43", "url": "https://files.pythonhosted.org/packages/84/47/829a61195ccd8ecea2868b58b97c314b5765597d7bf71ace62a2f39b1ec0/packit-0.21.tar.gz" } ], "0.22": [ { "comment_text": "", "digests": { "md5": "f17671f07c068832189e3f38db10e6aa", "sha256": "56723ac1b28f92572a77e0a131b9cee35f327837d5cfbf80c8ea0453d62b1428" }, "downloads": -1, "filename": "packit-0.22.tar.gz", "has_sig": false, "md5_digest": "f17671f07c068832189e3f38db10e6aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20105, "upload_time": "2018-04-10T21:54:33", "url": "https://files.pythonhosted.org/packages/64/9e/2a31079f73b0b371037fa1f343fcd7ea1b7d1ef4aaf8a240494ada9f4f62/packit-0.22.tar.gz" } ], "0.23": [ { "comment_text": "", "digests": { "md5": "a6a967410e702fa505a26520bc7733be", "sha256": "d13a9f51e40fea62e67bb1d89bdd00a5b0fe1c686763188bf42d8b4c579cef1f" }, "downloads": -1, "filename": "packit-0.23.tar.gz", "has_sig": false, "md5_digest": "a6a967410e702fa505a26520bc7733be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23442, "upload_time": "2018-04-12T17:19:05", "url": "https://files.pythonhosted.org/packages/86/5f/3c201188e85947d7fb0cad47c77a489a90487a00082d75a352dd80cfccc7/packit-0.23.tar.gz" } ], "0.24": [ { "comment_text": "", "digests": { "md5": "642a16bbda7019b6020ec4e4eb0e80bc", "sha256": "f22cbf399a5fcded061c566691be58d421b6c2b668ee0602665749a0266715f7" }, "downloads": -1, "filename": "packit-0.24.tar.gz", "has_sig": false, "md5_digest": "642a16bbda7019b6020ec4e4eb0e80bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21713, "upload_time": "2019-06-17T21:24:07", "url": "https://files.pythonhosted.org/packages/58/4f/0ac86eb3cc9ce74f87de314faf33426798052b5b17a8e18bb4f0a08686b4/packit-0.24.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "637339e709b6d2aafc6a0c7247e05970", "sha256": "1e57f55358509935968dcfac2a06dc1e0d57ea88e0cb4894e78b5beeab0af997" }, "downloads": -1, "filename": "packit-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "637339e709b6d2aafc6a0c7247e05970", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23139, "upload_time": "2015-05-04T21:52:24", "url": "https://files.pythonhosted.org/packages/e5/e6/1a4fa1f1cf661a0332d3e774f0ed1ea4fe5e32976dc74a1fd60bc9f34a49/packit-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4080812e7264507728955e218aa413a2", "sha256": "cce6db5d04f38dee8391f421a32cac6ce4abc776fc703c9f7e182cc139239fb6" }, "downloads": -1, "filename": "packit-0.3.tar.gz", "has_sig": false, "md5_digest": "4080812e7264507728955e218aa413a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15617, "upload_time": "2015-05-04T21:52:21", "url": "https://files.pythonhosted.org/packages/44/e6/a6cedc0f0ed32eb057ae8f167058dca627a0a7b9cd25fdb0d02bb13ce69a/packit-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "9d516eccae737c58689da16022fdcbe1", "sha256": "13f898bb87545b6af7944ae7903248a79f4bc45cdc2996d75deff31aad7c5414" }, "downloads": -1, "filename": "packit-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d516eccae737c58689da16022fdcbe1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23460, "upload_time": "2015-05-05T17:02:58", "url": "https://files.pythonhosted.org/packages/9a/c9/27b23eed4d0210e29663071d499bbdb2122eea15c93e8ea5e3e4b963d18c/packit-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d7196c56fb44e815ed3ba9b104ec9ff", "sha256": "e35ccd7170ebe757c4f17752373823229fd74675e20dc42db3a82ca0773e337e" }, "downloads": -1, "filename": "packit-0.4.tar.gz", "has_sig": false, "md5_digest": "9d7196c56fb44e815ed3ba9b104ec9ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16033, "upload_time": "2015-05-05T17:02:55", "url": "https://files.pythonhosted.org/packages/db/e1/bcf5e9ca9fdb718337bdd6cc51970af04c77a0c263758026767bf8b1d08b/packit-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "e01c29e858a0c6ff5c68cf397e9f6185", "sha256": "327ed96a6cbe3137a32a5d1ab77f52a80f21db91a789a7d996c6dde6abb696fb" }, "downloads": -1, "filename": "packit-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e01c29e858a0c6ff5c68cf397e9f6185", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23524, "upload_time": "2015-05-07T21:57:25", "url": "https://files.pythonhosted.org/packages/fc/ba/a015274b996b521a9a19a91316b113adaa1fb3dad01e558867be9be7e35d/packit-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74d94c9efb9efcce8683e6597cef0528", "sha256": "3ff0f08cefbe2171bcb469e2f92e58b387f4bdd16d75166a87c1c49909628185" }, "downloads": -1, "filename": "packit-0.5.tar.gz", "has_sig": false, "md5_digest": "74d94c9efb9efcce8683e6597cef0528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16208, "upload_time": "2015-05-07T21:57:22", "url": "https://files.pythonhosted.org/packages/50/67/2018c5d7021c90ba84a9f81be6452f768baf353a4c4cec9cb9820f8e35c0/packit-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3c241e951e4ecd72112824445e581955", "sha256": "3a1fc1a9b40739b1bd92130c14435472d52c17fcbbba189ab6d42b199d82e927" }, "downloads": -1, "filename": "packit-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3c241e951e4ecd72112824445e581955", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23559, "upload_time": "2015-05-07T22:32:48", "url": "https://files.pythonhosted.org/packages/6b/dd/ca081cd53adc4a6770c36a69de0c4a9e2fe2103de8f67aab2915260a697c/packit-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dcf949532df33f2405e66a2d6b0732d", "sha256": "ab9510a1c5205879f2dd9dbb5f79f1aafe58608e901bd782fba980db0177bd9c" }, "downloads": -1, "filename": "packit-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5dcf949532df33f2405e66a2d6b0732d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16225, "upload_time": "2015-05-07T22:32:45", "url": "https://files.pythonhosted.org/packages/e2/9a/807a3a8ba070a36baa1fe65bee58b08d377616b12b8adea093d78e115daa/packit-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "9e9e49547c361ab5695046357b71af4d", "sha256": "7b7ef545d3239ef59441952172636cc69f7f1ccd40db536da1ef0eb0a1c7825f" }, "downloads": -1, "filename": "packit-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e9e49547c361ab5695046357b71af4d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23504, "upload_time": "2015-05-14T16:37:50", "url": "https://files.pythonhosted.org/packages/ee/99/23cbf35ffeb82f4061938b2d916ddafde4a1b769f1fc213a9680573a2c17/packit-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2c6927b80f76b6d7592ff971dfa0198", "sha256": "27c9a411fc565551ff2fb73c03ee690e7f276a79863c25f82ff0d87b7df3a708" }, "downloads": -1, "filename": "packit-0.6.tar.gz", "has_sig": false, "md5_digest": "f2c6927b80f76b6d7592ff971dfa0198", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16266, "upload_time": "2015-05-14T16:37:47", "url": "https://files.pythonhosted.org/packages/13/01/2f7ffccde9a9969cf5503b8fadce53801115c5852a9abb836964e631ef36/packit-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "0596f7eb9beb8073b9a2ce3881afcc96", "sha256": "acc3c7e4ff4c75b63eedeff5dfe7e40af1d77abeee4ee131e9425ab37e71a2d5" }, "downloads": -1, "filename": "packit-0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0596f7eb9beb8073b9a2ce3881afcc96", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23970, "upload_time": "2015-05-21T15:09:46", "url": "https://files.pythonhosted.org/packages/b3/a2/80553e2528d94e113f92e589b4149252557306cecc133f45e85010479dc8/packit-0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dd25c1ca4979be8865d075092cd91eb", "sha256": "0d6b3f30741b3d753eac7726e4df29dc96596fe7f0f1342680e9842880563bf7" }, "downloads": -1, "filename": "packit-0.7.tar.gz", "has_sig": false, "md5_digest": "7dd25c1ca4979be8865d075092cd91eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16712, "upload_time": "2015-05-21T15:09:43", "url": "https://files.pythonhosted.org/packages/f1/47/38ebb0d3b4944d63fe1882375e3a236b4066fd02416d110e4c4117b1ec5d/packit-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "37c4b009cf54cfd84565b8b4068584f0", "sha256": "085af4048c48c0c809ea74888d7f6971dfe2579d65558736b7a7b6e910caa6a3" }, "downloads": -1, "filename": "packit-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37c4b009cf54cfd84565b8b4068584f0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 25964, "upload_time": "2015-06-02T16:11:53", "url": "https://files.pythonhosted.org/packages/d4/85/2c94c65d885494deec74ae24c4d67d4cc4e5db20de305d150dfac221ca1b/packit-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77fc8438686c67ee6c14b1c6947597bb", "sha256": "bec69888e311bd22fa74ce27abfdb8f74028963662024af8a2504a4a4f5a3afe" }, "downloads": -1, "filename": "packit-0.8.tar.gz", "has_sig": false, "md5_digest": "77fc8438686c67ee6c14b1c6947597bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18064, "upload_time": "2015-06-02T16:11:50", "url": "https://files.pythonhosted.org/packages/da/4a/8cb4cfce05525f71278d1a9d7938742560584f98b67b83ed2885889cc8cc/packit-0.8.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "6234d4563a791e434fa5f8c268870f94", "sha256": "2255902a575c53a5419a341891ae5ade2affac6572d324a86dcbd732bc865293" }, "downloads": -1, "filename": "packit-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6234d4563a791e434fa5f8c268870f94", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26634, "upload_time": "2015-06-10T21:50:27", "url": "https://files.pythonhosted.org/packages/89/c4/1b0f373c07f7a2d90027f33835b25a56c36cae8b16871640a961fab0842e/packit-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5db42fb33a958e2f6fbf9d9be5d1f1b", "sha256": "b6ca652fab93773420ceda86775a4bdabf6c82387f4a54b045ef73e45a1cf4ec" }, "downloads": -1, "filename": "packit-0.9.1.tar.gz", "has_sig": false, "md5_digest": "a5db42fb33a958e2f6fbf9d9be5d1f1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18696, "upload_time": "2015-06-10T21:50:23", "url": "https://files.pythonhosted.org/packages/1e/0d/6d440b46c0c67dfb3c014b33c6a5bfd5eb5ae358111180744395eb131fd2/packit-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "b7a5667f760b74ee0e4f4fa6953aa91f", "sha256": "2c5f383d6d62e49f3ca37da54d6921ca603b697254c8e48cdc66f74f49043043" }, "downloads": -1, "filename": "packit-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7a5667f760b74ee0e4f4fa6953aa91f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26717, "upload_time": "2015-06-15T23:21:20", "url": "https://files.pythonhosted.org/packages/81/a2/e448102aa561cdf6645871c1d3ba8978df6378cf70678d5c44e8219f7bdc/packit-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "327faa2f0c4d98f61fd65b5c2bd8956e", "sha256": "5c296cf206d69463543011ed82a62334d7f6edb85b885ebb2ad1fd3890fb14e5" }, "downloads": -1, "filename": "packit-0.9.2.tar.gz", "has_sig": false, "md5_digest": "327faa2f0c4d98f61fd65b5c2bd8956e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19305, "upload_time": "2015-06-15T23:21:17", "url": "https://files.pythonhosted.org/packages/9f/ed/23744d76150221191a861c997b2b533f45476cc2b5163723bd4f4c97d96a/packit-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "642a16bbda7019b6020ec4e4eb0e80bc", "sha256": "f22cbf399a5fcded061c566691be58d421b6c2b668ee0602665749a0266715f7" }, "downloads": -1, "filename": "packit-0.24.tar.gz", "has_sig": false, "md5_digest": "642a16bbda7019b6020ec4e4eb0e80bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21713, "upload_time": "2019-06-17T21:24:07", "url": "https://files.pythonhosted.org/packages/58/4f/0ac86eb3cc9ce74f87de314faf33426798052b5b17a8e18bb4f0a08686b4/packit-0.24.tar.gz" } ] }