Circa, a platform for local commerce created by Centaurii, Inc. in 2015
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Buy and Sell Locally

Circa is a platform for local buying and selling. It creates a hassle-free experience by handling payments, delivery, and returns. Cheaper than Amazon, safer than Craigslist!

Circa was originally created by Gautam Narula and Andrew Schuster, co-founders (and Chief Donut Procurer and Chief Delivery Boy, respectively) of Centaurii, Inc. Now that Centaurii is defunct, Gautam (me) has open-sourced the code. Circa will remain in test mode at

To run your own instance of Circa, do the following:

  1. Clone this repo and install Pip if you don't already have it.
  2. Use your terminal to navigate to the directory with requirements.txt and run pip install -r requirements.txt. This will install all the necessary packages to run Circa.
  3. You will need to create a Django settings file with all the appropriate packages included in INSTALLED_APPS. Copy this '' file into the circa subdirectory (the one containing, and generate your own secret key. You will also have to change ALLOWED_HOSTS and SITE_DOMAIN to the appropriate values if you plan on running this in production.
  4. You will need to create a file called '', which will require your Stripe API keys to process real or test payments. Copy this file into the 'core' directory and set your API keys accordingly. You can get these API keys by creating a Stripe account and following their instructions.
  5. You will need to create a database and migrations. Navigating to the directory with and running python migrate should take care of that. If you'd like to use a database other than the default sqlite3, you'll have to do additional configuration.
  6. Run 'python runserver' to run a local instance of Circa. That's it! Please note that Circa is not compatible with Python 2.x.


  1. When debug=true in, the site goes into test mode and the test Stripe API keys are automatically used instead of the live ones. Look at the Stripe documentation for test mode to see how to simulate credit card transactions.
  2. If you plan on doing real credit card transactions, make sure you have SSL (HTTPS) enabled on your site! Not doing so means your users' credit card information will be sent unencrypted over the interwebz.
  3. This repo will no longer be updated, so if you'd like to use it be sure to update to the latest version of Django (or at least upgrade to the latest version of the Django 1.8 long term release--that shouldn't break anything), upgrade dependencies (this is important, because some of the dependencies are now insecure and should be upgraded to the latest version), etc. Some upgrades may cause minor breakage, but it shouldn't cause any serious or difficult to fix issues.
  4. This code is licensed under the MIT license. If you do something cool with it, I'd love to hear about it!
  5. The EMAIL_BACKEND and DEFAULT_FROM_EMAIL will have to be updated accordingly. Also, Mandrill doesn't really work the way it did when we were using it for Circa, so keep that in mind.