X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b017da127fc3a1747e50f81b3f5d2fea62ba6c94..13116cc7dc549e93b0757f1948c2ac18b760c681:/doc/sdk/python/sdk-python.html.textile.liquid diff --git a/doc/sdk/python/sdk-python.html.textile.liquid b/doc/sdk/python/sdk-python.html.textile.liquid index c8b2b67b11..56f0328042 100644 --- a/doc/sdk/python/sdk-python.html.textile.liquid +++ b/doc/sdk/python/sdk-python.html.textile.liquid @@ -10,7 +10,7 @@ Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} -The Python SDK provides access from Python to the Arvados API and Keep. It also includes a number of command line tools for using and administering Arvados and Keep, and some conveniences for use in Crunch scripts; see "Crunch utility libraries":crunch-utility-libraries.html for details. +The Python SDK provides access from Python to the Arvados API and Keep, along with a number of command line tools for using and administering Arvados and Keep. h2. Installation @@ -18,43 +18,35 @@ If you are logged in to an Arvados VM, the Python SDK should be installed. To use the Python SDK elsewhere, you can install from PyPI or a distribution package. -The Python SDK supports Python 2.7 and 3.4+ +As of Arvados 2.2, the Python SDK requires Python 3.6+. The last version to support Python 2.7 is Arvados 2.0.4. -h3. Option 1: Install with pip +h2. Option 1: Install from a distribution package -This installation method is recommended to make the SDK available for use in your own Python programs. It can coexist with the system-wide installation method from a distribution package (option 2, below). +This installation method is recommended to make the CLI tools available system-wide. It can coexist with the installation method described in option 2, below. -Run @pip install arvados-python-client@ in an appropriate installation environment, such as a @virtualenv@. - -The SDK uses @pycurl@ which depends on the @libcurl@ C library. To build the module you may have to install additional packages. On Debian 9 this is: +First, configure the "Arvados package repositories":../../install/packages.html -
-$ apt-get install git build-essential python3-dev libcurl4-openssl-dev libssl1.0-dev
-
+{% assign arvados_component = 'python3-arvados-python-client' %} -If your version of @pip@ is 1.4 or newer, the @pip install@ command might give an error: "Could not find a version that satisfies the requirement arvados-python-client". If this happens, try @pip install --pre arvados-python-client@. +{% include 'install_packages' %} -h3. Option 2: Install from a distribution package +h2. Option 2: Install with pip -This installation method is recommended to make the CLI tools available system-wide. It can coexist with the installation method described in option 1, above. +This installation method is recommended to use the SDK in your own Python programs. If installed into a @virtualenv@, it can coexist with the system-wide installation method from a distribution package. -First, "add the appropriate package repository for your distribution":{{ site.baseurl }}/install/install-manual-prerequisites.html#repos. +Run @pip install arvados-python-client@ in an appropriate installation environment, such as a @virtualenv@. -On Red Hat-based systems: +Note: - -
~$ sudo yum install python-arvados-python-client
-
-
+The SDK uses @pycurl@ which depends on the @libcurl@ C library. To build the module you may have to first install additional packages. On Debian 10 this is: -On Debian-based systems: +
+$ apt-get install git build-essential python3-dev libcurl4-openssl-dev libssl-dev
+
- -
~$ sudo apt-get install python-arvados-python-client
-
-
+If your version of @pip@ is 1.4 or newer, the @pip install@ command might give an error: "Could not find a version that satisfies the requirement arvados-python-client". If this happens, try @pip install --pre arvados-python-client@. -h3. Test installation +h2. Test installation If the SDK is installed and your @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ environment variables are set up correctly (see "api-tokens":{{site.baseurl}}/user/reference/api-tokens.html for details), @import arvados@ should produce no errors. @@ -62,8 +54,8 @@ If you installed with pip (option 1, above):
~$ python
-Python 2.7.4 (default, Sep 26 2013, 03:20:26)
-[GCC 4.7.3] on linux2
+Python 3.7.3 (default, Jul 25 2020, 13:03:44)
+[GCC 8.3.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import arvados
 >>> arvados.api('v1')
@@ -73,11 +65,15 @@ Type "help", "copyright", "credits" or "license" for more information.
 
 If you installed from a distribution package (option 2): the package includes a virtualenv, which means the correct Python environment needs to be loaded before the Arvados SDK can be imported. This can be done by activating the virtualenv first:
 
+{% include 'notebox_begin_warning' %}
+If you are on Ubuntu 18.04, please note that the Arvados packages that use Python depend on the python-3.8 package. This means they are installed under @/usr/share/python3.8@, not @/usr/share/python3@. You will need to update the commands below accordingly.
+{% include 'notebox_end' %}
+
 
-
~$ source /usr/share/python2.7/dist/python-arvados-python-client/bin/activate
+
~$ source /usr/share/python3/dist/python3-arvados-python-client/bin/activate
 (python-arvados-python-client) ~$ python
-Python 2.7.4 (default, Sep 26 2013, 03:20:26)
-[GCC 4.7.3] on linux2
+Python 3.7.3 (default, Jul 25 2020, 13:03:44)
+[GCC 8.3.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import arvados
 >>> arvados.api('v1')
@@ -88,9 +84,9 @@ Type "help", "copyright", "credits" or "license" for more information.
 Or alternatively, by using the Python executable from the virtualenv directly:
 
 
-
~$ /usr/share/python2.7/dist/python-arvados-python-client/bin/python
-Python 2.7.4 (default, Sep 26 2013, 03:20:26)
-[GCC 4.7.3] on linux2
+
~$ /usr/share/python3/dist/python3-arvados-python-client/bin/python
+Python 3.7.3 (default, Jul 25 2020, 13:03:44)
+[GCC 8.3.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import arvados
 >>> arvados.api('v1')
@@ -98,56 +94,9 @@ Type "help", "copyright", "credits" or "license" for more information.
 
-h3. Examples - -Get the User object for the current user: - - -
current_user = arvados.api('v1').users().current().execute()
-
-
- -Get the UUID of an object that was retrieved using the SDK: +h2. Usage - -
my_uuid = current_user['uuid']
-
-
- -Retrieve an object by ID: - - -
some_user = arvados.api('v1').users().get(uuid=my_uuid).execute()
-
-
- -Create an object: - - -
test_link = arvados.api('v1').links().create(
-    body={'link_class':'test','name':'test'}).execute()
-
-
- -Update an object: - - -
arvados.api('v1').links().update(
-    uuid=test_link['uuid'],
-    body={'properties':{'foo':'bar'}}).execute()
-
-
- -Get a list of objects: - - -
repos = arvados.api('v1').repositories().list().execute()
-len(repos['items'])
-2
-repos['items'][0]['uuid']
-u'qr1hi-s0uqq-kg8cawglrf74bmw'
-
-
+Check out the "examples":example.html and "cookbook":cookbook.html h3. Notes