1. MARK ADAMS • SOFTWARE DEVELOPER • BITBUCKET • @MARKADAMS
How we use Python at Bitbucket
(tldr; We use it for everything)
2. WHAT IS BITBUCKET
What is Bitbucket?
•Distributed code hosting
•Perfect for individuals or teams
• Git or Mercurial
• Free for 5 users +
Unlimited private repositories
Try it out! - http://bitbucket.org
5. CELERY
Distributed Tasks
• Celery
• Used for asynchronous event processing
• Sending notifications
• Updating pull requests
• Updating activity feed
• RabbitMQ used as the message broker
6. OROCHI
Orochi
• Translated “8-branched giant snake"
• Abstraction library for Git and Mercurial
• Written entirely in Python
• Simplifies the interaction with repositories
Git & Hg have similarities:
• Both store your code
• Both have commits
• Both have branches
Django Celery
Orochi
Storage Layer
7. GIT + HG OPERATIONS
Git & Hg Operations
•HTTP
• WSGI apps - One for Git, One for Hg
•SSH
• OpenSSH - Customized!
• Launches another process (conq) to
perform authentication and execute
DVCS operations