A short description of the project
Project description
Edges Eraser
Documentation: https://devmessias.github.io/edgeseraser
Source Code: https://github.com/devmessias/edgeseraser
PyPI: https://pypi.org/project/edgeseraser/
What is Edges Eraser?
This pkg aims to implement serveral filtering methods for (un)directed graphs.
Edge filtering methods allows to extract the backbone of a graph or sampling the most important edges. You can use edge filtering methods as a preprocessing step aiming to improve the performance/results of graph algorithms or to turn a graph visualtzation more asthetic.
Example
import networkx as nx
import edgeseraser as ee
g = nx.erdos_renyi_graph(100, 0.1)
ee.noise_score.filter_nx_graph(g)
g # filtered graph
Available methods and details
Method | Description | suitable for | limitations/restrictions/details |
---|---|---|---|
Noise Score | Filters edges with high noise score. Paper:1 | Directed, Undirected, Weighted | Very good and fast! 4 |
Disparity | Dirichlet process filter (stick-breaking) Paper:2 | Directed, Undirected, Weighted | There are some criticism regarding the use in undirected graphs3 |
[Pólya-Urn] | Filters edges with Pólya-Urn method. Paper:5 | Directed, Undirected, Integer Weighted |
Installation
pip install edgeseraser
Development
- Clone/Fork this repository
git clone https://github.com/devmessias/edgeseraser
- Requirements:
- Poetry
- Python 3.7+
make install
make init
Testing
make test
To run the static analysis, use the following command:
make mypy
Documentation
The documentation is automatically generated from the content of the docs directory and from the docstrings of the public signatures of the source code. The documentation is updated and published as a Github project page automatically as part each release.
To see the current state of the documentation in your browser, use the following command:
make docs-serve
The above command will start a local server on port 8000. Any changes to the documentation and docstrings will be automatically reflected in your browser.
Pre-commit
Pre-commit hooks run all the auto-formatters (e.g. black
, isort
), linters (e.g. mypy
, flake8
), and other quality
checks to make sure the changeset is in good shape before a commit/push happens.
If you want e.g. want to run all checks manually for all files:
make pre-commit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file edgeseraser-0.6.0.tar.gz
.
File metadata
- Download URL: edgeseraser-0.6.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.11.0-1028-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cecc4cd061e69212aad0cf350040112fdde2f54ba996a16310ffbb1c548ad21e |
|
MD5 | 1924d2c6fbad73a3c03a22f6005fff07 |
|
BLAKE2b-256 | 2167687e54748697d522f09f68ae29aa1f665fa1cb1303451a9e3f18b6aadf85 |
File details
Details for the file edgeseraser-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: edgeseraser-0.6.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.11.0-1028-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 091d0f4a35c618a3d23af32b8bcd4fca66353d7c475e6eaefe11c1e73add9520 |
|
MD5 | 3ed2e086c53257d4a3fea9b1ae5eb653 |
|
BLAKE2b-256 | a12dd4c7b18ba88240d7f2e56dfc97d013b72397d2049fb3db7152e230035fd3 |