Metadata-Version: 1.1
Name: crash
Version: 0.9.4
Summary: The Crate Data Shell
Home-page: https://github.com/crate/crash
Author: CRATE Technology GmbH
Author-email: office@crate.io
License: Apache License 2.0
Description: .. image:: https://cdn.crate.io/web/1.0.0/img/logo-solid.png
           :width: 155px
           :height: 45px
           :alt: Crate
           :target: https://crate.io
        
        .. image:: https://travis-ci.org/crate/crash.svg?branch=master
                :target: https://travis-ci.org/crate/crash
                :alt: Test
        
        .. image:: https://badge.fury.io/py/crash.png
            :target: http://badge.fury.io/py/crash
            :alt: Version
        
        .. image:: https://pypip.in/download/crash/badge.png
            :target: https://pypi.python.org/pypi/crash/
            :alt: Downloads
        
        ========
        Overview
        ========
        
        This is the Crate Data shell called ``crash``.
        
        Installation
        ============
        
        Installing via pip
        ------------------
        
        To install crash via `pip <https://pypi.python.org/pypi/pip>`_ use
        the following command::
        
            $ pip install crash
        
        To update use::
        
            $ pip install -U crash
        
        If you are using python 2.6 and pip >= 1.5 you have to pass the
        allow-external argument::
        
            $ pip install crash --allow-external argparse
        
        Standalone
        ----------
        
        There is also a single file executable that includes all dependencies and can
        be run as long as python (>= 2.6) is available on the system.
        
        `Download Crash bundle
        <https://cdn.crate.io/downloads/releases/crash_standalone_latest>`_
        
        The bundle can then be executed using python::
        
            python ./crash_standalone_latest
        
        Or::
        
            chmod +x ./crash_standalone_latest
            ./crash_standalone_latest
        
        Invocation
        ----------
        
        If the package was installed using `pip` the shell can be started by
        running the command `crash` in a terminal.
        
        For usage information and command line options invoke::
        
            crash --help
        
        Where to go from here?
        ======================
        
        to take a look at the documentation visit
        `https://crate.io/docs/projects/crash/stable/ <https://crate.io/docs/projects/crash/stable/>`_.
        
        Are you a Developer?
        ====================
        
        You can build Crash on your own with the latest version hosted on GitHub.
        To do so, please refer to ``DEVELOP.rst`` for further information.
        
        Help & Contact
        ==============
        
        Do you have any questions? Or suggestions? We would be very happy
        to help you. So, feel free to swing by our IRC channel #crate on Freenode_.
        Or for further information and official contact please
        visit `https://crate.io/ <https://crate.io/>`_.
        
        .. _Freenode: http://freenode.net
        
        License
        =======
        
        Copyright 2013-2014 CRATE Technology GmbH ("Crate")
        
        Licensed to CRATE Technology GmbH ("Crate") under one or more contributor
        license agreements.  See the NOTICE file distributed with this work for
        additional information regarding copyright ownership.  Crate licenses
        this file to you under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.  You may
        obtain a copy of the License at
        
          http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
        WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
        License for the specific language governing permissions and limitations
        under the License.
        
        However, if you have executed another commercial license agreement
        with Crate these terms will supersede the license and you may use the
        software solely pursuant to the terms of the relevant commercial agreement.
        
        ===========
        Crate Shell
        ===========
        
        The crash shell provides a CLI for the Crate Server.
        
        If the package was installed using `pip` the shell can be started by
        invoking `crash` in a terminal.
        
        `crash` by default will try to connect to `localhost:4200`. To connect to
        another host use the `connect` command inside the shell or use the `--hosts`
        argument when launching the shell.
        
        When you connect to a server that is not reachable or whose hostname cannot be resolved
        you will get an error::
        
            cr> connect 127.0.0.1:65535
            +------------------------+-----------+-----------+---------------------...-+
            | server_url             | node_name | connected | message                 |
            +------------------------+-----------+-----------+---------------------...-+
            | http://127.0.0.1:65535 | NULL      | FALSE     | Server not available... |
            +------------------------+-----------+-----------+---------------------...-+
            CONNECT ERROR
        
            cr> connect null.lol:4200
            +----------------------+-----------+-----------+---------------------...-+
            | server_url           | node_name | connected | message                 |
            +----------------------+-----------+-----------+---------------------...-+
            | http://null.lol:4200 | NULL      | FALSE     | Server not available... |
            +----------------------+-----------+-----------+---------------------...-+
            CONNECT ERROR
        
        
        Successful connects will give you some information about the servers you connect to::
        
            cr> connect 127.0.0.1:44209
            +------------------------+-----------+-----------+---------+
            | server_url             | node_name | connected | message |
            +------------------------+-----------+-----------+---------+
            | http://127.0.0.1:44209 | crate     | TRUE      | OK      |
            +------------------------+-----------+-----------+---------+
            CONNECT OK
        
        If you connect to more than one server, the command will succeed
        if at least one server is reachable::
        
            cr> CONNECT 127.0.0.1:44209 null.lol:4295
            +------------------------+-----------+-----------+---------------------...-+
            | server_url             | node_name | connected | message                 |
            +------------------------+-----------+-----------+---------------------...-+
            | http://127.0.0.1:44209 | crate     | TRUE      | OK                      |
            | http://null.lol:4295   | NULL      | FALSE     | Server not available... |
            +------------------------+-----------+-----------+---------------------...-+
            CONNECT OK
        
        Once the shell is connected, SQL statements can be executed simply by entering
        them without any special arguments like this::
        
            cr> SELECT schema_name, table_name from information_schema.tables
            ... order by table_name
            +--------------------+-------------------+
            | schema_name        | table_name        |
            +--------------------+-------------------+
            | sys                | cluster           |
            | information_schema | columns           |
            | sys                | nodes             |
            | sys                | shards            |
            | information_schema | table_constraints |
            | information_schema | tables            |
            +--------------------+-------------------+
            SELECT 6 rows in set (... sec)
        
        
        Limitations
        ===========
        
        Nested Objects and Arrays
        -------------------------
        
        While it is possible to select or filter by nested objects it is currently not
        possible to insert them using crash. In order to do that the `Crate REST
        endpoint`_ or a client library like `crate-python`_ has to be used.
        
        The same also applies for arrays.
        
        .. _`Crate REST endpoint`: https://crate.io/docs/current/sql/rest.html
        .. _`crate-python`: https://pypi.python.org/pypi/crate/
        
Keywords: crate db data client shell
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Database
