// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF 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.
= Ignite Quick Start Guide for Python

This chapter explains system requirements for running Ignite and how to install Ignite, start a cluster, and run a simple Hello World example using a thin link:thin-clients/python-thin-client[client for Python].

Thin Client is a lightweight Ignite connection mode. It does not participate in the cluster, never holds any data, or performs computations.
All it does is establish a socket connection to one or multiple Ignite nodes and perform all operations through those nodes.

== Prerequisites

Ignite was tested on:

include::includes/prereqs.adoc[]

and:

[cols="1,3"]
|=======================================================================
|Python |Version 3.4 or above
|=======================================================================

== Installing Ignite

include::includes/install-ignite.adoc[]

Once that's done, execute the following command to install the Python Thin Client package.
This thin client is abbreviated as `pyignite`:

include::includes/install-python-pip.adoc[]

== Starting a Node

Before connecting to Ignite via the Python thin client, you must start at least one Ignite cluster node.

include::includes/starting-node.adoc[]

== Running Your First Application

Once the cluster is started, you can use the Ignite Python thin client to perform cache operations.

Assuming that the server node is running locally, here is a _HelloWorld_ example that puts and gets values from the cache:

.hello.py
[source,python]
----
from pyignite import Client

client = Client()
client.connect('127.0.0.1', 10800)

#Create cache
my_cache = client.create_cache('my cache')

#Put value in cache
my_cache.put(1, 'Hello World')

#Get value from cache
result = my_cache.get(1)
print(result)
----

To run this, you can save the example as a text file (hello.py for example) and run it from the command line:


[source, python]
----
python3 hello.py
----

Or you can enter the example into your Python interpreter/shell (IDLE on Windows, for example) and modify/execute it there.


== Further Examples

Explore more Ignite Python examples link:https://github.com/apache/ignite-python-thin-client/tree/master/examples[here,window=_blank].
