Metadata-Version: 2.4
Name: pop2net
Version: 1.2.0
Summary: Pop2net is a Python package designed to generate and manage relations between agents in agent-based models in a simple and flexible way.
License: MIT
License-File: LICENSE
Author: Marius Kaffai
Author-email: marius.kaffai@sowi.uni-stuttgart.de
Requires-Python: >=3.11, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*, !=3.9.*, !=3.10.*
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: bokehgraph (>=1.1.0,<2.0.0)
Requires-Dist: faker (>=15.1.1,<16.0.0)
Requires-Dist: mesa (>=3.1.5,<4.0.0)
Requires-Dist: numpy (>=1.26) ; python_version >= "3.12"
Requires-Dist: numpy (>=1.7) ; python_full_version <= "3.12.0"
Requires-Dist: pandas (>=1.5.1)
Requires-Dist: scipy (>=1.11.3) ; python_version >= "3.12"
Requires-Dist: scipy (>=1.6) ; python_full_version <= "3.12.0"
Requires-Dist: seaborn (>=0.12.1,<0.13.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Description-Content-Type: text/markdown

[![status](https://joss.theoj.org/papers/387d641e4eda2b34eed69b86dc106771/status.svg)](https://joss.theoj.org/papers/387d641e4eda2b34eed69b86dc106771)
![](https://github.com/mariuzka/pop2net/actions/workflows/tox.yml/badge.svg)
![Python 3.11+](https://img.shields.io/badge/python->=3.11-blue.svg)


# Pop2net

Pop2net is a Python package that combines many steps related to network generation and management for agent-based modeling using a bipartite approach: 
In Pop2net, relations are represented as a graph of *actors* and *locations*. 
While actors are the active entities within an agent-based model, locations act as a contact layer, representing specific contexts through which actors connect. 
This makes it easy to generate and manage custom network structures in an agent-based model.

Pop2net can be used within custom modeling frameworks and also integrates seamlessly with the agent-based modeling frameworks [AgentPy](https://github.com/jofmi/agentpy) and [Mesa](https://github.com/projectmesa/mesa).


## Installation

You can install Pop2net using pip:

```
pip install pop2net
```

Python 3.14.1 has a bug which causes networkX to crash, see [this issue](https://github.com/networkx/networkx/issues/8362).
If you use Python 3.14, make sure to use any other path version that 3.14.1.


## Documentation

Detailed documentation of all features and a collection of example analyses can be found [here](https://mariuzka.github.io/pop2net/).


## How to contribute

Contributions are welcome!  
See [this guide](https://mariuzka.github.io/pop2net/developers.html) 
for details on how to get started.

