{ "info": { "author": "Tran Ly Vu", "author_email": "vutransingapore@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: Flake8", "Framework :: Pytest", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: POSIX", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Education", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "
\n\n\n\n---\nwikilink is a multiprocessing web-scraping application to scrape the wiki pages, extract urls and find the minimum number of links between 2 given wiki pages.\n\nI discussed brief the motivation and an overview of the project in [my blog](https://tranlyvu.github.io/algorithms/BFS-and-a-simple-application/).\n\nThe project is currently at version [v0.3.0.post1](https://github.com/tranlyvu/wiki-link/releases), also see [change log](https://github.com/tranlyvu/wiki-link/blob/dev/CHANGELOG.md) for more details on release history.\n\nIf you like this project, feel fee to leave a few words of appreciation here [](https://saythanks.io/to/tranlyvu)\n\n| Build | [![Build Status][3]][4] | [![Coverage Status][5]][6] | \n| :--- | :--- | :--- |\n| **Quality** | [![Maintainability][13]][14] | [![Requirements Status][19]][20] |\n| **Support** | [![Join the chat][17]][18] | [![blog][1]][2] |\n| **Platform** | [](https://pypi.org/project/wikilink/)| [](https://pypi.org/project/wikilink/) |\n\n[3]: https://travis-ci.org/tranlyvu/wiki-link.svg?branch=dev\n[4]: https://travis-ci.org/tranlyvu/wiki-link \n[5]: https://coveralls.io/repos/github/tranlyvu/wiki-link/badge.svg\n[6]: https://coveralls.io/github/tranlyvu/wiki-link\n\n[13]: https://api.codeclimate.com/v1/badges/8679cde6756683bd787d/maintainability\n[14]: https://codeclimate.com/github/tranlyvu/wiki-link/maintainability\n\n[17]: https://badges.gitter.im/find-link/Lobby.svg\n[18]: https://gitter.im/find-link/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n[1]: https://img.shields.io/badge/docs-on%20blog-brightgreen.svg\n[2]: https://tranlyvu.github.io/algorithms/BFS-and-a-simple-application/\n\n[19]: https://requires.io/github/tranlyvu/wiki-link/requirements.svg?branch=dev\n[20]: https://requires.io/github/tranlyvu/wiki-link/requirements/?branch=dev\n\n---\nTable of contents\n---\n\n1. [Usage](#Usage)\n2. [Contribution](#Contribution) \n3. [License](#License)\n\n---\nUsage\n---\n\nInstall with pip\n\n```\n$ pip install wikilink\n```\n\n### Database support\n\nwikilink currently supports [Mysql](https://www.mysql.com/downloads/) and [PostgreSQL](https://www.postgresql.org/)\n\n### API\n\n```\nsetup_db(db, username, password, ip=\"127.0.0.1\", port=3306): set up database\n\nArgs:\n\tdb(str): Database engine, currently support \"mysql\" and \"postgresql\"\n\tname(str): database username\n\tpassword(str): database password\n\tip(str): IP address of database (Default = \"127.0.0.1\")\n\tport(str): port that databse is running on (default=3306)\n\nReturns:\n\tNone\n```\n\n```\nmin_link(source, destination, limit=6, multiprocessing=False): find minimum number of link from source url to destination url within limit \n\nArgs:\n\tsource(str): source wiki url, i.e. \"https://en.wikipedia.org/wiki/Cristiano_Ronaldo\"\n\tdestination(str): Destination wiki url, i.e. \"https://en.wikipedia.org/wiki/Cristiano_Ronaldo\"\n\tlimit(int): max number of links from the source that will be considered (default=6)\n\tmultiprocessing(boolean): enable/disable multiprocessing mode (default=False)\n\nReturns:\n\t(int) minimum number of sepration between source and destination urls\n\treturn None and print messages if exceeding limits or no path found\n\nRaises:\n\tDisconnectionError: error connecting to DB\n```\n\n### Examples\n\n```\n>>> from wikilink import WikiLink\n>>> app = WikiLink()\n>>> app.setup_db(\"mysql\", \"root\", \"12345\", \"127.0.0.1\", \"3306\")\n>>> source = \"https://en.wikipedia.org/wiki/Cristiano_Ronaldo\"\n>>> destination = \"https://en.wikipedia.org/wiki/Lionel_Messi\"\n>>> app.min_link(source, destination, 6)\n1\n```\n\n---\nContribution [![Open Source Helpers][7]][8]\n---\n[7]: https://www.codetriage.com/tranlyvu/wiki-link/badges/users.svg\n[8]: https://www.codetriage.com/tranlyvu/wiki-link\n\n### How to contribute\n\nPlease follow our contribution convention at [contribution instructions](https://github.com/tranlyvu/wiki-link/blob/dev/CONTRIBUTING.md) and [code of conduct](https://github.com/tranlyvu/wiki-link/blob/dev/CODE-OF-CONDUCT.md).\n\nTo set up development environment, simply run:\n\n```\n$ pip install -r requirements.txt\n```\n\nPlease check out the [issue file](https://github.com/tranlyvu/wiki-link/blob/dev/RELEASENOTES.md) for list of issues that required helps.\n\n\n### Appreciation\n\nFeel free to add your name into the [list of contributors](https://github.com/tranlyvu/wiki-link/blob/dev/CONTRIBUTORS.md). You will automatically be inducted into Hall of Fame as a way to show my appreciation for your contributions.\n\n#### Hall of Fame\n\n[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/0)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/1)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/2)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/3)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/4)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/5)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/6)[](https://sourcerer.io/fame/tranlyvu/tranlyvu/wiki-link/links/7)\n\n---\nLicense\n---\n\nSee the [LICENSE](https://github.com/tranlyvu/wiki-link/blob/master/LICENSE) file for license rights and limitations (Apache License 2.0).\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tranlyvu/wiki-link", "keywords": "Web Scraping,Artificial Intelligence,Breadth First Search,Graph,Data Science,Web Extracting,Information Analysis", "license": "Apache License 2.0", "maintainer": "Tran Ly Vu