hypernetx


Namehypernetx JSON
Version 2.3.2 PyPI version JSON
download
home_pagehttps://pypi.org/project/hypernetx/
SummaryHyperNetX is a Python library for the creation and study of hypergraphs.
upload_time2024-05-29 21:08:16
maintainerNone
docs_urlNone
authorBrenda Praggastis
requires_python<4.0.0,>=3.10
license3-Clause BSD license
keywords hypergraphs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            HyperNetX
==========
<img src="docs/source/images/harrypotter_basic_hyp.png" align="right" width="300pt">

[![Pytest](https://github.com/pnnl/HyperNetX/actions/workflows/ci.yml/badge.svg)](https://github.com/pnnl/HyperNetX/actions/workflows/ci.yml)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
[![CITATION.cff](https://github.com/pnnl/HyperNetX/actions/workflows/cff.yml/badge.svg)](https://github.com/pnnl/HyperNetX/actions/workflows/cff.yml)

The HyperNetX library provides classes and methods for the analysis
and visualization of complex network data modeled as hypergraphs.
The library generalizes traditional graph metrics.

HypernetX was developed by the Pacific Northwest National Laboratory for the
Hypernets project as part of its High Performance Data Analytics (HPDA) program.
PNNL is operated by Battelle Memorial Institute under Contract DE-ACO5-76RL01830.

* Principal Developer and Designer: Brenda Praggastis
* Development Team: Audun Myers, Mark Bonicillo
* Visualization: Dustin Arendt, Ji Young Yun
* Principal Investigator: Cliff Joslyn
* Program Manager: Brian Kritzstein
* Principal Contributors (Design, Theory, Code): Sinan Aksoy, Dustin Arendt, Mark Bonicillo, Helen Jenne, Cliff Joslyn, Nicholas Landry, Audun Myers, Christopher Potvin, Brenda Praggastis, Emilie Purvine, Greg Roek, Mirah Shi, Francois Theberge, Ji Young Yun

The code in this repository is intended to support researchers modeling data
as hypergraphs. We have a growing community of users and contributors.
Documentation is available at: https://pnnl.github.io/HyperNetX

For questions and comments contact the developers directly at: hypernetx@pnnl.gov

Summary - Release highlights - HNX 2.3
--------------------------------------

HyperNetX 2.3. is the latest, stable release. The core library has been refactored to take better advantage
of Pandas Dataframes, improve readability and maintainability, address bugs, and make it easier to change.
New features have been added, most notably the ability to add and remove edges, nodes, and incidences.

**Version 2.3 is not backwards compatible. Objects constructed using earlier versions
can be imported using their incidence dictionaries and/or property datafames.**

What's New
~~~~~~~~~~~~~~~~~~~~~~~~~
#. Hypergraph now supports adding and removing edges, nodes, and incidences
#. Hypergraph also supports the sum, difference, union, and intersection of a Hypergraph to another Hypergraph
#. New factory methods to support the Hypergraph constructor
#. EntitySet has been replaced by HypergraphView
#. IncidenceStore and PropertyStore are new classes that maintain the structure and attributes of a Hypergraph
#. Hypergraph constructors accept cell, edge, and node metadata.


What's Changed
~~~~~~~~~~~~~~~~~~~~~~~~~
#. HNX now requires Python ^3.10,<=3.12
#. HNX core libraries have been updated
#. Updated tutorials
--------------
1. The `static` and `dynamic` distinctions no longer exist. All hypergraphs use the same underlying data structure, supported by Pandas dataFrames. All hypergraphs maintain a `state_dict` to avoid repeating computations.
1. Methods for adding nodes and hyperedges are currently not supported.
1. The `nwhy` optimizations are no longer supported.
1. Entity and EntitySet classes are being moved to the background. The Hypergraph constructor does not accept either.



Tutorials Available for Colab
=============================

Google Colab
------------


<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%201%20-%20HNX%20Basics.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 1 - HNX Basics</span>
</a>
<br>

<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%202%20-%20Visualization%20Methods.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 2 - Visualization Methods</span>
</a>
<br>

<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%203%20-%20LesMis%20Case%20Study.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 3 - LesMis Case Study</span>
</a>
<br>

<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%204%20-%20LesMis%20Visualizations-BookTour.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 4 - LesMis Visualizations-Book Tour</span>
</a>
<br>

<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%205%20-%20HNX%20attributed%20hypergraph.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 5 - HNX attributed hypergraph</span>
</a>
<br>

<a href="https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%206%20-%20Hypergraph%20Arithmetic.ipynb" target="_blank">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
    <span >Basic 6 - Hypergraph Arithmetic.ipynb</span>
</a>
<br>


Jupyter Notebooks
-----------------

Additional tutorials that can be run as Jupyter Notebooks are found under [tutorials](./tutorials).

Installation
====================

The recommended installation method for most users is to create a virtual environment and install HyperNetX from PyPi.

HyperNetX may be cloned or forked from [GitHub](https://github.com/pnnl/HyperNetX).

Prerequisites
-------------
HyperNetX officially supports Python 3.8, 3.9, 3.10 and 3.11.

Create a virtual environment
----------------------------

### Using venv


```shell
python -m venv venv-hnx
source venv-hnx/bin/activate
```


### Using Anaconda


```shell
conda create -n venv-hnx python=3.11 -y
conda activate venv-hnx
```


### Using virtualenv


```shell
virtualenv venv-hnx
source venv-hnx/bin/activate
```


### For Windows Users

On both Windows PowerShell or Command Prompt, you can use the following command to activate your virtual environment:

```shell
.\env-hnx\Scripts\activate
```

To deactivate your environment, use:

```shell
.\env-hnx\Scripts\deactivate
```

Installing HyperNetX
====================

Regardless of how you install HyperNetX, ensure that your environment is activated and that you are running Python >=3.10.


Installing from PyPi
--------------------

```shell
pip install hypernetx
```

Installing from Source
----------------------

Ensure that you have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed.

```shell
git clone https://github.com/pnnl/HyperNetX.git
cd HyperNetX

# Create a virtual environment
make venv
source venv-hnx/bin/activate

# install required dependencies
make install
```

Development
===========

Install an editable version
```
pip install -e .
```

Install additional dependencies to support testing and jupyter notebooks:
```
pip install -r requirements.txt
```

You can also install all these requirements in one Make target:

```
make install
```

Poetry
======

This library uses [Poetry](https://python-poetry.org/docs/) to manage dependencies and packaging. Poetry can also be
used to manage your environment for development.

Prerequisites
-------------

* [Install Poetry](https://python-poetry.org/docs/#installation)


Configure Poetry
----------------

[Configure your Poetry](https://python-poetry.org/docs/configuration/) to create the virtual environment in your project directory:
```
poetry config virtualenvs.in-project true

# check the poetry configuration
poetry config --list
```

Set up virtual environment
----------------------------

Create and activate a virtual environment.
```
poetry shell
```

NOTE: If you plan to use Poetry to manage your virtual environment, you can activate the virtual environment
using poerty: `poetry shell`. Another option is to directly

Install required dependencies and HyperNetX in editable mode.
```
poetry install
```

Install support for testing
-----------------------------

> ℹ️ **NOTE:** This project has a pytest configuration file named 'pytest.ini'. By default, pytest will use those configuration settings to run tests.

```shell
poetry install --with test

# activate your virtual environment created by poetry
poetry shell

# run tests
python -m pytest

# run tests and show coverage report
python -m pytest --cov=hypernetx

# Generate an HTML code coverage report and view it on a browser
coverage html
open htmlcov/index.html
```

Install support for tutorials
-----------------------------

```shell
poetry install --with tutorials

# activate your virtual environment created by poetry
poetry shell

# open Jupyter notebooks in a browser
make tutorials
```

Code Quality
------------
HyperNetX uses a number of tools to maintain code quality:

* Pylint
* Black

Before using these tools, ensure that you install Pylint in your environment:

```shell
poetry install --with lint
# activate your virtual environment created by poetry
poetry shell
```

Pylint
------

[Pylint](https://pylint.pycqa.org/en/latest/index.html) is a static code analyzer for Python-based projects. From the [Pylint docs](https://pylint.pycqa.org/en/latest/index.html#what-is-pylint):

> Pylint analyses your code without actually running it. It checks for errors, enforces a coding standard, looks for code smells, and can make suggestions about how the code could be refactored. Pylint can infer actual values from your code using its internal code representation (astroid). If your code is import logging as argparse, Pylint will know that argparse.error(...) is in fact a logging call and not an argparse call.

To run Pylint and view the results of Pylint, run the following command:

```shell
pylint hypernetx
```

You can also run Pylint on the command line to generate a report on the quality of the codebase and save it to a file named "pylint-results.txt":

```shell
pylint hypernetx --output=pylint-results.txt
```

For more information on configuration, see https://pylint.pycqa.org/en/latest/user_guide/configuration/index.html

Black
-----
[Black](https://black.readthedocs.io/en/stable/) is a PEP 8 compliant formatter for Python-based project. This tool is highly opinionated about how Python should be formatted and will automagically reformat your code.


```shell
black hypernetx
```

Pre-commit
---------

Use the [pre-commit framework](https://pre-commit.com/) to automatically point out issues and resolve those issues before code review.
It is highly recommended to install pre-commit in your development environment so that issues with your code can be found before you submit a
pull request. More importantly, using pre-commit will automatically format your code changes so that they pass the CI build. For example, pre-commit will
automatically run the formatter Black on your code changes.

```shell
pre-commit install

# Once installed, pre-commit will be triggered every time you make a commit in your environment
```

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

Build and view documentation locally:

```shell
poetry install --with docs
# activate your virtual environment created by poetry
poetry shell

cd docs
make html
open docs/build/html/index.html
```

When editing documentation, you can auto-rebuild the documentation locally so that you can view your document changes
live on the browser without having to rebuild every time you have a change.

```shell
cd docs
make livehtml
```

This make script will run in the foreground on your terminal. You should see the following:

```shell
The HTML pages are in docs/html.
[I 230324 09:50:48 server:335] Serving on http://127.0.0.1:8000
[I 230324 09:50:48 handlers:62] Start watching changes
[I 230324 09:50:48 handlers:64] Start detecting changes
[I 230324 09:50:54 handlers:135] Browser Connected: http://127.0.0.1:8000/install.html
[I 230324 09:51:02 handlers:135] Browser Connected: http://127.0.0.1:8000/
```

Click on `http://127.0.0.1:8000/install.html` to open the docs on your browser. Since this will auto-rebuild, every time
you change a document file, it will automatically render on your browser, allowing you to verify your document changes.


Notice
======
This material was prepared as an account of work sponsored by an agency of the United States Government.  Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights.
Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

   <div>
   <pre style="align-text:center;font-size:10pt">
   PACIFIC NORTHWEST NATIONAL LABORATORY
   operated by
   BATTELLE
   for the
   UNITED STATES DEPARTMENT OF ENERGY
   under Contract DE-AC05-76RL01830
   </pre>
   </div>


License
=======

Released under the 3-Clause BSD license (see License.rst)

            

Raw data

            {
    "_id": null,
    "home_page": "https://pypi.org/project/hypernetx/",
    "name": "hypernetx",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.10",
    "maintainer_email": null,
    "keywords": "hypergraphs",
    "author": "Brenda Praggastis",
    "author_email": "Brenda.Praggastis@pnnl.gov",
    "download_url": "https://files.pythonhosted.org/packages/1a/60/887914c6ad3d76aa6ef9b69056482b7ef5d823a9b1ff73b7b06aab7ffa7d/hypernetx-2.3.2.tar.gz",
    "platform": null,
    "description": "HyperNetX\n==========\n<img src=\"docs/source/images/harrypotter_basic_hyp.png\" align=\"right\" width=\"300pt\">\n\n[![Pytest](https://github.com/pnnl/HyperNetX/actions/workflows/ci.yml/badge.svg)](https://github.com/pnnl/HyperNetX/actions/workflows/ci.yml)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)\n[![CITATION.cff](https://github.com/pnnl/HyperNetX/actions/workflows/cff.yml/badge.svg)](https://github.com/pnnl/HyperNetX/actions/workflows/cff.yml)\n\nThe HyperNetX library provides classes and methods for the analysis\nand visualization of complex network data modeled as hypergraphs.\nThe library generalizes traditional graph metrics.\n\nHypernetX was developed by the Pacific Northwest National Laboratory for the\nHypernets project as part of its High Performance Data Analytics (HPDA) program.\nPNNL is operated by Battelle Memorial Institute under Contract DE-ACO5-76RL01830.\n\n* Principal Developer and Designer: Brenda Praggastis\n* Development Team: Audun Myers, Mark Bonicillo\n* Visualization: Dustin Arendt, Ji Young Yun\n* Principal Investigator: Cliff Joslyn\n* Program Manager: Brian Kritzstein\n* Principal Contributors (Design, Theory, Code): Sinan Aksoy, Dustin Arendt, Mark Bonicillo, Helen Jenne, Cliff Joslyn, Nicholas Landry, Audun Myers, Christopher Potvin, Brenda Praggastis, Emilie Purvine, Greg Roek, Mirah Shi, Francois Theberge, Ji Young Yun\n\nThe code in this repository is intended to support researchers modeling data\nas hypergraphs. We have a growing community of users and contributors.\nDocumentation is available at: https://pnnl.github.io/HyperNetX\n\nFor questions and comments contact the developers directly at: hypernetx@pnnl.gov\n\nSummary - Release highlights - HNX 2.3\n--------------------------------------\n\nHyperNetX 2.3. is the latest, stable release. The core library has been refactored to take better advantage\nof Pandas Dataframes, improve readability and maintainability, address bugs, and make it easier to change.\nNew features have been added, most notably the ability to add and remove edges, nodes, and incidences.\n\n**Version 2.3 is not backwards compatible. Objects constructed using earlier versions\ncan be imported using their incidence dictionaries and/or property datafames.**\n\nWhat's New\n~~~~~~~~~~~~~~~~~~~~~~~~~\n#. Hypergraph now supports adding and removing edges, nodes, and incidences\n#. Hypergraph also supports the sum, difference, union, and intersection of a Hypergraph to another Hypergraph\n#. New factory methods to support the Hypergraph constructor\n#. EntitySet has been replaced by HypergraphView\n#. IncidenceStore and PropertyStore are new classes that maintain the structure and attributes of a Hypergraph\n#. Hypergraph constructors accept cell, edge, and node metadata.\n\n\nWhat's Changed\n~~~~~~~~~~~~~~~~~~~~~~~~~\n#. HNX now requires Python ^3.10,<=3.12\n#. HNX core libraries have been updated\n#. Updated tutorials\n--------------\n1. The `static` and `dynamic` distinctions no longer exist. All hypergraphs use the same underlying data structure, supported by Pandas dataFrames. All hypergraphs maintain a `state_dict` to avoid repeating computations.\n1. Methods for adding nodes and hyperedges are currently not supported.\n1. The `nwhy` optimizations are no longer supported.\n1. Entity and EntitySet classes are being moved to the background. The Hypergraph constructor does not accept either.\n\n\n\nTutorials Available for Colab\n=============================\n\nGoogle Colab\n------------\n\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%201%20-%20HNX%20Basics.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 1 - HNX Basics</span>\n</a>\n<br>\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%202%20-%20Visualization%20Methods.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 2 - Visualization Methods</span>\n</a>\n<br>\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%203%20-%20LesMis%20Case%20Study.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 3 - LesMis Case Study</span>\n</a>\n<br>\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%204%20-%20LesMis%20Visualizations-BookTour.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 4 - LesMis Visualizations-Book Tour</span>\n</a>\n<br>\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%205%20-%20HNX%20attributed%20hypergraph.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 5 - HNX attributed hypergraph</span>\n</a>\n<br>\n\n<a href=\"https://colab.research.google.com/github/pnnl/HyperNetX/blob/master/tutorials/basic/Basic%206%20-%20Hypergraph%20Arithmetic.ipynb\" target=\"_blank\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n    <span >Basic 6 - Hypergraph Arithmetic.ipynb</span>\n</a>\n<br>\n\n\nJupyter Notebooks\n-----------------\n\nAdditional tutorials that can be run as Jupyter Notebooks are found under [tutorials](./tutorials).\n\nInstallation\n====================\n\nThe recommended installation method for most users is to create a virtual environment and install HyperNetX from PyPi.\n\nHyperNetX may be cloned or forked from [GitHub](https://github.com/pnnl/HyperNetX).\n\nPrerequisites\n-------------\nHyperNetX officially supports Python 3.8, 3.9, 3.10 and 3.11.\n\nCreate a virtual environment\n----------------------------\n\n### Using venv\n\n\n```shell\npython -m venv venv-hnx\nsource venv-hnx/bin/activate\n```\n\n\n### Using Anaconda\n\n\n```shell\nconda create -n venv-hnx python=3.11 -y\nconda activate venv-hnx\n```\n\n\n### Using virtualenv\n\n\n```shell\nvirtualenv venv-hnx\nsource venv-hnx/bin/activate\n```\n\n\n### For Windows Users\n\nOn both Windows PowerShell or Command Prompt, you can use the following command to activate your virtual environment:\n\n```shell\n.\\env-hnx\\Scripts\\activate\n```\n\nTo deactivate your environment, use:\n\n```shell\n.\\env-hnx\\Scripts\\deactivate\n```\n\nInstalling HyperNetX\n====================\n\nRegardless of how you install HyperNetX, ensure that your environment is activated and that you are running Python >=3.10.\n\n\nInstalling from PyPi\n--------------------\n\n```shell\npip install hypernetx\n```\n\nInstalling from Source\n----------------------\n\nEnsure that you have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed.\n\n```shell\ngit clone https://github.com/pnnl/HyperNetX.git\ncd HyperNetX\n\n# Create a virtual environment\nmake venv\nsource venv-hnx/bin/activate\n\n# install required dependencies\nmake install\n```\n\nDevelopment\n===========\n\nInstall an editable version\n```\npip install -e .\n```\n\nInstall additional dependencies to support testing and jupyter notebooks:\n```\npip install -r requirements.txt\n```\n\nYou can also install all these requirements in one Make target:\n\n```\nmake install\n```\n\nPoetry\n======\n\nThis library uses [Poetry](https://python-poetry.org/docs/) to manage dependencies and packaging. Poetry can also be\nused to manage your environment for development.\n\nPrerequisites\n-------------\n\n* [Install Poetry](https://python-poetry.org/docs/#installation)\n\n\nConfigure Poetry\n----------------\n\n[Configure your Poetry](https://python-poetry.org/docs/configuration/) to create the virtual environment in your project directory:\n```\npoetry config virtualenvs.in-project true\n\n# check the poetry configuration\npoetry config --list\n```\n\nSet up virtual environment\n----------------------------\n\nCreate and activate a virtual environment.\n```\npoetry shell\n```\n\nNOTE: If you plan to use Poetry to manage your virtual environment, you can activate the virtual environment\nusing poerty: `poetry shell`. Another option is to directly\n\nInstall required dependencies and HyperNetX in editable mode.\n```\npoetry install\n```\n\nInstall support for testing\n-----------------------------\n\n> \u2139\ufe0f **NOTE:** This project has a pytest configuration file named 'pytest.ini'. By default, pytest will use those configuration settings to run tests.\n\n```shell\npoetry install --with test\n\n# activate your virtual environment created by poetry\npoetry shell\n\n# run tests\npython -m pytest\n\n# run tests and show coverage report\npython -m pytest --cov=hypernetx\n\n# Generate an HTML code coverage report and view it on a browser\ncoverage html\nopen htmlcov/index.html\n```\n\nInstall support for tutorials\n-----------------------------\n\n```shell\npoetry install --with tutorials\n\n# activate your virtual environment created by poetry\npoetry shell\n\n# open Jupyter notebooks in a browser\nmake tutorials\n```\n\nCode Quality\n------------\nHyperNetX uses a number of tools to maintain code quality:\n\n* Pylint\n* Black\n\nBefore using these tools, ensure that you install Pylint in your environment:\n\n```shell\npoetry install --with lint\n# activate your virtual environment created by poetry\npoetry shell\n```\n\nPylint\n------\n\n[Pylint](https://pylint.pycqa.org/en/latest/index.html) is a static code analyzer for Python-based projects. From the [Pylint docs](https://pylint.pycqa.org/en/latest/index.html#what-is-pylint):\n\n> Pylint analyses your code without actually running it. It checks for errors, enforces a coding standard, looks for code smells, and can make suggestions about how the code could be refactored. Pylint can infer actual values from your code using its internal code representation (astroid). If your code is import logging as argparse, Pylint will know that argparse.error(...) is in fact a logging call and not an argparse call.\n\nTo run Pylint and view the results of Pylint, run the following command:\n\n```shell\npylint hypernetx\n```\n\nYou can also run Pylint on the command line to generate a report on the quality of the codebase and save it to a file named \"pylint-results.txt\":\n\n```shell\npylint hypernetx --output=pylint-results.txt\n```\n\nFor more information on configuration, see https://pylint.pycqa.org/en/latest/user_guide/configuration/index.html\n\nBlack\n-----\n[Black](https://black.readthedocs.io/en/stable/) is a PEP 8 compliant formatter for Python-based project. This tool is highly opinionated about how Python should be formatted and will automagically reformat your code.\n\n\n```shell\nblack hypernetx\n```\n\nPre-commit\n---------\n\nUse the [pre-commit framework](https://pre-commit.com/) to automatically point out issues and resolve those issues before code review.\nIt is highly recommended to install pre-commit in your development environment so that issues with your code can be found before you submit a\npull request. More importantly, using pre-commit will automatically format your code changes so that they pass the CI build. For example, pre-commit will\nautomatically run the formatter Black on your code changes.\n\n```shell\npre-commit install\n\n# Once installed, pre-commit will be triggered every time you make a commit in your environment\n```\n\nDocumentation\n-------------\n\nBuild and view documentation locally:\n\n```shell\npoetry install --with docs\n# activate your virtual environment created by poetry\npoetry shell\n\ncd docs\nmake html\nopen docs/build/html/index.html\n```\n\nWhen editing documentation, you can auto-rebuild the documentation locally so that you can view your document changes\nlive on the browser without having to rebuild every time you have a change.\n\n```shell\ncd docs\nmake livehtml\n```\n\nThis make script will run in the foreground on your terminal. You should see the following:\n\n```shell\nThe HTML pages are in docs/html.\n[I 230324 09:50:48 server:335] Serving on http://127.0.0.1:8000\n[I 230324 09:50:48 handlers:62] Start watching changes\n[I 230324 09:50:48 handlers:64] Start detecting changes\n[I 230324 09:50:54 handlers:135] Browser Connected: http://127.0.0.1:8000/install.html\n[I 230324 09:51:02 handlers:135] Browser Connected: http://127.0.0.1:8000/\n```\n\nClick on `http://127.0.0.1:8000/install.html` to open the docs on your browser. Since this will auto-rebuild, every time\nyou change a document file, it will automatically render on your browser, allowing you to verify your document changes.\n\n\nNotice\n======\nThis material was prepared as an account of work sponsored by an agency of the United States Government.  Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights.\nReference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.\n\n   <div>\n   <pre style=\"align-text:center;font-size:10pt\">\n   PACIFIC NORTHWEST NATIONAL LABORATORY\n   operated by\n   BATTELLE\n   for the\n   UNITED STATES DEPARTMENT OF ENERGY\n   under Contract DE-AC05-76RL01830\n   </pre>\n   </div>\n\n\nLicense\n=======\n\nReleased under the 3-Clause BSD license (see License.rst)\n",
    "bugtrack_url": null,
    "license": "3-Clause BSD license",
    "summary": "HyperNetX is a Python library for the creation and study of hypergraphs.",
    "version": "2.3.2",
    "project_urls": {
        "Documentation": "https://hypernetx.readthedocs.io/en/latest/",
        "Homepage": "https://pypi.org/project/hypernetx/",
        "Repository": "https://github.com/pnnl/HyperNetX"
    },
    "split_keywords": [
        "hypergraphs"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1b50b5b7f51a37c3440f23280f059fbbb51f9adaefb035ef9660f069ba9729f",
                "md5": "3fca7fba875f22ea98e61469e5d63e1a",
                "sha256": "38f4487f6fe6b122589668af5559118bad522f65e9341acc57738065fe309cd7"
            },
            "downloads": -1,
            "filename": "hypernetx-2.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3fca7fba875f22ea98e61469e5d63e1a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.10",
            "size": 578524,
            "upload_time": "2024-05-29T21:08:13",
            "upload_time_iso_8601": "2024-05-29T21:08:13.765837Z",
            "url": "https://files.pythonhosted.org/packages/b1/b5/0b5b7f51a37c3440f23280f059fbbb51f9adaefb035ef9660f069ba9729f/hypernetx-2.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1a60887914c6ad3d76aa6ef9b69056482b7ef5d823a9b1ff73b7b06aab7ffa7d",
                "md5": "92c9bc502b7e558db545bb425172b6f7",
                "sha256": "a07fcd6036992cdc335955b725d6b5b0c9af7dcdf956b5e598542354893642bf"
            },
            "downloads": -1,
            "filename": "hypernetx-2.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "92c9bc502b7e558db545bb425172b6f7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.10",
            "size": 568356,
            "upload_time": "2024-05-29T21:08:16",
            "upload_time_iso_8601": "2024-05-29T21:08:16.140590Z",
            "url": "https://files.pythonhosted.org/packages/1a/60/887914c6ad3d76aa6ef9b69056482b7ef5d823a9b1ff73b7b06aab7ffa7d/hypernetx-2.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-29 21:08:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pnnl",
    "github_project": "HyperNetX",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "hypernetx"
}
        
Elapsed time: 0.28093s