X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a7cdd1faaf1de132fa556944bc86831ebdfe8886..8171328873751d5bfd47cd9da3f6ff9a66c84659:/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
-
-+$ apt-get install git build-essential python3-dev libcurl4-openssl-dev libssl-dev +-
~$ sudo apt-get install 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')
@@ -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:- -h3. Examples - -Get the User object for the current user: - -~$/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.- - -Get the UUID of an object that was retrieved using the SDK: +h2. Usage --current_user = arvados.api('v1').users().current().execute() -
- - -Retrieve an object by ID: - --my_uuid = current_user['uuid'] -
- - -Create an object: - --some_user = arvados.api('v1').users().get(uuid=my_uuid).execute() -
- - -Update an object: - --test_link = arvados.api('v1').links().create( - body={'link_class':'test','name':'test'}).execute() -
- - -Get a list of objects: - --arvados.api('v1').links().update( - uuid=test_link['uuid'], - body={'properties':{'foo':'bar'}}).execute() -
- +Check out the "examples":example.html and "cookbook":cookbook.html h3. Notes-repos = arvados.api('v1').repositories().list().execute() -len(repos['items'])
-2 -repos['items'][0]['uuid']
-u'qr1hi-s0uqq-kg8cawglrf74bmw' -