Giter VIP home page Giter VIP logo

brubeck's Introduction

What Is Brubeck?

Brubeck is a flexible Python web framework that aims to make the process of building scalable web services easy.

Brubeck's design is discussed in depth in the provided documentation. There, you will find lots of code samples for building request handlers, authentication, rendering templates, managing databases and more.

Goals

  • Be Fast: Brubeck is currently very fast. We intend to keep it that way.

  • Scalable: Massive scaling capabilities should be available out of the box.

  • Friendly: Should be easy for Python hackers of any skill level to use.

  • Pluggable: Brubeck can speak to any language and any database.

Example: Hello World

This is a whole Brubeck application.

class DemoHandler(WebMessageHandler):
    def get(self):
        self.set_body('Hello world')
        return self.render()

urls = [(r'^/', DemoHandler)]
msg_conn = Mongrel2Connection('ipc://127.0.0.1:9999',
                              'ipc://127.0.0.1:9998')

app = Brubeck(msg_conn=msg_conn,
              handler_tuples=urls)
app.run()

Complete Examples

Listsurf is a simple to way to save links. Yeah... another delicious clone!

It serves as a basic demonstration of what a complete site looks like when you build with Brubeck. It has authentication with secure cookies, offers a JSON API, uses Jinja2 for templating and stores data in MongoDB.

Readify is a more elaborate form of Listsurf.

User's have profiles, you can mark things as liked, archived (out of your stream, kept) or you can delete them. The links can also be tagged for easy finding. This project also splits the API out from the Web system into two separate processes, each reading from a single Mongrel2.

You could actually run four Web processes and four API processes as easily as just turning each of them on four times.

This project roughly represents a typical organization of Brubeck's components. Most notably is the separation of handlers, models and queries into isolated python files.

SpotiChat is a chat app for spotify user.

SpotiChat provides chat for users listening to the same song with Spotify. The chat is handled via request handlers that go to sleep until incoming messages need to be distributed to connect clients. The messages are backed by Redis too.

no.js is a javascript-free chat system.

It works by using the old META Refresh trick, combined with long-polling. It even works in IE4!

Contributors

Brubeck wouldn't be what it is without help from:

James Dennis, Andrew Gwozdziewycz, Malcolm Matalka, Dion Paragas, Duane Griffin, Faruk Akgul, Seth Murphy, John Krauss, Ben Beecher, Jordan Orelli, Michael Larsen, Moritz, Dmitrijs Milajevs, Paul Winkler, Chris McCulloh, Nico Mandery, Victor Trac

Contact Us

If you discover bugs or want to suggest features, please use our issue tracker.

Also consider joining our mailing list: brubeck-dev.

You can find some of us in #brubeck on freenode too.

brubeck's People

Contributors

cirsteve avatar d1on avatar dimazest avatar droot avatar duaneg avatar faruken avatar gone avatar hfinucane avatar jiaaro avatar jmaygarden avatar jmsdnns avatar kracekumar avatar lkraider avatar m2w avatar mghlarsen avatar msabramo avatar nmandery avatar sbaldwin621 avatar sethmurphy avatar slinkp avatar spenthil avatar st0w avatar stuntgoat avatar talos avatar thomasballinger avatar victortrac avatar winks avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.