base on Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit # A/B Street
[![DOI](https://zenodo.org/badge/135952436.svg)](https://zenodo.org/badge/latestdoi/135952436)
[![](https://dcbadge.vercel.app/api/server/nCvMD4xj4K?style=flat)](https://discord.gg/nCvMD4xj4K)
Ever been stuck in traffic on a bus, wondering why is there legal street parking
instead of a dedicated bus lane? A/B Street is a project to plan, simulate, and
communicate visions for making cities friendlier to people walking, biking, and
taking public transit. We create software to
[simulate traffic, edit streets and intersections](https://a-b-street.github.io/docs/software/abstreet.html),
[plan bike networks](https://a-b-street.github.io/docs/software/ungap_the_map/index.html),
create
[low-traffic neighborhoods](https://a-b-street.github.io/docs/software/ltn/index.html),
and educate the public about
[15-minute neighborhoods through games](https://a-b-street.github.io/docs/software/santa.html).
The project works anywhere in the world, thanks to
[OpenStreetMap](https://www.openstreetmap.org/about).
- Run it on [your web browser](https://play.abstreet.org/0.3.49/abstreet.html),
[Windows](https://github.com/a-b-street/abstreet/releases/download/v0.3.49/abstreet_windows_v0_3_49.zip),
[Mac](https://github.com/a-b-street/abstreet/releases/download/v0.3.49/abstreet_mac_v0_3_49.zip),
[Linux](https://github.com/a-b-street/abstreet/releases/download/v0.3.49/abstreet_linux_v0_3_49.zip),
[FreeBSD](https://www.freshports.org/games/abstreet/), or
[read all instructions](https://a-b-street.github.io/docs/user/index.html)
- [build from source](https://a-b-street.github.io/docs/tech/dev/index.html)
As of January 2024, development of the tools above has slowed down, because
newer tools are being developed in other repositories. Please also check out:
- [Severance Snape](https://dabreegster.github.io/severance_snape) to explore
how far walking routes detour to cross big roads
- [od2net](https://github.com/Urban-Analytics-Technology-Platform/od2net) to
calculate the most important roads to prioritize for cycling
## Videos
- [Alpha release trailer](https://www.youtube.com/watch?v=LxPD4n_1-LU)
- [Presentations](https://a-b-street.github.io/docs/project/presentations.html)
![](https://a-b-street.github.io/docs/project/history/retrospective/traffic_sim.gif)
## Documentation
- [User guide](https://a-b-street.github.io/docs/user/index.html)
- Technical
- [Developer guide](https://a-b-street.github.io/docs/tech/dev/index.html)
- [How the traffic simulation works](https://a-b-street.github.io/docs/tech/trafficsim/discrete_event/index.html)
- [Intersection geometry](https://a-b-street.github.io/docs/tech/map/geometry/index.html)
- Project
- [Roadmap](https://a-b-street.github.io/docs/software/ungap_the_map/plan.html#future-directions)
- [Getting involved](https://a-b-street.github.io/docs/project/contributing.html)
- [Accomplishments & challenges](https://a-b-street.github.io/docs/project/history/retrospective/index.html)
## Project mission
We amplify the efforts of individuals and advocacy groups who campaign to
transition cities away from private motor vehicles. We believe in transparent
and reproducible analysis, so all of our work is open source and based on public
data. We believe everybody should have a voice in shaping their city, so our
software aims to be easy to use.
Why not leave city planning to professionals? People are local experts on the
small slice of the city they interact with daily -- the one left turn lane that
always backs up or a certain set of poorly timed walk signals.
[Laura Adler](http://www.govtech.com/data/SimCities-Can-City-Planning-Mistakes-Be-Avoided-Through-Data-Driven-Simulations.html)
writes:
> "Only with simple, accessible simulation programs can citizens become active
> generators of their own urban visions, not just passive recipients of options
> laid out by government officials."
Existing urban planning software is either proprietary or hard to use. A/B
Street strives to be highly accessible, by being a fun, engaging game. See
[here](https://a-b-street.github.io/docs/project/motivations.html) for more
guiding principles.
## Credits
Core team:
- Dustin Carlino (<
[email protected]>)
- [Yuwen Li](https://www.yuwen-li.com/) (UX)
- [Michael Kirk](https://github.com/michaelkirk)
[See full credits](https://a-b-street.github.io/docs/project/team.html)
Contact <
[email protected]> or follow
[@CarlinoDustin](https://twitter.com/CarlinoDustin) for updates.
", Assign "at most 3 tags" to the expected json: {"id":"11604","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"