Coder Social home page Coder Social logo

crab's People

Contributors

j4mie avatar jakesidsmith avatar jordaneb avatar realorangeone 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

Watchers

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

crab's Issues

Documentation - add explicit section on configuring crab

Currently the environment variables that can be set to adjust how crab functions are spread all over the place. It'd be nice to have a small list of them with summaries, that links to the relevant more detailed information.

Update installation documentation

  1. Move to top of readme
  2. Document commands needed to install from GitHub (virtual env etc)
  3. Note about running chmod +x ./path/crab to make executable

...or fix the binary?

Providing a port based on the procfile command is broken

if (command[0] == "web" ...

This doesn't work because by the time we get to this point, command has already been replaced with the contents of the procfile.

Need to save the original command in a separate variable (or something)

Tests

There should be some.

Nicer output when running a process/command that cannot be found

At the moment I'm getting something like the following output:

$ crab things

Traceback (most recent call last):
  File "/usr/local/bin/crab", line 11, in <module>
    load_entry_point('crabtools==0.1.2', 'console_scripts', 'crab')()
  File "/usr/local/Cellar/crab/0.1.2/libexec/lib/python3.7/site-packages/crab/cli.py", line 77, in main
    os.execvpe(command[0], command, env)
  File "/usr/local/Cellar/crab/0.1.2/libexec/bin/../lib/python3.7/os.py", line 583, in execvpe
    _execvpe(file, args, env)
  File "/usr/local/Cellar/crab/0.1.2/libexec/bin/../lib/python3.7/os.py", line 616, in _execvpe
    raise last_exc
  File "/usr/local/Cellar/crab/0.1.2/libexec/bin/../lib/python3.7/os.py", line 607, in _execvpe
    exec_func(fullname, *argrest)
FileNotFoundError: [Errno 2] No such file or directory: b'/Users/username/.rvm/bin/things'

It would be nicer if we output something like:

Could not find "things" in your procfile or $PATH

it hijack ma shell!

$ sudo crab router
Password:
 * Serving Flask app "router" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:80/ (Press CTRL+C to quit)

^Z
^Z
^Z^C
^C^C

Project environment clobbers parent

$ DATABASE_URL="not a database url" crab env | grep DATABASE               
DATABASE_URL=postgres://localhost/db

crab should only set environment variables when they're not defined in the project itself. I think?

Sensible error messages

After installing crab, and trying to run crab, it outputs some nonsense error which made me think that it was not correctly installed. This wasted a bunch of my time.

Support `crab --version`

It'd be nice to have some way of finding out what version of Crab you're running. This could be a numerical version or just a git sha, but either way we need to bake it in to the binary we build with pyinstaller. Maybe need to create a "release" script which does it somehow?

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.