{"id":16576494,"url":"https://github.com/devmessias/edgeseraser","last_synced_at":"2025-03-21T12:31:45.666Z","repository":{"id":42535804,"uuid":"468889934","full_name":"devmessias/edgeseraser","owner":"devmessias","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-01T01:50:18.000Z","size":689,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T01:12:19.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devmessias.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-11T20:24:15.000Z","updated_at":"2024-12-27T19:12:18.000Z","dependencies_parsed_at":"2023-12-01T02:34:11.152Z","dependency_job_id":"641a316d-60a6-4d47-8c83-29e21e1a841d","html_url":"https://github.com/devmessias/edgeseraser","commit_stats":{"total_commits":58,"total_committers":2,"mean_commits":29.0,"dds":"0.13793103448275867","last_synced_commit":"487806e0d4ba0d78a7976181f054c9d749720282"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devmessias%2Fedgeseraser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devmessias%2Fedgeseraser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devmessias%2Fedgeseraser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devmessias%2Fedgeseraser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devmessias","download_url":"https://codeload.github.com/devmessias/edgeseraser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244799441,"owners_count":20512245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T22:08:21.222Z","updated_at":"2025-03-21T12:31:45.229Z","avatar_url":"https://github.com/devmessias.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edges Eraser\n\n[![PyPI](https://img.shields.io/pypi/v/edgeseraser?style=flat-square)](https://pypi.python.org/pypi/edgeseraser/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/edgeseraser?style=flat-square)](https://pypi.python.org/pypi/edgeseraser/)\n[![PyPI - License](https://img.shields.io/pypi/l/edgeseraser?style=flat-square)](https://pypi.python.org/pypi/edgeseraser/)\n\n[![Coookiecutter - Wolt](https://img.shields.io/badge/cookiecutter-Wolt-00c2e8?style=flat-square\u0026logo=cookiecutter\u0026logoColor=D4AA00\u0026link=https://github.com/woltapp/wolt-python-package-cookiecutter)](https://github.com/woltapp/wolt-python-package-cookiecutter)\n\n\n---\n\n**Documentation**: [https://devmessias.github.io/edgeseraser](https://devmessias.github.io/edgeseraser)\n\n**Source Code**: [https://github.com/devmessias/edgeseraser](https://github.com/devmessias/edgeseraser)\n\n**PyPI**: [https://pypi.org/project/edgeseraser/](https://pypi.org/project/edgeseraser/)\n\n---\n\n## What is Edges Eraser?\nThis pkg aims to implement serveral filtering methods for (un)directed graphs.\n\nEdge 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.\n\n\n## Example\n```python\nimport networkx as nx\nimport edgeseraser as ee\n\ng = nx.erdos_renyi_graph(100, 0.1)\nee.noise_score.filter_nx_graph(g)\n\ng # filtered graph\n```\n\n## Available methods and details\n\n| Method | Description | suitable for | limitations/restrictions/details |\n| --- | --- |--- | --- |\n| [Noise Score] | Filters edges with high noise score. Paper:[1]|Directed, Undirected, Weighted | Very good and fast! [4] |\n| [Disparity] | Dirichlet process filter (stick-breaking) Paper:[2] |  Directed, Undirected, Weighted |There are some criticism regarding the use in undirected graphs[3]|\n| [Pólya-Urn]| Filters edges with Pólya-Urn method. Paper:[5]| Directed, Undirected, Integer Weighted||\n\n[1]: https://arxiv.org/abs/1701.07336\n[2]: https://arxiv.org/abs/0904.\n[3]: https://arxiv.org/abs/2101.00863\n[4]: https://www.michelecoscia.com/?p=1236\n[5]: https://www.nature.com/articles/s41467-019-08667-3\n[Noise Score]: /api_docs/#edgeseraser.noise_score\n[Disparity]: /api_docs/#edgeseraser.disparity\n\n\n## Installation\n\n```sh\npip install edgeseraser\n```\n\n## Development\n\n* Clone/Fork this repository\n\n```sh\ngit clone https://github.com/devmessias/edgeseraser\n```\n\n* Requirements:\n  * [Poetry](https://python-poetry.org/)\n  * Python 3.7+\n\n```sh\nmake install\nmake init\n```\n\n### Testing\n\n```sh\nmake test\n```\n\nTo run the static analysis, use the following command:\n```sh\nmake mypy\n```\n\n### Documentation\n\nThe documentation is automatically generated from the content of the [docs directory](./docs) and from the docstrings\n of the public signatures of the source code. The documentation is updated and published as a [Github project page\n ](https://pages.github.com/) automatically as part each release.\n\nTo see the current state of the documentation in your browser, use the following command:\n```sh\nmake docs-serve\n```\nThe above command will start a local server on port 8000. Any changes to\nthe documentation and docstrings will be automatically reflected in your browser.\n\n### Pre-commit\n\nPre-commit hooks run all the auto-formatters (e.g. `black`, `isort`), linters (e.g. `mypy`, `flake8`), and other quality\n checks to make sure the changeset is in good shape before a commit/push happens.\n\n\nIf you want e.g. want to run all checks manually for all files:\n\n```sh\nmake pre-commit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevmessias%2Fedgeseraser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevmessias%2Fedgeseraser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevmessias%2Fedgeseraser/lists"}