Metadata-Version: 2.1
Name: pubnet
Version: 0.9.1
Summary: A python package for storing and working with publication data in graph form.
Home-page: https://github.com/net-synergy/pubnet
License: MIT
Keywords: publication,network,MEDLINE,PubMed,references
Author: David Connell
Author-email: davidconnell12@gmail.com
Maintainer: David Connell
Maintainer-email: davidconnell12@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: all
Provides-Extra: lm
Provides-Extra: pyarrow
Requires-Dist: appdirs (>=1.4.4,<2.0.0)
Requires-Dist: flax (>=0.10.0,<0.11.0) ; extra == "lm"
Requires-Dist: igraph (>=0.11,<0.12)
Requires-Dist: matplotlib (>=3.5,<4.0)
Requires-Dist: numpy (>=2.0,<3.0)
Requires-Dist: pandas (>=2.1,<3.0)
Requires-Dist: pubmedparser2 (>=2.1.2,<3.0.0)
Requires-Dist: pyarrow (>=18.0.0,<19.0.0) ; extra == "pyarrow" or extra == "all"
Requires-Dist: scipy (>=1.9,<2.0)
Requires-Dist: transformers (>=4.37.1,<5.0.0) ; extra == "lm"
Project-URL: Documentation, https://net-synergy.gitlab.io/pubnet
Project-URL: Repository, https://github.com/net-synergy/pubnet
Description-Content-Type: text/markdown

# PubNet publication networks

Provides data types for managing publication networks as a set of
graphs.

`PubNet` provides functions for downloading, storing, manipulating, and
saving publication networks. Networks can come from common online
sources like pubmed and crossref.

## Installation

``` bash
pip install --user pubnet
```

## More help

See [Documentation](https://net-synergy.gitlab.io/pubnet)

## Running tests

Installing with `poetry install --with=dev,tests --all-extras` will install all dependencies needed for running the tests. Then `poetry run pytest .` will run the test suite.

Optionally, if poetry is not installed, there is a Dockerfile provided. Build the image with `docker build --tag poetry:3.12 .` then the image can be run with `docker run --rm -it -v $PWD:/home/pubnet -w /home/pubnet poetry:3.12`. The initial run will download dependencies to `.venv` inside the directory. After the first run, the dependencies will be reused. It will then run the tests on the current work tree.

This container can also be used to run arbitrary commands without the need to install poetry directly by passing a command to the end of the docker command:

``` bash
docker run --rm -it -v $PWD:/home/pubnet -w /home/pubnet /bin/bash
```

In this case, if `poetry install` hasn't already been run, this will need to be run with the above install command. Then, inside the container, `poetry run ipython` can be run to start a python repl with pubnet installed.

