Giter Club home page Giter Club logo

clutch's Introduction

Clutch.io

Clutch.io is two projects:

  • Native A/B testing for iOS and Android
  • A toolkit for developing hybrid native/HTML applications for iOS

You may be interested in one or the other, but this project is the server component for both projects.

Prerequisites

  • Python 2.6 or Greater
  • PostgreSQL (including the required headers to compile psycopg2)
  • libevent 2.0.20
  • S3 Account (for hybrid native/html application framework ONLY)

Installing and Running Clutch.io

Before you get started, make sure all of the prerequisites are installed and that PostgreSQL is running. Now we need to create a Clutch user and database:

createuser -s clutch

createdb -E utf8 --owner=clutch clutch

Next we need to install Clutch:

easy_install clutchserver

Now we will generate a configuration file used to setup ports and such:

clutch-config > conf.py

You can check the configuration defaults provided by clutch-config and decide whether they are right for your setup. For most people, the defaults should be just fine. When you're ready, let's start up the server:

clutch-all conf.py

That's it, you're now running Clutch.io! Visit http://127.0.0.1:8000/ to see it in action.

More Documentation

See http://clutchio.github.com/

Local Documentation

To generate a local copy of the above documentation, first check out this repo:

git clone https://github.com/clutchio/clutch.git

Make sure you have Sphinx installed so that you can generate the docs:

easy_install Sphinx==1.1.3

Now change to the docs directory and make the docs

cd clutch/docs make html

Finally, open the docs:

open _build/html/index.html

Tests

Travis-CI Badge

To run the tests, generate a test configuration file using clutch-config like above, but instead of using clutch-all to run it, use clutch-test:

clutch-test conf.py

This is one area where this project could use a lot of help. If you're interested in contributing, helping out by improving our test coverage is a great place to start!

More Discussion

If you have a question, an idea, or just want to join the discussion about Clutch, please join us on our mailing list:

https://groups.google.com/forum/#!forum/clutchio

clutch's People

Contributors

ericflo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clutch's Issues

I get fe_sendauth: no password supplied

Hi, I am using clutch.io about its A/b test service of mobile apps.
When I finished install about clutch and run as:
clutch-all conf.py.
When I register My Account:

/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/handlers/base.py in get_response
response = callback(request, _callback_args, *_callback_kwargs) ...
▶ Local vars
/home/wenlongmo/WorkProjects/GitHubProjects/clutch/accounts/views.py in register
if registration_form.is_valid(): ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/forms/forms.py in is_valid
return self.is_bound and not bool(self.errors) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/forms/forms.py in _get_errors
self.full_clean() ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/forms/forms.py in full_clean
self._clean_fields() ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/forms/forms.py in clean_fields
value = getattr(self, 'clean
%s' % name)() ...
▶ Local vars
/home/wenlongmo/WorkProjects/GitHubProjects/clutch/accounts/forms.py in clean_email
User.objects.get(email__iexact=email) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/manager.py in get
return self.get_query_set().get(_args, *_kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/query.py in get
num = len(clone) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/query.py in len
self._result_cache = list(self.iterator()) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/query.py in iterator
for row in compiler.results_iter(): ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/sql/compiler.py in results_iter
for rows in self.execute_sql(MULTI): ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/models/sql/compiler.py in execute_sql
cursor = self.connection.cursor() ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/backends/init.py in cursor
cursor = self.make_debug_cursor(self._cursor()) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/db/backends/postgresql_psycopg2/base.py in _cursor
self.connection = Database.connect(**conn_params) ...
▶ Local vars
/usr/lib/python2.7/dist-packages/psycopg2/init.py in connect
connection_factory=connection_factory, async=async) ...
▶ Local vars

I know it is the configuration problem about the PostgreSQL(from https://groups.google.com/forum/#!topic/clutchio/yY6oeELU2Xw),but I don't know how confige this postgreSql .Any suggestions are very grateful! I had do
createuser -s clutch
createdb -E utf8 --owner=clutch clutch

Error importing middleware django_ext.middleware.log

I have been trying to get the clutch server up and running but am running into a problem. When I browse to http://127.0.0.1:8000/, I see an Internal Server Error in the browser. This is what I see in terminal:

$ clutch-all conf.py
Starting clutchtunnel on 127.0.0.1:41675 ...
2012-11-14 09:50:58 [868] [INFO] Starting gunicorn 0.14.6
2012-11-14 09:50:58 [868] [INFO] Listening at: http://127.0.0.1:8000 (868)
2012-11-14 09:50:58 [868] [INFO] Using worker: sync
2012-11-14 09:50:58 [869] [INFO] Booting worker with pid: 869
Starting clutchrpc on 0.0.0.0:41674 ...
2012-11-14 14:51:00 [869] [ERROR] Error handling request
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/gunicorn-0.14.6-py2.7.egg/gunicorn/workers/sync.py", line 102, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/Library/Python/2.7/site-packages/Django-1.4.1-py2.7.egg/django/core/handlers/wsgi.py", line 219, in __call__
    self.load_middleware()
  File "/Library/Python/2.7/site-packages/Django-1.4.1-py2.7.egg/django/core/handlers/base.py", line 47, in load_middleware
    raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware django_ext.middleware.log: "No module named middleware.log"
2012-11-14 14:51:01 [869] [ERROR] Error handling request
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/gunicorn-0.14.6-py2.7.egg/gunicorn/workers/sync.py", line 102, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/Library/Python/2.7/site-packages/Django-1.4.1-py2.7.egg/django/core/handlers/wsgi.py", line 219, in __call__
    self.load_middleware()
  File "/Library/Python/2.7/site-packages/Django-1.4.1-py2.7.egg/django/core/handlers/base.py", line 47, in load_middleware
    raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware django_ext.middleware.log: "No module named middleware.log"

I am running Mac OS X 10.7.5. A coworker tried this on debian wheezy and sees the same issue.

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.