{"id":39924192,"url":"https://github.com/jpwright/enmodal","last_synced_at":"2026-01-18T17:36:42.531Z","repository":{"id":21942536,"uuid":"89878704","full_name":"jpwright/enmodal","owner":"jpwright","description":"transit planning \u0026 analysis in your browser","archived":false,"fork":false,"pushed_at":"2024-01-11T16:38:37.000Z","size":4369,"stargazers_count":43,"open_issues_count":34,"forks_count":24,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-13T23:55:24.840Z","etag":null,"topics":["flask","javascript","leaflet","postgis","python"],"latest_commit_sha":null,"homepage":"http://enmodal.co","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpwright.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-30T21:36:08.000Z","updated_at":"2024-04-04T16:35:41.000Z","dependencies_parsed_at":"2022-09-15T15:42:20.604Z","dependency_job_id":null,"html_url":"https://github.com/jpwright/enmodal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jpwright/enmodal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpwright%2Fenmodal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpwright%2Fenmodal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpwright%2Fenmodal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpwright%2Fenmodal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpwright","download_url":"https://codeload.github.com/jpwright/enmodal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpwright%2Fenmodal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28545253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T14:59:57.589Z","status":"ssl_error","status_checked_at":"2026-01-18T14:59:46.540Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","javascript","leaflet","postgis","python"],"created_at":"2026-01-18T17:36:41.776Z","updated_at":"2026-01-18T17:36:42.525Z","avatar_url":"https://github.com/jpwright.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# enmodal\n\nenmodal is a browser-based service for transit planning and analysis. users can quickly mockup transit services (or “scenario plan” modifications to real-world systems) in their browser. enmodal runs server-side modeling algorithms to analyze the impact of different service modifications, using population and employment data.\n\n## Set up\n\nSkip to: [Windows](#windows), [Mac](#mac), [Ubuntu](#ubuntu)\n\n### Windows\n\n#### Clone this repo\n\nDownload this repository as a ZIP file (see Download options above) and unzip to a directory called `enmodal`. Alternatively, install [Git](https://git-scm.com/) and clone the repository:\n\n    git clone https://github.com/jpwright/enmodal.git\n\n#### Set up PostgreSQL\n\nInstall [PostgreSQL](https://www.postgresql.org) with [PostGIS](http://postgis.net/windows_downloads/) functionality. I recommend following [this tutorial](www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_tut01).\n\nMake note of the password you set for the admin (`postgres`) account.\n\n#### Create config file\n\nCopy `settings.cfg.example` to a new file called `settings.cfg`, and open that file for editing. Most fields can be left at their default values, except:\n\n- Set the `sessions` database password based on whatever you chose in the previous step.\n- If you want support for reverse geocoding, you'll need to set up an account with either [Mapbox](https://www.mapbox.com/developers/) or [Google](https://developers.google.com/maps/documentation/javascript/get-api-key) and supply an API key. (The Mapzen API is no longer functional.)\n\n#### Set up Python\n\nInstall [Python 3.8](https://www.python.org/) using the Windows installer, or other distribution of your choice.\n\n*Make sure to select \"Add Python to system PATH\" when installing.*\n\n#### Install virtualenv and set up Python requirements\n\nOpen Command Prompt and navigate to the `enmodal` directory. (If you are unfamiliar with navigating directories in Command Prompt, an easy way to do this is to open the `enmodal` directory in Explorer, then in the field that shows you the folder path, type `cmd` and hit Enter.)\n\nRun the following commands to set up the Python environment:\n\n    python -m pip install virtualenv\n    python -m venv venv\n    venv\\Scripts\\activate.bat\n    python -m pip install -r requirements.txt\n\nLeave Command Prompt open as you'll need it future steps.\n\n#### Create database\n\nIn your Command Prompt window:\n\n    \"C:\\Program Files\\PostgreSQL\\10\\bin\\createdb\" -U postgres sessions\n\nUse the password you set during PostgreSQL installation when requested.\n\n#### Run database setup tool\n\nIn the same Command Prompt window, run:\n\n    python tools\\set_up_db.py\n\n#### Start the server\n\n    python server.py\n\n#### Open your browser\n\nNavigate to `http://localhost:5050` in your browser and get started!\n\n### Mac\n\n#### Clone this repo\n\nDownload this repository as a ZIP file (see Download options above) and unzip to a directory called `enmodal`. Alternatively, install [Git](https://git-scm.com/) and clone the repository:\n\n    git clone https://github.com/jpwright/enmodal.git\n    \n#### Set up Python\n\nOpen up a Terminal, navigate to the directory in which you unzipped enmodal (recommend [this tutorial](https://learn.co/lessons/bash-navigation-osx) if navigating through directories in Terminal is unfamiliar to you), and run the following commands:\n\n    sudo easy_install pip\n    sudo pip install virtualenv\n    \n#### Install virtualenv and set up Python requirements\n\n    python -m venv venv\n    source venv/bin/activate\n    pip install -r requirements.txt\n\n#### Install PostgreSQL and PostGIS\n\nRecommend using [Postgres.app](http://postgresapp.com/) to accomplish this.\n\nInstall Postgres.app and open the application. Click \"Initialize\" then \"Start\" to start the Postgres server. Double click on any of the databases shown in the window.\n\nA terminal window should appear. Run these commands:\n\n    CREATE DATABASE sessions;\n\n#### Create config file\n\nCopy `settings.cfg.example` to a new file called `settings.cfg`. Most fields can be left at their default values, except:\n\n- Set the `sessions` `user` to your macOS username (this is the default value if you used Postgres.app)\n- Set the `sessions` `password` to be blank (this is the default value if you used Postgres.app)\n- If you want support for reverse geocoding, you'll need to set up an account with either [Mapbox](https://www.mapbox.com/developers/) or [Google](https://developers.google.com/maps/documentation/javascript/get-api-key) and supply an API key. (The Mapzen API is no longer functional.)\n\n#### Run database setup tool\n\nIn your original Terminal window:\n\n    python tools/set_up_db.py\n\n#### Start the server\n\n    python server.py\n\n#### Open your browser\n\nNavigate to `http://localhost:5050` in your browser and get started!\n\n### Ubuntu\n\n#### Clone this repo\n\n    git clone https://github.com/jpwright/enmodal.git \u0026\u0026 cd enmodal\n    \n#### Set up essential tools\n\n    sudo apt-get install python3-setuptools python3-dev python3-pip python3-psycopg2 python3-wheel postgresql-12 postgresql-server-dev-12 build-essential wget nodejs node-grunt-cli npm\n    \n#### Install virtualenv and set up Python requirements\n\n    python3 -m venv venv\n    source venv/bin/activate\n    pip3 install -r requirements.txt\n\n#### Set up PostgreSQL user\n\n    sudo -u postgres psql postgres\n\nThen within the `psql` command:\n\n    \\password postgres\n\nSet a password and use it in your `settings.cfg` file below.\n\nCreate the database:\n\n    CREATE DATABASE sessions;\n\nQuit psql with Ctrl+D.\n\n#### Create config file\n\nCopy `settings.cfg.example` to a new file called `settings.cfg`. Most fields can be left at their default values, except:\n\n- Set the `sessions` database password based on whatever you chose in the previous step.\n- If you want support for reverse geocoding, you'll need to set up an account with either [Mapbox](https://www.mapbox.com/developers/) or [Google](https://developers.google.com/maps/documentation/javascript/get-api-key) and supply an API key. (The Mapzen API is no longer functional.)\n\n#### Run database setup tool\n\n    python3 tools/set_up_db.py\n\n#### Install NPM and grunt\n\n    npm install grunt grunt-contrib-jshint grunt-contrib-watch grunt-contrib-copy grunt-contrib-concat grunt-contrib-uglify --save-dev\n    sudo npm install -g grunt-cli\n    sudo npm install\n    grunt --force\n\n#### Start the server\n\n    python server.py\n\n#### Open your browser\n\nNavigate to `http://localhost:5050` in your browser and get started!\n\n## Populating dggrid database\n\nGenerating the dggrid database (which contains the hexagonal bins of population and employment data) is cumbersome and not yet documented. A copy of the database will eventually be made available for download. The scripts to generate the database yourself are in the `tools` directory.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpwright%2Fenmodal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpwright%2Fenmodal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpwright%2Fenmodal/lists"}