https://github.com/pedestriandynamics/jupedsim
JuPedSim is an open source pedestrian dynamics simulator
https://github.com/pedestriandynamics/jupedsim
c-plus-plus cpp pedestrian-dynamics simulation
Last synced: 4 months ago
JSON representation
JuPedSim is an open source pedestrian dynamics simulator
- Host: GitHub
- URL: https://github.com/pedestriandynamics/jupedsim
- Owner: PedestrianDynamics
- License: other
- Created: 2015-05-28T13:32:45.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-20T05:16:01.000Z (about 1 year ago)
- Last Synced: 2025-04-05T16:02:13.377Z (about 1 year ago)
- Topics: c-plus-plus, cpp, pedestrian-dynamics, simulation
- Language: Python
- Homepage: http://jupedsim.org
- Size: 468 MB
- Stars: 50
- Watchers: 11
- Forks: 29
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
[](https://doi.org/10.5281/zenodo.1293771)
[](https://raw.githubusercontent.com/PedestrianDynamics/jupedsim/master/LICENSE)


# Jülich Pedestrian Simulator - JuPedSim
JuPedSim is a library to simulate pedestrian dynamics.
This software was initiated at the Institute for Civil Safety [IAS-7](https://www.fz-juelich.de/en/ias/ias-7)
of the Jülich Research Center (Forschungszentrum Jülich) in Germany
and continues to evolve with support and contributions from a diverse and engaged community.
## Contributors
We are grateful to all the contributors who have helped shape JuPedSim into what it is today.
You can find the full list of contributors [here](CONTRIBUTORS.md).
## Installation
It is easiest to install directly with pip from
[PyPi.org](https://pypi.org/project/jupedsim/)
```
pip install jupedsim
```
## Usage
Please consult our [documentation.](http://jupedsim.org)
## Contributing
JuPedSim is licensed under [GNU LGPLv3](LICENSE) hence we are looking forward
to your contributions and would be happy to see questions, issues and pull
requests.
### Questions
If you have a question or a problem please open a new topic in [GitHub
discussions](https://github.com/PedestrianDynamics/jupedsim/discussions).
### Issues
If you found a bug and want to give us a chance to fix it we would be very
happy to hear from you. To make it easy for us to help you please include the
following information when you open a [new
issue](https://github.com/PedestrianDynamics/jupedsim/issues):
* What did JuPedSim do?
* What did you expect JuPedSim to do?
* How can we reproduce the issue?
### Pull Requests
If you encounter a bug and are would like to submit a fix feel free to open a
PR, we will look into it.
Before embarking on larger work it is a good idea to
[discuss](https://github.com/PedestrianDynamics/jupedsim/discussions) what you
plan.
While we are very happy if you contribute we reserve us the right to
decline your PR because it may not fit into our vision of JuPedSim.
## License
[GNU LGPLv3](LICENSE)
## Building from source
Here you have two options.
### With setuptools
You will need a C++20 capable compiler and CMake >= 3.19 installed on your
system. Then install our python dependencies via pip. Our python package
dependencies are listed in `requirements.txt` in the root of this repository.
Now you can call `pip install .`
E.g.:
```bash
cd jupedsim
pip install -r requirements.txt
pip install .
```
### Compile yourself
You will need a C++20 capable compiler and CMake >= 3.19 installed on your
system. Then install our python dependencies via pip. Our python package
dependencies are listed in `requirements.txt` in the root of this repository.
Now you can generate makefiles with CMake, then compile and run the python
library.
```bash
pip install -r jupedsim/requirements.txt
mkdir jupedsim-build
cd jupedsim-build
cmake ../jupedsim
make -j
source ./environment
```
The last line in the above description will populate the python path with the
location of our python code and the native library.
> [!WARNING]
>
> When sourcing `./environment` from the build folder you need to ensure JuPedSim
> is not installed in the current python environment. Otherwise there will be
> erroneous calls to the wrong python code, resulting in crashes and/or
> exceptions.