Skip to main content

PedPy is a Python module for pedestrian movement analysis.

Project description

PedPy Logo

PyPI Latest Release PyPI - Python Version DOI License ci workflow codecov Ruff Documentation Status OpenSSF Best Practices fair-software.eu JuRSE Code Pick – July 2025

PedPy

PedPy is a Python library for quantitative analysis of pedestrian dynamics from trajectory data.

It provides a high-level interface for extracting fundamental measures (density, velocity, flow) and advanced analyses such as Voronoi-based methods, profiles, and pair-distribution functions, which can be combined to derive fundamental diagrams.

Features

  • Compute core pedestrian measures: density, velocity, flow
  • Advanced analyses: Voronoi-based density, profiles, pair-distribution functions
  • Directly load trajectory data from multiple tools: Crowdit, Viswalk, JuPedSim, Vadere, Pathfinder
  • Easy-to-use API for loading, processing, and visualizing data
  • Built-in plotting for quick inspection and comparison of results
  • Open-source, tested, and aligned with FAIR and OpenSSF best practices

Getting Started

Installation

PedPy requires Python >= 3.11.
It is recommended to use a virtual environment.

Install the latest stable release from PyPI:

python3 -m pip install pedpy

To install the latest development version from the repository:

python3 -m pip install --force-reinstall git+https://github.com/PedestrianDynamics/PedPy.git

[!IMPORTANT]
The latest repository version may be unstable. Use with caution.

Quickstart

from pedpy import *

# Load trajectory data from file
traj = load_trajectory(
  trajectory_file=pathlib.Path("some_trajectory_data.txt")
)

# Create measurement area
measurement_area = MeasurementArea(
  [(-0.4, 0.5), (0.4, 0.5), (0.4, 1.3), (-0.4, 1.3)]
)

# Compute classic density in the measurement area
classic_density = compute_classic_density(
    traj_data=traj, measurement_area=measurement_area
)

plot_density(density=classic_density, title="Classic density")

See the Getting Started Guide for a step-by-step introduction. A more extensive documentation and demonstration of PedPy's capabilities can be found in the User Guide.

Usage

PedPy is designed to be used in scripts or interactive Jupyter notebooks.

  • Explore getting started, user guide, and fundamental diagram notebooks.

  • For local usage, clone the repository and install the extra requirements for notebooks and plotting:

    git clone https://github.com/PedestrianDynamics/pedpy.git
    python3 -m pip install jupyter matplotlib
    

    Then start a Jupyter server:

    jupyter notebook
    

Example Visualizations

Bottleneck Setup Example Voronoi-based Density Analysis Speed-Density Profile
Density Comparison Methods Time-Distance Analysis

Documentation

Citation

If you use PedPy in your work, please cite:

DOI

For the latest release (v.1.3.2) the BibTeX entry is:

@software{schrodter_2025_15337052,
  author       = {Schrödter, Tobias and
                  The PedPy Development Team},
  title        = {PedPy - Pedestrian Trajectory Analyzer},
  month        = may,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v1.3.2},
  doi          = {10.5281/zenodo.15337052},
  url          = {https://doi.org/10.5281/zenodo.15337052},
}

If you used a different version, please use Zenodo to get the citation information.

Contributing

Contributions are welcome and we are looking forward to any contribution from the community! Take a look at our Developer Guide to check out different ways to contribute to PedPy. See the contributing guidelines and open an issue or pull request on GitHub.

Getting Help

If you find yourself in a position where you need assistance from us, don't hesitate to contact us.

  • GitHub Issues: Report bugs or unexpected behavior
  • GitHub Discussions: Ask questions, share ideas, request features

License

PedPy is released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pedpy-1.4.0.tar.gz (64.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pedpy-1.4.0-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

File details

Details for the file pedpy-1.4.0.tar.gz.

File metadata

  • Download URL: pedpy-1.4.0.tar.gz
  • Upload date:
  • Size: 64.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pedpy-1.4.0.tar.gz
Algorithm Hash digest
SHA256 97a430788bf814cf59fe912c58562a8feb4d059552abd5aa14aad0c8d34d3c37
MD5 cde224c6dc6e8c6c4d04f7155b43e224
BLAKE2b-256 3d00176fbb1e490f603f6772919f3f69acf806a4187b62fdbe69034aa7ef3470

See more details on using hashes here.

File details

Details for the file pedpy-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: pedpy-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 70.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pedpy-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52dfd3d3e3281be34b64384cf4bef3b7ca748b47fa1d094f9385b797cdb2cd97
MD5 bf69f03ed7ad675b9b5b50cd8ee5cb67
BLAKE2b-256 22b90556ac40ac288cb9670c5eefaa2e738d07592312a8b308a7fbb75d159ef1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page