> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ocient.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Using pyocient

export const Python = "Python®";

export const Ocient = "Ocient®";

The {Ocient} {Python} module `pyocient` supports direct connections to Ocient Systems in a Command-Line Interface (CLI) as well as in Python programs that follow the Python Database API Specification 2.0.

After you install `pyocient`, you can establish Ocient connections to run queries and commands.

## Installation Tutorial

To install and run `pyocient`, follow these steps.

<Steps>
  <Step title="Install pyocient">
    Install `pyocient` using pip.

    ```shell Shell theme={null}
    pip3 install pyocient
    ```

    After running the pip install, `pyocient` is installed in the `bin` directory.

    <Info>
      Use `venv` to install `pyocient` using a virtual environment. For more information, see the Python [venv](https://docs.python.org/3/library/venv.html) documentation.
    </Info>
  </Step>

  <Step title="Start pyocient">
    `pyocient` is started from the command line with a connection string. It includes many options to configure the connection and client similar to the JDBC driver. Learn more about supported options in the [Ocient Python Module: pyocient](/ocient-python-module-pyocient).

    After installation, you can launch from a command line by typing the `pyocient` command.

    ```shell Shell theme={null}
    pyocient ocient://example_user:example_password@10.10.1.1/system
    ```

    To connect to the system database, replace the example username (`example_user`) and password (`example_password`) with your credentials, set your IP address,

    The connection example assume a SQL Node exists at `10.10.1.1`. The example uses the default port `4050`, and is set up with default self-signed certificates for TLS.

    **Example Response**

    ```SQL SQL theme={null}
    Ocient Database™
    System Version: <Ocient System Version>, Client Version <pyocient Version>
    > _
    ```

    <Info>
      Use the command `quit;` to exit the `pyocient` CLI interface.
    </Info>
  </Step>

  <Step title="Run a Query">
    In the `pyocient` CLI, you can run any SQL query supported by your database. In this example, a query is selecting rows from the system tables:

    ```sql SQL theme={null}
    SELECT * FROM sys.tables;
    ```

    You can also run queries from the command line with the connection string:

    ```shell Shell theme={null}
    pyocient ocient://example_user:example_password@10.10.1.1/system 'SELECT * from sys.tables'
    ```

    **Example Response**

    ```SQL SQL theme={null}
    [
      {
            "id": "359e21b1-770a-4860-aec9-f158d307f725",
            "name": "data_type_coverage",
            "schema": "loading",
            "database_id": "f827ff7c-dd94-43bf-8386-93d048344a32",
            "storage_space_id": "2ad08e7c-15d1-4861-b38b-256c4df4a191",
            "maximum_segment_size_gib": 4,
            "description": null,
            "streamloader_property_string": null,
            "created_at": "2023-08-08T21:22:49.622213"
        }
    ]
    ```
  </Step>
</Steps>

<Info>
  The system cancels any queries made with the `pyocient` driver if you perform any of these actions:

  * Fetch the entire result set.
  * Close the connection.
  * Execute a new query using the same connection.
</Info>

For more information and API reference material for pyocient, see the [Ocient Python Module: pyocient](/ocient-python-module-pyocient) page.

## Related Links

[Connect to Ocient](/connect-to-ocient)

[Ocient Integrations](/ocient-integrations)
