deepgraph

Analyze Data with Pandas-based Networks. Documentation:

https://github.com/deepgraph/deepgraph

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

data-analysis data-mining data-science data-structures data-visualization graph-database graph-theory graphs graphviz interfacing iterative-methods multilayer-networks network network-analysis network-visualization networkx pandas parallel partitioning
Last synced: 6 months ago · JSON representation

Repository

Analyze Data with Pandas-based Networks. Documentation:

Basic Info
Statistics
  • Stars: 306
  • Watchers: 18
  • Forks: 45
  • Open Issues: 8
  • Releases: 16
Topics
data-analysis data-mining data-science data-structures data-visualization graph-database graph-theory graphs graphviz interfacing iterative-methods multilayer-networks network network-analysis network-visualization networkx pandas parallel partitioning
Created over 10 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License

README.rst

|PyPi Version| |PyPi Downloads| |Conda Version| |Conda Downloads| |Documentation|

DeepGraph
=========

DeepGraph is a scalable, general-purpose data analysis package. It implements a
`network representation `_ based
on `pandas `_
`DataFrames `_
and provides methods to construct, partition and plot networks, to interface
with popular network packages and more.

It is based on the network representation introduced
`here `_. DeepGraph is also capable of
representing
`multilayer networks `_.


Main Features
-------------

Utilizing one of Pandas' primary data structures, the
`DataFrame `_,
DeepGraph represents the (super)nodes of a graph by one (set of) table(s), and their
pairwise relations (i.e. the (super)edges of a graph) by another (set of) table(s).
DeepGraph's main features are

- `Create edges `_:
  Methods that enable an iterative, yet
  vectorized computation of pairwise relations (edges) between nodes using
  arbitrary, user-defined functions on the nodes' properties. The methods
  provide arguments to parallelize the computation and control memory consumption,
  making them suitable for very large data-sets and adjustable to whatever
  hardware you have at hand (from netbooks to cluster architectures).

  Note: the documentation provides a
  `tutorial `_
  on how to compute large correlation matrices in parallel using DeepGraph.

- `Partition nodes, edges or a graph `_:
  Methods to partition nodes,
  edges or a graph by the graph’s properties and labels, enabling the
  aggregation, computation and allocation of information on and between
  arbitrary *groups* of nodes. These methods also let you express
  elaborate queries on the information contained in a deep graph.

- `Interfaces to other packages `_:
  Methods to convert to common
  network representations and graph objects of popular Python network packages
  (e.g., SciPy sparse matrices, NetworkX graphs, graph-tool graphs).

- `Plotting `_:
  A number of useful plotting methods for networks,
  including drawings on geographical map projections using `basemap `__.


Quick Start
-----------

The source code is hosted on GitHub at: https://github.com/deepgraph/deepgraph.

Binary installers are available at the
`Python Package Index (PyPI) `_
and on
`conda-forge `_.

DeepGraph can be installed via pip::

   $ pip install deepgraph

or if you're using `Conda `_,
install with::

   $ conda install -c conda-forge deepgraph

Then, import and get started with::

   >>> import deepgraph as dg
   >>> help(dg)

Dependencies
------------

**Required dependencies**

+---------------------------------------+---------------------------+
| Package                               | Minimum supported version |
+=======================================+===========================+
| `Python `_   | 3.9                       |
+---------------------------------------+---------------------------+
| `NumPy `_      | 1.21.6                    |
+---------------------------------------+---------------------------+
| `Pandas `_ | 1.2                       |
+---------------------------------------+---------------------------+

**Optional dependencies ("extras")**

+-----------------------------------------------------+-----------------+-----------+
| Dependency                                          | Minimum Version | pip extra |
+=====================================================+=================+===========+
| `Matplotlib `_              | 3.1             | plot      |
+-----------------------------------------------------+-----------------+-----------+
| `basemap `_ | 2.0             | basemap   |
+-----------------------------------------------------+-----------------+-----------+
| `PyTables `_              | 3.7             | tables    |
+-----------------------------------------------------+-----------------+-----------+
| `SciPy `_                    | 1.5.4           | scipy     |
+-----------------------------------------------------+-----------------+-----------+
| `NetworkX `_           | 2.4             | networkx  |
+-----------------------------------------------------+-----------------+-----------+
| `graph\_tool `_      | 2.27            | N/A       |
+-----------------------------------------------------+-----------------+-----------+

See the `full installation instructions `_
for further details.


Documentation
-------------

The official documentation is hosted here:
http://deepgraph.readthedocs.io

The documentation provides a good starting point for learning how
to use the library.

The `API Reference `_
lists all available methods of the core
`DeepGraph `_
class, including links to their respective source code and docstrings. These docstrings
provide detailed information, usage examples and notes for each method.


Development
-----------

All forms of contributions to this project are welcome, whether it's bug reports, bug fixes,
documentation enhancements, feature requests, or new ideas.

