{ "info": { "author": "Joshua Li", "author_email": "josh@jrl.ninja", "bugtrack_url": null, "classifiers": [ "Development Status :: 7 - Inactive", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development" ], "description": "# pylibgen\n\n[![PyPI](https://img.shields.io/pypi/v/pylibgen.svg)](https://pypi.org/project/pylibgen/)\n[![Travis CI](https://travis-ci.org/JoshuaRLi/pylibgen.svg?branch=master)](https://travis-ci.org/JoshuaRLi/pylibgen)\n[![License MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/JoshuaRLi/pylibgen/blob/master/LICENSE)\n\nPython interface to Library Genesis. Only the LibGen/Sci-Tech database is supported.\n\n**This project is largely unmaintained as of the 2.0.2 release.** I am willing to make or accept pull requests for small maintenance releases if they are trivial, but any changes required due to major/breaking changes with libgen's internals will not be implemented.\n\n\n## Installation\n\npylibgen is well-tested on Python 3.6 - 3.7, and can be installed via `pip install pylibgen`.\n\n\n## Usage\n\n```python\n>>> from pylibgen import Library\n>>> l = Library()\n>>> ids = l.search('stallman essays')\n>>> ids\n['112887', '310297', '688326', '1594161', '1610379']\n>>> book1, book2, *_ = l.lookup(ids)\n>>> book1.__dict__\n{'id': '112887', 'title': 'Free software, free society: selected essays of Richard M. Stallman', 'author': 'Richard M. Stallman, Lawrence Lessig, Joshua Gay, Laurence Lessig', 'year': '2002', 'edition': 'First Printing, First Edition', 'pages': '230', 'identifier': '9781882114986,1882114981', 'extension': 'pdf', 'filesize': '2210323', 'md5': '861C055B960E7F36D95164CAB34E0E97'}\n>>> book2.__dict__\n{'id': '310297', 'title': 'Free Software Free Society: Selected Essays of Richard Stallman', 'author': 'Richard Stallman', 'year': '2010', 'edition': '2nd Edition', 'pages': '278', 'identifier': '0983159203,9780983159209', 'extension': 'pdf', 'filesize': '1597349', 'md5': '6C3C2593BBB5D77154D50DFDDC0EA669'}\n>>> book1.get_url(filehost='b-ok.org')\n'http://b-ok.org/md5/861C055B960E7F36D95164CAB34E0E97'\n```\n\n\n## Support Library Genesis\\!\n\n`Book.get_url(filehost='...')` will return the standard filehost gateway url.\n\nThere is no functionality to bypass any intermediate advertisement pages, and this behavior is intended because Library Genesis is a service worth supporting.\n\n\n## Development Setup\n\nYou'll need python 3.6, python 3.7, and `tox`. It's recommended to use [`pyenv`](https://github.com/pyenv/pyenv) to install + manage python versions and executable modules. An example:\n\n $ pyenv install 3.6.8\n $ pyenv install 3.7.3\n $ pyenv global 3.7.3 3.6.8 # puts both pyenv-managed python3.6 and python3.7 on the PATH for tox\n $ python3.7 -m pip install tox # python will be resolved to 3.7.3 by pyenv's shim, this is just being explicit\n\nTo run pre-commit hooks and tests for all supported python versions (make sure you're not in a virtualenv before running this):\n\n $ tox\n\nTo enter the version-specific virtualenv created above (you'll need this to commit with `pre-commit` hooks):\n\n $ source .tox/py37/bin/activate\n\nTo only create the tox virtualenvs without running any (test) commands:\n\n $ tox --notest\n\n\n## Disclaimer\n\nUse `pylibgen` responsibly and at your own risk. The author(s) are not responsible or liable for any piracy, copyright infringement, or other offences committed by anyone using this software. Please consider supporting your favorite authors by purchasing their works\\!\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/JoshuaRLi/pylibgen/archive/v2.0.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/JoshuaRLi/pylibgen", "keywords": "libgen,library,genesis,search,download,books,ebooks,textbooks", "license": "MIT", "maintainer": "Joshua Li", "maintainer_email": "josh@jrl.ninja", "name": "pylibgen", "package_url": "https://pypi.org/project/pylibgen/", "platform": "", "project_url": "https://pypi.org/project/pylibgen/", "project_urls": { "Download": "https://github.com/JoshuaRLi/pylibgen/archive/v2.0.2.tar.gz", "Homepage": "https://github.com/JoshuaRLi/pylibgen" }, "release_url": "https://pypi.org/project/pylibgen/2.0.2/", "requires_dist": [ "requests (==2.22.0)", "pre-commit (==1.16.*) ; extra == 'dev'", "pytest (==4.*) ; extra == 'dev'" ], "requires_python": ">=3.6", "summary": "Python interface to Library Genesis.", "version": "2.0.2" }, "last_serial": 5367372, "releases": { "1.3.1": [ { "comment_text": "", "digests": { "md5": "6456c3861f323421d319560c29ed52d3", "sha256": "d9caf0405095be3709c5bf997e85498f02a50597e52888f9d136f8a0fc2137d6" }, "downloads": -1, "filename": "pylibgen-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6456c3861f323421d319560c29ed52d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7310, "upload_time": "2018-01-19T17:21:38", "url": "https://files.pythonhosted.org/packages/11/26/0934cd92a5e8946cb9a99265790bf35de35a6201e87daaa836b8a0a641a2/pylibgen-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0b7a466e3e971101db6fb61297559d6", "sha256": "d2455ccde66477ad22bdf3d3a44ce7ba24e2a7c83bf0d9f07df03ccd181ec080" }, "downloads": -1, "filename": "pylibgen-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b0b7a466e3e971101db6fb61297559d6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7303, "upload_time": "2018-01-19T16:42:57", "url": "https://files.pythonhosted.org/packages/d4/cc/9c14367f02c5bf078765105e663bd91e2c57486316a9171b9232eb8435ac/pylibgen-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61faf5ec9b91f8587ea068c73acf6ab0", "sha256": "303b0f279504c6b97f7619835bc9005bdadf9860c8b7a5d8204b189747c471e7" }, "downloads": -1, "filename": "pylibgen-1.3.1.tar.gz", "has_sig": false, "md5_digest": "61faf5ec9b91f8587ea068c73acf6ab0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5862, "upload_time": "2018-01-19T16:42:56", "url": "https://files.pythonhosted.org/packages/e7/c8/1684fcb4149000877ba18046a9d5ddc59c6091793bdd0905ff4afaf9b244/pylibgen-1.3.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "51f10e98be66f8644a1988c041d8c39f", "sha256": "f3a9199df7e756de97d8b07aecb09f165dd2913daa4d7d35be0ba434df396bd7" }, "downloads": -1, "filename": "pylibgen-2.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "51f10e98be66f8644a1988c041d8c39f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7258, "upload_time": "2019-01-12T18:02:13", "url": "https://files.pythonhosted.org/packages/e2/6c/25c53a7d52f93c52f093b323b3ed70b9c01922e7008854841a3f11ad06f7/pylibgen-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c987d895950b3b2e3d59868e7ff3a2ef", "sha256": "1702f8c3e04df68c062e8cca5297184013c5846695daf0fa7fa78be68dc0d8fe" }, "downloads": -1, "filename": "pylibgen-2.0.0.tar.gz", "has_sig": true, "md5_digest": "c987d895950b3b2e3d59868e7ff3a2ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6564, "upload_time": "2019-01-12T18:02:14", "url": "https://files.pythonhosted.org/packages/c8/c6/2929720257c0545e35484eb79643bf852c44964ba826b1b44f3041658094/pylibgen-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "7ed826a702be3641c11b66baedcff113", "sha256": "88b6fc77ee6f9247af17baab61a9b36ca9ace5ee0d385320ae62049d8e6fce90" }, "downloads": -1, "filename": "pylibgen-2.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "7ed826a702be3641c11b66baedcff113", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7249, "upload_time": "2019-01-12T18:12:58", "url": "https://files.pythonhosted.org/packages/61/9b/2e043301de7a7b5f2edf2380716b2442e472e109f4b9f5f955c52a237841/pylibgen-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fcd4c7ee85ccbccce44751c738ca6aed", "sha256": "3c2a82b47cb7225dcf4ecea27081b0185ae4d195499140cdbb9597d914e1ae9e" }, "downloads": -1, "filename": "pylibgen-2.0.1.tar.gz", "has_sig": true, "md5_digest": "fcd4c7ee85ccbccce44751c738ca6aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6555, "upload_time": "2019-01-12T18:13:00", "url": "https://files.pythonhosted.org/packages/27/13/24df9b1db4b94e801b9e36261abf169ec9fbc3f1845bf245c87fb6b6d37d/pylibgen-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "b5fe55cec48fa49720e2407baa958eff", "sha256": "eb0a0bac8f2f7192958a2e7f913c67645d7f76231ff4f38f20ff44071dd28204" }, "downloads": -1, "filename": "pylibgen-2.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "b5fe55cec48fa49720e2407baa958eff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7464, "upload_time": "2019-06-06T14:04:59", "url": "https://files.pythonhosted.org/packages/67/d5/e31dcc2132575317f92fc4335f62eef72c377da4f98d94fd74f25bfb4c2b/pylibgen-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4f1eef9265552ad4b838bba74e5e77d", "sha256": "87b28a27fa7c1912e2b38020262dd6086b292d670b0c08d76baecbcd7678b9ee" }, "downloads": -1, "filename": "pylibgen-2.0.2.tar.gz", "has_sig": true, "md5_digest": "c4f1eef9265552ad4b838bba74e5e77d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7002, "upload_time": "2019-06-06T14:05:01", "url": "https://files.pythonhosted.org/packages/2f/3d/585420be7b4bece996dcbb505ed87d94b61875b36033e738d0c3293a324e/pylibgen-2.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5fe55cec48fa49720e2407baa958eff", "sha256": "eb0a0bac8f2f7192958a2e7f913c67645d7f76231ff4f38f20ff44071dd28204" }, "downloads": -1, "filename": "pylibgen-2.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "b5fe55cec48fa49720e2407baa958eff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7464, "upload_time": "2019-06-06T14:04:59", "url": "https://files.pythonhosted.org/packages/67/d5/e31dcc2132575317f92fc4335f62eef72c377da4f98d94fd74f25bfb4c2b/pylibgen-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4f1eef9265552ad4b838bba74e5e77d", "sha256": "87b28a27fa7c1912e2b38020262dd6086b292d670b0c08d76baecbcd7678b9ee" }, "downloads": -1, "filename": "pylibgen-2.0.2.tar.gz", "has_sig": true, "md5_digest": "c4f1eef9265552ad4b838bba74e5e77d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7002, "upload_time": "2019-06-06T14:05:01", "url": "https://files.pythonhosted.org/packages/2f/3d/585420be7b4bece996dcbb505ed87d94b61875b36033e738d0c3293a324e/pylibgen-2.0.2.tar.gz" } ] }