Metadata-Version: 2.4
Name: graphtools
Version: 2.1.0
Summary: graphtools
Home-page: https://github.com/KrishnaswamyLab/graphtools
Download-URL: https://github.com/KrishnaswamyLab/graphtools/archive/v2.1.0.tar.gz
Author: Scott Gigante, Daniel Burkhardt, and Jay Stanley, Yale University
Author-email: scott.gigante@yale.edu
Maintainer: João Felipe Rocha (Yale University) and Matthew Scicluna (Université de Montréal)
Maintainer-email: joaofelipe.rocha@yale.edu, matthew.scicluna@umontreal.ca
License: GNU General Public License Version 2
Keywords: graphs,big-data,signal processing,manifold-learning
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Mathematics
License-File: LICENSE
Requires-Dist: numpy>=1.14.0
Requires-Dist: scipy>=1.1.0
Requires-Dist: pygsp>=0.5.1
Requires-Dist: scikit-learn>=0.20.0
Requires-Dist: future
Requires-Dist: tasklogger>=1.0
Requires-Dist: Deprecated
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pandas; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: coveralls; extra == "test"
Requires-Dist: python-igraph; extra == "test"
Requires-Dist: parameterized; extra == "test"
Requires-Dist: anndata; extra == "test"
Requires-Dist: anndata; extra == "test"
Requires-Dist: black; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinxcontrib-napoleon; extra == "doc"
Requires-Dist: sphinxcontrib-bibtex; extra == "doc"
Provides-Extra: numba
Requires-Dist: numba>=0.50.0; extra == "numba"
Provides-Extra: fast
Requires-Dist: numba>=0.50.0; extra == "fast"
Provides-Extra: all
Requires-Dist: pytest; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: pandas; extra == "all"
Requires-Dist: coverage; extra == "all"
Requires-Dist: coveralls; extra == "all"
Requires-Dist: python-igraph; extra == "all"
Requires-Dist: parameterized; extra == "all"
Requires-Dist: anndata; extra == "all"
Requires-Dist: anndata; extra == "all"
Requires-Dist: sphinx; extra == "all"
Requires-Dist: sphinxcontrib-napoleon; extra == "all"
Requires-Dist: sphinxcontrib-bibtex; extra == "all"
Requires-Dist: numba>=0.50.0; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: download-url
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

==========
graphtools
==========

.. image:: https://img.shields.io/pypi/v/graphtools.svg
    :target: https://pypi.org/project/graphtools/
    :alt: Latest PyPi version
.. image:: https://anaconda.org/conda-forge/graphtools/badges/version.svg
    :target: https://anaconda.org/conda-forge/graphtools/
    :alt: Latest Conda version
.. image:: https://img.shields.io/github/workflow/status/KrishnaswamyLab/graphtools/Unit%20Tests/master?label=Github%20Actions
    :target: https://travis-ci.com/KrishnaswamyLab/graphtools
    :alt: Github Actions Build
.. image:: https://img.shields.io/readthedocs/graphtools.svg
    :target: https://graphtools.readthedocs.io/
    :alt: Read the Docs
.. image:: https://coveralls.io/repos/github/KrishnaswamyLab/graphtools/badge.svg?branch=master
    :target: https://coveralls.io/github/KrishnaswamyLab/graphtools?branch=master
    :alt: Coverage Status
.. image:: https://img.shields.io/twitter/follow/KrishnaswamyLab.svg?style=social&label=Follow
    :target: https://twitter.com/KrishnaswamyLab
    :alt: Twitter
.. image:: https://img.shields.io/github/stars/KrishnaswamyLab/graphtools.svg?style=social&label=Stars
    :target: https://github.com/KrishnaswamyLab/graphtools/
    :alt: GitHub stars
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
    :alt: Code style: black

Tools for building and manipulating graphs in Python.

Installation
------------

graphtools is available on `pip`. Install by running the following in a terminal::

    pip install --user graphtools

Alternatively, graphtools can be installed using `Conda <https://conda.io/docs/>`_ (most easily obtained via the `Miniconda Python distribution <https://conda.io/miniconda.html>`_)::

    conda install -c conda-forge graphtools

Or, to install the latest version from github::

    pip install --user git+git://github.com/KrishnaswamyLab/graphtools.git

For improved performance with large datasets, install with numba acceleration::

    pip install --user graphtools[fast]

Usage example
-------------

The `graphtools.Graph` class provides an all-in-one interface for k-nearest neighbors, mutual nearest neighbors, exact (pairwise distances) and landmark graphs.

Use it as follows::

    from sklearn import datasets
    import graphtools
    digits = datasets.load_digits()
    G = graphtools.Graph(digits['data'])
    K = G.kernel
    P = G.diff_op
    G = graphtools.Graph(digits['data'], n_landmark=300)
    L = G.landmark_op

Help
----

If you have any questions or require assistance using graphtools, please contact us at https://krishnaswamylab.org/get-help
