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:
- Create account at huggingface.co
- Create new Space with Streamlit SDK
- Push your code to the Space repository
- App automatically builds and deploys
See DEPLOYMENT_GUIDE.md for detailed deployment instructions.
How to use REQreate?
Option 1: Web Interface (Recommended for new users)
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:
Installation requirements
Quick Install (Recommended)
-
Install Python 3.11+ (required by osmnx 2.x)
-
Install REQreate from a checkout of this repository:
pip install .[app]
- 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 --helplists every option
- Web Interface:
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
-
Have python 3.8 or a newer version installed
-
Install anaconda (optional but recommended)
-
Install OSMnx (necessary to retrieve the networks)
-
Install Streamlit (for web interface)
pip install streamlit
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| reqreate-0.1.0.tar.gz | 131.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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