How to Contribute

- Report Issues: If you encounter any bugs or issues, please
  `create an issue `_ detailing the problem.
- Submit Pull Requests: For bug fixes, enhancements, or new features, fork the repository and
  submit a pull request with your changes.
- Documentation Improvements: Help us improve our documentation by suggesting edits or additions.
- Share Ideas: Have an idea to improve the project? Feel free to
  `open a discussion `_.

For additional inquiries or direct communication, you can reach me via email: dominik.traxl@posteo.org.


How to Get Started as a Developer
---------------------------------

See the `Installation from Source & Environment Setup
`_
section in the documentation for complete instructions on building from the git source tree.


Citing DeepGraph
----------------

Please acknowledge the authors and cite the use of this software when results
are used in publications or published elsewhere. Various citation formats are
available here:
https://dx.doi.org/10.1063/1.4952963
For your convenience, you can find the BibTex entry below:

::

   @Article{traxl-2016-deep,
       author      = {Dominik Traxl AND Niklas Boers AND J\"urgen Kurths},
       title       = {Deep Graphs - A general framework to represent and analyze
                      heterogeneous complex systems across scales},
       journal     = {Chaos},
       year        = {2016},
       volume      = {26},
       number      = {6},
       eid         = {065303},
       doi         = {http://dx.doi.org/10.1063/1.4952963},
       eprinttype  = {arxiv},
       eprintclass = {physics.data-an, cs.SI, physics.ao-ph, physics.soc-ph},
       eprint      = {http://arxiv.org/abs/1604.00971v1},
       version     = {1},
       date        = {2016-04-04},
       url         = {http://arxiv.org/abs/1604.00971v1}
   }


Licence
-------

Distributed with a `BSD-3-Clause License. `_::

    Copyright (C) 2017-2025 DeepGraph Developers
    Dominik Traxl 


.. |PyPi Version| image:: https://badge.fury.io/py/DeepGraph.svg
    :target: https://pypi.org/project/DeepGraph/

.. |PyPi Downloads| image:: https://static.pepy.tech/badge/deepgraph/month
   :target: https://pypi.org/project/DeepGraph/

.. |Conda Version| image:: https://anaconda.org/conda-forge/deepgraph/badges/version.svg
   :target: https://anaconda.org/conda-forge/deepgraph

.. |Conda Downloads| image:: https://img.shields.io/conda/dn/conda-forge/deepgraph.svg?label=Conda%20downloads
   :target: https://anaconda.org/conda-forge/deepgraph

.. |Documentation| image:: https://readthedocs.org/projects/deepgraph/badge/?version=latest
    :target: http://deepgraph.readthedocs.io/en/latest/?badge=latest

Owner

  • Name: DeepGraph
  • Login: deepgraph
  • Kind: organization
  • Email: dominik.traxl@posteo.org

GitHub Events

Total
  • Release event: 2
  • Watch event: 22
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 47
  • Pull request event: 4
  • Fork event: 4
  • Create event: 5
Last Year
  • Release event: 2
  • Watch event: 22
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 47
  • Pull request event: 4
  • Fork event: 4
  • Create event: 5

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 164
  • Total Committers: 2
  • Avg Commits per committer: 82.0
  • Development Distribution Score (DDS): 0.006
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dominik Traxl d****l@p****g 163
Charlie Gels c****s@c****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 5
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 13
  • Total pull request authors: 3
  • Average comments per issue: 0.89
  • Average comments per pull request: 0.6
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 months
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.67
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • dominiktraxl (5)
  • afrendeiro (2)
  • analyticray (1)
  • joseortiz3 (1)
  • mmpust (1)
  • waltercostamb (1)
  • fredshu (1)
  • apoletayev (1)
  • ghsama (1)
  • grez72 (1)
  • rtbs-dev (1)
  • jolespin (1)
  • datnamer (1)
Pull Request Authors
  • dominiktraxl (6)
  • dependabot[bot] (2)
  • cguls (1)
Top Labels
Issue Labels
New feature (3) Testing (2) Data IO (1) question (1)
Pull Request Labels
dependencies (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 5,002 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 20
  • Total maintainers: 1
pypi.org: deepgraph

Analyze Data with Pandas-based Networks.

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 5,002 Last month
Rankings
Stargazers count: 3.8%
Forks count: 6.3%
Dependent packages count: 10.0%
Average: 10.7%
Downloads: 11.8%
Dependent repos count: 21.7%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: deepgraph

DeepGraph is a scalable, general-purpose data analysis package. It implements a network representation based on pandas DataFrames and provides methods to construct, partition and plot graphs, to interface with popular network packages and more.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 21.1%
Forks count: 25.4%
Average: 32.9%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

readthedocs_requirements.txt pypi
  • numpy *
  • pandas *
setup.py pypi
  • numpy >=1.6
  • pandas >=0.17.0