pnomolos / greatbigcrane Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Zeromq is a dependency of this project. Install it with your favourite package manager (pacman, brew, etc) or by hand from http://www.zeromq.org/area:download. A simple ./configure && make && make install is sufficient to install it. Then, to set up Great Big Crane run these commands: * git clone http://github.com/pnomolos/Django-Dash-2010.git * cd Django-Dash-2010 * python bootstrap.py * bin/buildout * bin/django syncdb * bin/django migrate There are three processes that need to be running. Each one is run from inside the buildout directory: * bin/django job_server * bin/django job_processor # Can run multiples of these for more responsivity * bin/django runserver Now visit http://localhost:8000/ and enjoy! Read the about page for a tutorial on most of the features. Example test git repos: git://github.com/xentac/fakezopetestrunner.git git://github.com/pnomolos/Django-Dash-2010.git <--- Self hosting! Yeah baby! http://github.com/edorian/Build-your-own-Textadventure.git http://github.com/jacobian/django-shorturls.git <--- Example of broken tests
Djangorecipe creates a default settings.py that is utter crap for django 1.2. Obviously the recipe should be improved (not in our code), but what I would like is a preference to point to a template settings file that will be copied into my new django project directory.
If a buildout or test is a failure, we click the notification to see what happened. We then fix it in another window. Then we want to rerun the job. Would be nice if we don't have to go back to the project page to do this.
I wanted to try out Great Big Crane, but having some problems with the ZeroMQ dependency. This is after install ZeroMQ with 'brew install zeromq'. Here's the traceback:
************************************************
Configure: Autodetecting ZMQ settings...
Custom ZMQ dir:
ZMQ version detected: 3.2.2
************************************************
Fatal: Cython-generated file 'zmq/core/_device.c' not found.
Cython is required to compile pyzmq from a development branch.
Please install Cython or download a release package of pyzmq.
While:
Installing pyzmq.
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zc.buildout-2.0.1-py2.7.egg/zc/buildout/buildout.py", line 1808, in main
getattr(buildout, command)(args)
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zc.buildout-2.0.1-py2.7.egg/zc/buildout/buildout.py", line 606, in install
installed_files = self[part]._call(recipe.install)
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zc.buildout-2.0.1-py2.7.egg/zc/buildout/buildout.py", line 1333, in _call
return f()
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zerokspot.recipe.git-0.6.1-py2.7.egg/zerokspot/recipe/git/__init__.py", line 155, in install
self._install_as_egg()
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zerokspot.recipe.git-0.6.1-py2.7.egg/zerokspot/recipe/git/__init__.py", line 278, in _install_as_egg
_install(self.options['location'], target)
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zerokspot.recipe.git-0.6.1-py2.7.egg/zerokspot/recipe/git/__init__.py", line 270, in _install
zc.buildout.easy_install.develop(path, target)
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zc.buildout-2.0.1-py2.7.egg/zc/buildout/easy_install.py", line 860, in develop
call_subprocess(args)
File "/Users/nateaune/Dropbox/code/greatbigcrane/eggs/zc.buildout-2.0.1-py2.7.egg/zc/buildout/easy_install.py", line 118, in call_subprocess
% repr(args)[1:-1])
Exception: Failed to run command:
'/Users/nateaune/Dropbox/code/venvs/greatbigcrane/bin/python', '/var/folders/9b/bhrj5n3n0_g5y1826knqv_jw0000gn/T/tmpmRfNDE', '-q', 'develop', '-mxN', '-d', '/Users/nateaune/Dropbox/code/greatbigcrane/develop-eggs/tmpeflfErbuild'
The syncdb works, but when I try to run migrate, the following error occurs:
$ ./bin/django migrate -v3
Running migrations for project:
- Migrating forwards to 0009_auto__chg_field_pipproject_test_command.
> project:0002_auto__add_field_project_git_repo
KeyError: u'name'
job_queue.jobs has a lot of very similar commands in them that follow a sort of get project, run subprocesses, issue notification pattern. These should be refactored to remove duplicate code.
When we create a new project that clones an empty git repo, we should add the buildout directories (bin, egg, parts) to the .gitignore. Possibly this should only be done if .gitignore doesn't exist.
I often get half a dozen notifications to dismiss at once.
put the app name in the settings file INSTALLED_APP... problem is we don't KNOW the file is named settings.py, but we can't take the settings.py name from buildout either.
A lot of people want to be able to use greatbigcrane to manage their pip projects instead of using buildout.
Apart from parsing pip-related files, modifying and writing them again, the next hardest part will be figuring out how to run their test suites.
Try to figure out where the central eggs are stored, for example.
Basically, this is for cases where you create the project and screw up the path first time around.
Instead of freezing until you run it. At which point, it will magically just start working, which is pretty freaking amazing, really.
That, or not allow spaces.
I'm not sure how we set up the git clone, but I cloned an empty repo and was unable to run the command git push from the master branch; I had to run git push origin master instead. I fixed this by changing branch "master" merge from merge=refs/heads/master to merge=master. I'm not certain how to make the clone track it normally, though.
Accidentally ran a test that required input (IPython) and it froze the job processor. Further, the test runner then wanted to interactively prompt to delete the database, which GBC also could not handle.
It's been said that no one will want to use it if our website sucks as much as it does and we don't show what Great Big Crane is capable of.
Scenario: You need to add a library to your awesome project that does something. You don't know what the library is, so what do you do? Search the cheeseshop, of course. And when you find it in the cheeseshop?
It'd be nice if we could have a bookmarklet that installs from the great big crane project (I have mine running at localhost:8001). When you click the bookmarklet, it could prompt for a project name, and then scrape the current cheeseshop page (or maybe just the url) to find the name of the dependency we want to install. Then it updates either the requirements.txt (for a pip project) or the buildout's zc.recipe.eggs recipe to include that dependency.
I'm intending on continuing to work with/maintain this project, not sure about you guys, so I think we should name the repo a bit more long term.
I'm not sure if we can rename repos or if we just need to fork it and agree to use the newly named fork.
I created a new great big crane project for a directory that already had a buildout and cloned git repo in it. Great big crane ran the clone command again, for some reason.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.