Skip to main content

Hetnets in Python

CI Status PyPI Latest DOI GitHub issues Code style: black

Overview

Hetnetpy is a Python 3 package for creating, querying, and operating on hetnets. This software provides convenient data structures for hetnets, as well as algorithms for edge prediction. It is specifically tailored and streamlined for hetnets compared to other more generic network software. See https://het.io/software for additional software packages designed specifically for hetnets.

Package relocation

Note that this package was previously named hetio, available at the following repositories:

In July 2019, the package was renamed to hetnetpy to more clearly represent its functionality and disambiguate it from other products.

Background

Hetnets: Hetnets, also called heterogeneous information networks, are graphs with multiple node and edge types. Hetnets are both multipartite and multirelational. They provide a scalable, intuitive, and frictionless structure for data integration.

Purpose: This package provides data structures for hetnets and algorithms for edge prediction. It only supports hetnets, which is its primary advantage compared to other network software. Node/edge attributes and edge directionality are supported.

Impetus: Development originated with a study to predict disease-associated genes and continues with a successive study to repurpose drugs.

Caution: Documentation is currently spotty, testing coverage is moderate, and the API is not fully stable. Contributions are welcome. Please use GitHub Issues for feedback, questions, or troubleshooting.

Installation

PyPI

Please use Python 3.4 or higher. To install the current PyPI version (recommended), run:

pip install hetnetpy

For the latest GitHub version, run:

pip install git+https://github.com/hetio/hetnetpy.git#egg=hetnetpy

For development, clone or download-and-extract the repository. Then run pip install --editable . from the repository's root directory. The --editable flag specifies editable mode, so updating the source updates your installation.

Once installed, tests can be executed by running py.test test/ from the repository's root directory.

Design

A Graph object stores a heterogeneous network and relies on the following classes:

  1. Graph
  2. MetaGraph
  3. Edge
  4. MetaEdge

Development

This repo uses pre-commit:

# run once per local repo before committing
pre-commit install

This following is only relevant for maintainers. Create a new release at https://github.com/hetio/hetnetpy/releases/new. GitHub Actions will build the distribution and upload it to PyPI. The version information inferred from the Git tag using setuptools_scm.

License

This repository is dual licensed, available under either or both of the following licenses:

  1. BSD-2-Clause Plus Patent License at LICENSE-BSD.md
  2. CC0 1.0 Universal Public Domain Dedication at LICENSE-CC0.md

Metadata

Release files for hetnetpy 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hetnetpy 0.3.1
File Size Uploaded
hetnetpy-0.3.1.tar.gz 595.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hetnetpy 0.3.1
File Interpreter ABI Platform
hetnetpy-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 650.3 kB

Release files / hetnetpy-0.3.1.tar.gz

Download URL hetnetpy-0.3.1.tar.gz
Size 595.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5568fbd1a91765e9d9f545da1f0c98379419422f9efef58606149c64d3360632
BLAKE2b-256 checksum
How to use checksums
e18082e21b3cf3d81a687f23448570abd3fdfb04acd86754d5b2686f76b23bde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release files / hetnetpy-0.3.1-py3-none-any.whl

Download URL hetnetpy-0.3.1-py3-none-any.whl
Size 54.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79885000bd285bc87209bb09a402ca5c2a0f4411cc9ad4a2b57ec2d3cc1fef06
BLAKE2b-256 checksum
How to use checksums
1edd470d21ce03871b2c1043b022d2e64b0dc510f635bef8b6e9fa8b5918770d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page