Graph implementation that loads graph data (nodes and edges) from external sources and caches the loaded data in a database using sqlalchemy or flask-sqlalchemy.
Project description
GraphScraper is a Python 3 library that contains a base graph implementation designed to be turned into a web scraper for graph data. It has two major features:
1) The graph automatically manages a database (using either SQLAlchemy or Flask-SQLAlchemy) where it stores all the nodes and edges the graph has seen.
2) The base graph implementation provides hook methods that, if implemented, turn the graph into a web scraper.
Yet another graph implementation - why
There are many excellent graph libraries available for different purposes. I started implementing this one because i haven’t found a graph library that is dynamic (i don’t need the whole graph in memory - or on disk - before i start working with it), that can be used as a web scraper (to seamlessly load nodes and edges from some remote data source when that piece of data is needed) and that keeps all data (the graph) automatically up-to-date on the disk. GraphScraper aims to satisfy these requirements.
Demo - igraph
Besides the base graph implementation, a working demo using the igraph library is also included that shows how you can implement and use an actual graph-scraper. Instead of web-scraping, this demo uses an igraph graph instance as the “remote” source to scrape data from.
Dependencies
The project requires SQLAlchemy or Flask-SQLAlchemy to be installed. If you wish to the included igraph-based graph implementation, you will also need igraph library.
Contribution
Any form of constructive contribution (feedback, features, bug fixes, tests, additional documentation, etc.) is welcome.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for graphscraper-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c3f911f6d586a014745faf9072e3cf40c8c2488399b515e9a686ce0f3a16719 |
|
MD5 | 08f97c97b1bc5e18c236d66c3fa0b75d |
|
BLAKE2b-256 | bc0208d4afedccdb2b46d0945d8dc490b72eefacf7a856c1b76dc19cfc5fca4c |