Skip to main content

REQreate 🚌

REQreate is a tool to generate instances for on-demand transportation problems. Such problems consist of optimizing the routes of vehicles according to passengers' demand for transportation under space and time restrictions (requests). REQreate is flexible and can be configured to generate instances for a large number of problems in this problem class. For example, the Dial-a-Ride Problem (DARP) and On-demand Bus Routing Problem (ODBRP). The tool makes use of real-life networks from OpenStreetMaps to generate instances for an extensive catalogue of existing and upcoming on-demand transportation problems.

✨ New: Web Interface

REQreate now includes a user-friendly web interface built with Streamlit! No need to edit JSON files manually.

Quick Start:

pip install .[app]
reqreate app

Or simply double-click run_webapp.bat (Windows)

The web interface provides:

  • 🎨 Visual forms for all parameters
  • 📊 Browse and preview existing instances
  • �️ Interactive maps with request distribution visualization
  • 🔥 Heatmaps for demand density analysis
  • �🔄 Real-time generation progress
  • 📚 Built-in documentation
  • 💾 Easy data exploration

See WEBAPP.md for detailed instructions.

🌐 Deploy Online

Want to share REQreate with others? Deploy it to Hugging Face Spaces for free!

Hugging Face Spaces (Recommended):

  • ✅ Free tier with 16GB RAM
  • ✅ No timeout issues
  • ✅ 50GB persistent storage
  • ✅ Automatic HTTPS

Quick Deploy:

  1. Create account at huggingface.co
  2. Create new Space with Streamlit SDK
  3. Push your code to the Space repository
  4. App automatically builds and deploys

See DEPLOYMENT_GUIDE.md for detailed deployment instructions.

How to use REQreate?

Use the Streamlit web app for a guided, visual experience:

python -m streamlit run app.py

Option 2: Command Line (Advanced users)

Attributes and parameters that define an instance are described in a configuration file given as input to REQreate. The used syntax is JSON. Each configuration file can generate one or more instances and it should be given as parameter in the REQreate.py file. Edit "REQreate.py" indicating the desired configuration file and a name for the output folder and simply run "python REQreate.py" on your terminal. Check out this folder for examples of configuration files.

Questions? Do not hesitate to send an e-mail to:

michell.queiroz@uantwerpen.be

Installation requirements

  1. Install Python 3.11+ (required by osmnx 2.x)

  2. Install REQreate from a checkout of this repository:

pip install .[app]
  1. Run the tool:
    • Web Interface: reqreate app — opens the interface in your browser, running entirely on your machine
    • Command Line: reqreate generate my_config.json
    • reqreate --help lists every option

Running the interface locally is the recommended way to use REQreate. Besides not depending on a hosted deployment, OpenStreetMap downloads then leave from your own IP address rather than one shared with every other user of a hosting platform, which is what gets requests refused by the public Overpass API.

Optional extras:

Extra Installs Needed for
parallel ray parallel processing (the code falls back to sequential without it)
analysis scikit-learn, sqlalchemy the taxi-dataset trip-pattern and uber_movement modules
pip install .[app,parallel]

Troubleshooting: Overpass API errors

If generation fails with a connection error mentioning overpass-api.de, the public OpenStreetMap query servers are refusing or rate-limiting the request. This is unrelated to the location you asked for. REQreate retries and fails over across several mirrors automatically; if none of them work, set REQREATE_OVERPASS_URL to an Overpass instance you can reach:

export REQREATE_OVERPASS_URL=https://overpass.kumi.systems/api/interpreter

Detailed Installation

  1. Have python 3.8 or a newer version installed

  2. Install anaconda (optional but recommended)

  3. Install OSMnx (necessary to retrieve the networks)

  4. Install Streamlit (for web interface)

pip install streamlit
  1. Activate your environment (if using conda):
conda activate ox

Features

  • 🌍 Real-world networks from OpenStreetMap
  • 🚍 Flexible configuration for various on-demand transport problems
  • 📊 Multiple output formats (CSV, JSON, GraphML, Pickle)
  • 🎯 Realistic request patterns based on POI density
  • ⏱️ Accurate travel times using actual road speeds
  • 🖥️ User-friendly web interface for easy instance generation

Output Files

REQreate generates comprehensive datasets including:

  • Bus station locations
  • Network topology (walk + drive)
  • Passenger requests with time windows
  • Travel time matrices
  • Zone definitions
  • Points of Interest (POIs)
  • Network visualizations

Metadata

Release files for reqreate 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reqreate 0.1.0
File Size Uploaded
reqreate-0.1.0.tar.gz 131.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reqreate 0.1.0
File Interpreter ABI Platform
reqreate-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 298.5 kB

Release files / reqreate-0.1.0.tar.gz

Download URL reqreate-0.1.0.tar.gz
Size 131.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bfbb3330b472d967ac9f8f1a17b98bfbda816439b63859a3ffb9d6ef30918de2
BLAKE2b-256 checksum
How to use checksums
53e95f402ca54196d9ad24440676129549ea469d42ffb2808b5efde501f4c6a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / reqreate-0.1.0-py3-none-any.whl

Download URL reqreate-0.1.0-py3-none-any.whl
Size 167.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5ee2275fdca4a60b66ba338f8abf98cee6bd83b2486d63880e747a9a5db178a
BLAKE2b-256 checksum
How to use checksums
8766ac1a09be7473a61950867b869a2e2c71dc04062a6b7ccc72b0497f69b68f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page