{
"info": {
"author": "Matthew Martin",
"author_email": "matthewdeanmartin@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Programming Language :: Python",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: Implementation :: CPython"
],
"description": "pypi_librarian\n--------------\n\nA more generic library for dowlonading packages from pypi.\n\nHow this relates to other tools that download things from pypi:\n\n- bandersnatch - too focused on being a mirror for pypi\n- pip - too focused on package installation\n- twine - too focused on package upload\n- pipenv - too focused on package installation\n- requests - unaware of any specific feature of pypi/warehouse\n- pypi_xmlrpc - only uses the xmlrpc endpoints, which are to be\n deprecated some day.\n\nSpecific Scenarios\n------------------\n\nLet\u2019s say you want to download all the gzip/zip files for the latest\nversion of your app and put them in a folder so you can do static code\nanalysis on your dependencies.\n\nLet\u2019s say you are writing a linting tool and would like to test it on a\nlarge number of real world code bases.\n\nMonitoring PyPi for certain events (new packages, etc.)\n\nSchema\n------\n\n**Repository have projects.** These projects can be searched, downloaded\nin bulk and have various change notification strategies for mirrors\n\n**Projects have maintainers and releases.** One of these releases is the\nmain, most recent release that people care about. The rest are history.\nPypi itself doesn\u2019t provide change notification, nor download stats.\nThis is now provided by third party services.\n\n**Releases have a package.** The package is a compressed file, either\ngz, zip or wheel which has some meta data in it as a file, PKG_INFO and\nmore. Dependencies could be in setup.py, requirements.txt or Pipfile or\nnowhere.\n\nExisting Solutions\n------------------\n\n`Yolk `__ Command line, queries\npackage metadata\n\n`Pip `__ - Has some search & meta data\nfunctionality. Explicitly says that it should not be used as library but\nonly as shell command.\n\n`qypi `__ - strictly fetches meta data.\nOutputs json.\n\n`pkg_info `__ - appears to be a tiny\nscript that queries pypi for the same\n\nParsing the setup.py/PKG_INFO files\n-----------------------------------\n\n- `pkginfo `__ - attempts to read\n PKG_INFO if it can find it. I couldn\u2019t get it to work.\n\nMetadata in the sense of dependency lists\n-----------------------------------------\n\n- `bento `__ - a tool for making pip\n compatible packages, using a yaml-like bento file instead of a\n setup.py file\n- `poetry `__ - creates\n packages, uses a pypackage.toml file\n- `pipenv `__ The pipfile Toml\n file is a sort of metadata file.\n\nPackage Statitics\n-----------------\n\n`Libraries.io `__ Numerous REST enpoints, no\npython client that I can find yet.\n\n`pypistats `__ output version info\nin many formats. Serves data from https://pypistats.org/api/ - which is\nfrom the official PyPi \u201cbig table\u201d records.\n\n`pkginfo `__ Parses pkg info file\nfound in package gz/zip/whl files\n\nPypi mirrors\n------------\n\nThese provide the same benefits as pip, since they are optimized to be\nthe serverside component of pip. The interface for working with these,\nto get metadata, would be the file system, or pip.\n\n`Bandersnatch `__\n\n`Dumb-pypi `__\n\nCommercial Package Repos\n------------------------\n\nI plan to implement support for pypi & compatible mirrors first.\n\n- packagecloud.io\n- gemfury",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/matthewdeanmartin/pypi_librarian",
"keywords": "pypi,package metadata",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "pypi-librarian",
"package_url": "https://pypi.org/project/pypi-librarian/",
"platform": "",
"project_url": "https://pypi.org/project/pypi-librarian/",
"project_urls": {
"Homepage": "https://github.com/matthewdeanmartin/pypi_librarian"
},
"release_url": "https://pypi.org/project/pypi-librarian/0.1.9/",
"requires_dist": null,
"requires_python": "",
"summary": "Pypi metadata client. Client for metadata related API endpoints for Pypi.",
"version": "0.1.9"
},
"last_serial": 4783738,
"releases": {
"0.1.9": [
{
"comment_text": "",
"digests": {
"md5": "dc4a3d10cd7c297fd52ca1f2328012a0",
"sha256": "6ba0b4e46d6728ffb537a91087a1e338ece1d2d376936e63ee0b7971e1c468c0"
},
"downloads": -1,
"filename": "pypi_librarian-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "dc4a3d10cd7c297fd52ca1f2328012a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14710,
"upload_time": "2019-02-05T19:45:59",
"url": "https://files.pythonhosted.org/packages/ea/8e/506069626290bcb3c4f2334c601f0095473c3e9561b92248a9ca23a7a658/pypi_librarian-0.1.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "dc4a3d10cd7c297fd52ca1f2328012a0",
"sha256": "6ba0b4e46d6728ffb537a91087a1e338ece1d2d376936e63ee0b7971e1c468c0"
},
"downloads": -1,
"filename": "pypi_librarian-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "dc4a3d10cd7c297fd52ca1f2328012a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14710,
"upload_time": "2019-02-05T19:45:59",
"url": "https://files.pythonhosted.org/packages/ea/8e/506069626290bcb3c4f2334c601f0095473c3e9561b92248a9ca23a7a658/pypi_librarian-0.1.9.tar.gz"
}
]
}