Skip to content

🍻 An open-source dataset of breweries, cideries, brewpubs, and bottleshops.

License

Notifications You must be signed in to change notification settings

openbrewerydb/openbrewerydb

Repository files navigation

🍻 Open Brewery DB Dataset

All Contributors

Open Brewery DB Logo

This is the open-source dataset for the Open Brewery DB API which is served by a REST API built with Ruby on Rails

🎯 Purpose

Provide an approval-based pipeline to update the dataset and API.

πŸ—„ Data Formats

API

Access the dataset programmatically via the Open Brewery DB API. Use the following tools to get started without any code:

If you don't know how to use APIs, you can use Brewery DB without code through the databar.ai platform.

Run without code

A shared Postman collection containing all the API requests to fetch breweries information from the open-source dataset.

Run in Postman

πŸš€ Getting Started

  1. git clone git@github.com:openbrewerydb/openbrewerydb.git
  2. cd openbrewerydb && npm install

🀝 Contributing

For information on contributing to this project, please see the contributing guide and our code of conduct.

  1. Fork the repository
  2. Add or update breweries in the CSV (Excel, Google Sheets)
  3. Submit a Pull Request

Tips

First and foremost, don't worry about messing up! πŸ™‚ Thank you so much for contributing! πŸ™Œ

  • CSVs are organized by data/[country]/[state_province]
  • Required fields/columns: name, brewery_type, city, state_province, postal_code, and country
  • When adding a brewery, do not include an id. This will be created after review.
  • Please either add to breweries.csv (preferred if adding breweries for a new country) or the individual state/province CSV file. Adding to both at the same time may introduce duplicates/errors.

βš™οΈ Scripts

These are the npm scripts used to maintain this dataset.

  • npm run csv:combine - Combine CSVs from country/state-region folders into breweries.csv
  • npm run csv:split - Split breweries.csv into country/state-region/city CSVs
  • npm run contributors:add - Add contributor (interactive CLI)
  • npm run contributors:check - Check if there are any missing contributors
  • npm run contributors:generate - Generate contributors into README.md
  • npm run generate:ids - Generate unique OBDB IDs based on the brewery name and city and overwrite breweries.csv
  • npm run generate:json - Generate JSON from breweries.csv output to breweries.json
  • npm run generate:sql - Generate PostgreSQL SQL from breweries.csv output to breweries.sql
  • npm run validate - Validate CSVs based on JSON Schema
  • npm run workflow:maintain - Combine, generate, split (used when updating individual CSVs)

πŸ‘Ύ Community

πŸ“« Feedback

Any feedback, please email me.

Cheers! 🍻

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Mike Putnam
Mike Putnam

πŸ”£
Andrew A. Barber
Andrew A. Barber

πŸ”£
Jason Allen
Jason Allen

πŸ”£
Juicob
Juicob

πŸ”£
Will Karnasiewicz
Will Karnasiewicz

πŸ”£
Dylan T. Vavra
Dylan T. Vavra

πŸ”£
Madison Martinez
Madison Martinez

πŸ”£
Daniel Eremchuk
Daniel Eremchuk

πŸ”£
Alex Chong
Alex Chong

πŸ”£
Matt S
Matt S

πŸ”£
Samuel Rusher
Samuel Rusher

πŸ”£
Evan Caraway
Evan Caraway

πŸ”£
Tyler K Kuromiya Parker
Tyler K Kuromiya Parker

πŸ”£
kendellmendoza
kendellmendoza

πŸ”£
Johnnyk737
Johnnyk737

πŸ”£
James Schuler
James Schuler

πŸ”£
Creighton Leif
Creighton Leif

πŸ”£
Vitaly Tomilov
Vitaly Tomilov

πŸ’»
Kyle Scudder
Kyle Scudder

πŸ”£
Chris Mears
Chris Mears

πŸ’¬ πŸ’» πŸ”£ 🚧 πŸ“† πŸ”§ βœ…
donkeyslaps
donkeyslaps

πŸ”£
Pranav Davar
Pranav Davar

πŸ”§
Alexandre Hernandes Barrozo
Alexandre Hernandes Barrozo

πŸ”£
Resten
Resten

πŸ”£
Matt Higgins
Matt Higgins

πŸ”£
Alex Justesen
Alex Justesen

πŸ”£
Craig Kelly
Craig Kelly

πŸ”£
Krzysztof Rewak
Krzysztof Rewak

πŸ”£
John Baumert
John Baumert

πŸ”£
Charlie Cox
Charlie Cox

πŸ”£
Miles Kane
Miles Kane

πŸ”£
Anthony Laflamme
Anthony Laflamme

πŸ’»
Georg Engelsmann
Georg Engelsmann

πŸ”£
Clinton Williams
Clinton Williams

πŸ”£
Brent Busby
Brent Busby

πŸ”£
kenster89
kenster89

πŸ”£
Adilet Sarsembayev
Adilet Sarsembayev

πŸ”£
Pranav Davar
Pranav Davar

πŸ”£
b-mc2
b-mc2

πŸ”£
Nicole
Nicole

πŸ”£
Nicholas Hance
Nicholas Hance

πŸ”£
Joachim Nilsson
Joachim Nilsson

πŸ”£
Alejandro Lopez Rocha
Alejandro Lopez Rocha

πŸ”£
zshapleigh
zshapleigh

πŸ”£
Praval Visvanath
Praval Visvanath

πŸ”£
JohnHenry
JohnHenry

πŸ”£
Alfredo Garcia
Alfredo Garcia

πŸ”£

This project follows the all-contributors specification. Contributions of any kind welcome!