{"id":31320667,"url":"https://github.com/ingoscholtes/pathpy","last_synced_at":"2025-09-25T16:54:33.296Z","repository":{"id":44701470,"uuid":"82317971","full_name":"IngoScholtes/pathpy","owner":"IngoScholtes","description":"pathpy is an OpenSource python package for the modeling and analysis of pathways and temporal networks using higher-order and multi-order graphical models","archived":false,"fork":false,"pushed_at":"2020-05-02T16:10:51.000Z","size":848,"stargazers_count":145,"open_issues_count":7,"forks_count":29,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-09-25T11:55:33.136Z","etag":null,"topics":["analysis","data","data-mining","graph","graphical-models","machine-learning","model-selection","multi-order","network-analysis","networks","pathways","python","sequential-data","temporal-correlations","temporal-networks"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IngoScholtes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-17T16:49:05.000Z","updated_at":"2025-09-14T12:35:50.000Z","dependencies_parsed_at":"2022-09-24T15:51:35.724Z","dependency_job_id":null,"html_url":"https://github.com/IngoScholtes/pathpy","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/IngoScholtes/pathpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IngoScholtes%2Fpathpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IngoScholtes%2Fpathpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IngoScholtes%2Fpathpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IngoScholtes%2Fpathpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IngoScholtes","download_url":"https://codeload.github.com/IngoScholtes/pathpy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IngoScholtes%2Fpathpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276953984,"owners_count":25734618,"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","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["analysis","data","data-mining","graph","graphical-models","machine-learning","model-selection","multi-order","network-analysis","networks","pathways","python","sequential-data","temporal-correlations","temporal-networks"],"created_at":"2025-09-25T16:54:31.487Z","updated_at":"2025-09-25T16:54:33.290Z","avatar_url":"https://github.com/IngoScholtes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/IngoScholtes/pathpy/blob/master/pathpy_logo.png\" width=\"300\" alt=\"pathpy logo\" /\u003e\n\n**Note**: This is the repository of an old version of pathpy. It will soon be replaced by [pathpy 3](https://github.com/pathpy/pathpy), which has a new [home on gitHub](https://github.com/pathpy/pathpy).\n\n# Introduction\n\n`pathpy` is an OpenSource python package for the modeling and analysis of pathways and temporal networks\nusing **higher-order** and **multi-order** graphical models.\n\nThe package is specifically tailored to analyze sequential data which capture multiple observations of short, independent paths\nobserved in an underlying graph topology. Examples for such data include user click streams in information networks,\nbiological pathways, or traces of information propagating in social media. Unifying the analysis of pathways and temporal networks,\n`pathpy` also supports the extraction of time-respecting paths from time-stamped network data. It extends (and will eventually supersede)\nthe package [`pyTempnets`](https://github.com/IngoScholtes/pyTempNets).\n\n`pathpy` facilitates the analysis of temporal correlations in such sequential data. It uses a principled model selection\ntechnique to infer higher-order graphical representations that capture both topological and temporal\ncharacteristics of time-resolved relational data. It specifically allows to answer the question whether a (first-order) network\nabstraction of such data is justified, or whether higher-order network abstractions are needed.\n\nThe theoretical foundation of this package, **higher-order network models**, has been developed in the following research works:\n\n1. I Scholtes: [When is a network a network? Multi-Order Graphical Model Selection in Pathways and Temporal Networks](https://arxiv.org/abs/1702.05499), to appear in KDD'17, arXiv:1702.05499\n2. I Scholtes, N Wider, A Garas: [Higher-Order Aggregate Networks in the Analysis of Temporal Networks: Path structures and centralities](http://dx.doi.org/10.1140/epjb/e2016-60663-0), The European Physical Journal B, 89:61, March 2016\n3. I Scholtes, N Wider, R Pfitzner, A Garas, CJ Tessone, F Schweitzer: [Causality-driven slow-down and speed-up of diffusion in non-Markovian temporal networks](http://www.nature.com/ncomms/2014/140924/ncomms6024/full/ncomms6024.html), Nature Communications, 5, September 2014\n4. R Pfitzner, I Scholtes, A Garas, CJ Tessone, F Schweitzer: [Betweenness preference: Quantifying correlations in the topological dynamics of temporal networks](http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.110.198701), Phys Rev Lett, 110(19), 198701, May 2013\n\n`pathpy` extends this approach towards **multi-layer graphical models** that capture temporal correlations in pathways at multiple length scales simultaneously. An illustrative example for\na collection of pathways (left) and a multi-order graphical representation of these pathways is shown below. All mathematical details of the framework can be found in this [recent research paper](https://arxiv.org/abs/1702.05499).\n\n[![Watch promotional video](https://img.youtube.com/vi/CxJkVrD2ZlM/0.jpg)](https://www.youtube.com/watch?v=CxJkVrD2ZlM)\n\n\u003cimg src=\"https://github.com/IngoScholtes/pathpy/blob/master/multiorder.png\" width=\"500\" alt=\"Illustration of Multi-Order Model\" /\u003e\n\n# Download and installation\n\n`pathpy` is pure python code. It has no platform-specific dependencies and should thus work on all platforms. It builds on `numpy` and `scipy`. The latest version of `pathpy` can be installed by typing:\n\n`\u003e pip install git+git://github.com/IngoScholtes/pathpy.git`\n\n`pathpy` currently requires python 3.x. We are planning to make the next version backwards compatible with python 2.x. \n\n# Tutorial\n\nA [comprehensive educational tutorial](https://ingoscholtes.github.io/pathpy/tutorial.html) which shows how you can use `pathpy` to analyze data on pathways and temporal networks is [available online](https://ingoscholtes.github.io/pathpy/tutorial.html).\nMoreover, a tutorial which illustrates the abstraction of **higher-order networks** in the modeling of dynamical processes in temporal networks is [available here](https://www.sg.ethz.ch/team/people/ischoltes/research-insights/temporal-networks-demo/). The\nlatter tutorial is based on the predecessor library [`pyTempNets`](https://github.com/IngoScholtes/pyTempNets). Most of its features have been ported to `pathpy`.\n\n# Documentation\n\nThe code is fully documented via docstrings which are accessible through python's built-in help system. Just type `help(SYMBOL_NAME)` to see the documentation of a class or method. A [reference manual is available here](https://ingoscholtes.github.io/pathpy/hierarchy.html).\n\n# Releases and Versioning\n\nThe first public beta release of pathpy (released February 17 2017) is [v1.0-beta](https://github.com/IngoScholtes/pathpy/releases/tag/v1.0-beta.1). Following versions are named MAJOR.MINOR.PATCH according to [semantic versioning](http://semver.org/). The date of each release is encoded in the PATCH version.\n\n# Acknowledgements\n\nThe research behind this data analysis framework was funded by the Swiss State Secretariat for Education, Research and Innovation [(Grant C14.0036)](https://www.sg.ethz.ch/projects/seri-information-spaces/). The development of this package was generously supported by the [MTEC Foundation](http://www.mtec.ethz.ch/research/support/MTECFoundation.html) in the context of the project [The Influence of Interaction Patterns on Success in Socio-Technical Systems: From Theory to Practice](https://www.sg.ethz.ch/projects/mtec-interaction-patterns/).\n\n# Contributors\n\n[Ingo Scholtes](http://www.ingoscholtes.net) (project lead, development)  \n[Luca Verginer](http://www.verginer.eu/about/) (development, testing)  \n\n# Past Contributors\nRoman Cattaneo (development)  \nNicolas Wider (testing)  \n\n# Copyright\n\npathpy is licensed under the [GNU Affero General Public License](https://choosealicense.com/licenses/agpl-3.0/).\n\n(c) Copyright ETH Zürich, Chair of Systems Design, 2015-2018\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingoscholtes%2Fpathpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fingoscholtes%2Fpathpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingoscholtes%2Fpathpy/lists"}