dropbox/dropbox-sdk-python

The Official Dropbox API V2 SDK for Python

983

stars

309

commits

Python

primary language

Sep 11, 2026

updated

www.dropbox.com/developers
dropbox
dropbox-sdk
dropbox-v2
python
sdk
sdk-python
Browse cluster: Dropbox API SDKs

README

**Important: Use v12.0.2 or newer of this SDK for compatibility with the Dropbox API servers. Older versions stopped working in January 2026. Please refer to this blog post for more information: https://dropbox.tech/developers/api-server-certificate-changes**

.. image:: https://cfl.dropboxstatic.com/static/images/sdk/python_banner.png
    :target: https://github.com/dropbox/dropbox-sdk-python

.. image:: https://img.shields.io/pypi/pyversions/dropbox.svg
    :target: https://pypi.python.org/pypi/dropbox

.. image:: https://img.shields.io/pypi/v/dropbox.svg
    :target: https://pypi.python.org/pypi/dropbox

.. image:: https://codecov.io/gh/dropbox/dropbox-sdk-python/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/dropbox/dropbox-sdk-python

The official Dropbox SDK for Python.

Documentation can be found on `Read The Docs`_.

Requirements
============

This SDK requires **Python 3.11 or newer**. Earlier versions of Python, including
Python 2.7 and Python 3.4 through 3.10, are not supported, as they have reached end
of life and are no longer maintained upstream.

Installation
============

Create an app via the `Developer Console`_.

Install via `pip <https://pip.pypa.io/>`_:

.. code-block:: console

    $ pip install dropbox

Install from source:

.. code-block:: console

    $ git clone git://github.com/dropbox/dropbox-sdk-python.git
    $ cd dropbox-sdk-python
    $ pip install .

After installation, follow one of our `Examples`_ or read the documentation on `Read The Docs`_.

You can also view our `OAuth Guide`_.

Examples
========

We provide `Examples`_ to help get you started with a lot of the basic functionality in the SDK.

- **OAuth**
    - `Commandline OAuth Basic <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth.py>`_ - Shows a simple example of commandline oauth (no redirect).
    - `Commandline OAuth Scopes <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth-scopes.py>`_ - Shows a simple example of commandline oauth using scopes.
    - `Commandline OAuth PKCE <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth-pkce.py>`_ - Shows a simple example of commandline oauth using PKCE.
- **Other Examples**
    - `Updown <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/updown.py>`_ - Sample application that uploads the contents of your ``Downloads`` folder to Dropbox.
    - `Reliable file transfer <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/file_transfer.py>`_ - Downloads and uploads files with retry, progress, and content validation helpers.
    - `Backup and Restore <https://github.com/dropbox/dropbox-sdk-python/tree/main/example/back-up-and-restore>`_ - Sample application that shows how you can backup a file and restore previous versions if the file was modified/corrupted in any way.

Reliable File Transfers
=======================

Use ``dropbox.file_transfer`` when copying Dropbox files to or from local
storage and you want retry, progress, validation, byte/file targets, stream/file
sources, and optional parallel ranged transfers around the generated
``files_*`` methods.

.. code-block:: python

    import dropbox
    from dropbox import files
    from dropbox.file_transfer import (
        DownloadOptions,
        File,
        FileUpload,
        Uploader,
        UploadOptions,
        Downloader,
    )

    dbx = dropbox.Dropbox("YOUR_ACCESS_TOKEN")

    Downloader(dbx).download(
        "/large-file.bin",
        File("large-file.bin"),
        DownloadOptions(parallel_downloads=4),
    )

    Uploader(dbx).upload(
        FileUpload("large-file.bin"),
        files.CommitInfo("/large-file.bin", mode=files.WriteMode.overwrite),
        UploadOptions(parallel_uploads=4),
    )

Getting Help
============

If you find a bug, please see `CONTRIBUTING.md`_ for information on how to report it.

If you need help that is not specific to this SDK, please reach out to `Dropbox Support`_.

License
=======

This SDK is distributed under the MIT license, please see `LICENSE`_ for more information.

.. _logo: {logo_link}
.. _repo: https://github.com/dropbox/dropbox-sdk-python
.. _`Read The Docs`: http://dropbox-sdk-python.readthedocs.org
.. _`Examples`: https://github.com/dropbox/dropbox-sdk-python/tree/main/example
.. _LICENSE: https://github.com/dropbox/dropbox-sdk-python/blob/main/LICENSE
.. _CONTRIBUTING.md: https://github.com/dropbox/dropbox-sdk-python/blob/main/CONTRIBUTING.md
.. _Developer Console: https://dropbox.com/developers/apps
.. _OAuth Guide: https://www.dropbox.com/lp/developers/reference/oauth-guide
.. _`Dropbox Support`: https://www.dropbox.com/developers/contact

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

(top 30 of 37)

braincore

83 commits

rogebrd

41 commits

DropboxBot

40 commits

AndreyVMarkelov

20 commits

dropbox/dropbox-sdk-python

The Official Dropbox API V2 SDK for Python

983

stars

309

commits

Python

primary language

Sep 11, 2026

updated

www.dropbox.com/developers
dropbox
dropbox-sdk
dropbox-v2
python
sdk
sdk-python
Browse cluster: Dropbox API SDKs

README

**Important: Use v12.0.2 or newer of this SDK for compatibility with the Dropbox API servers. Older versions stopped working in January 2026. Please refer to this blog post for more information: https://dropbox.tech/developers/api-server-certificate-changes**

.. image:: https://cfl.dropboxstatic.com/static/images/sdk/python_banner.png
    :target: https://github.com/dropbox/dropbox-sdk-python

.. image:: https://img.shields.io/pypi/pyversions/dropbox.svg
    :target: https://pypi.python.org/pypi/dropbox

.. image:: https://img.shields.io/pypi/v/dropbox.svg
    :target: https://pypi.python.org/pypi/dropbox

.. image:: https://codecov.io/gh/dropbox/dropbox-sdk-python/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/dropbox/dropbox-sdk-python

The official Dropbox SDK for Python.

Documentation can be found on `Read The Docs`_.

Requirements
============

This SDK requires **Python 3.11 or newer**. Earlier versions of Python, including
Python 2.7 and Python 3.4 through 3.10, are not supported, as they have reached end
of life and are no longer maintained upstream.

Installation
============

Create an app via the `Developer Console`_.

Install via `pip <https://pip.pypa.io/>`_:

.. code-block:: console

    $ pip install dropbox

Install from source:

.. code-block:: console

    $ git clone git://github.com/dropbox/dropbox-sdk-python.git
    $ cd dropbox-sdk-python
    $ pip install .

After installation, follow one of our `Examples`_ or read the documentation on `Read The Docs`_.

You can also view our `OAuth Guide`_.

Examples
========

We provide `Examples`_ to help get you started with a lot of the basic functionality in the SDK.

- **OAuth**
    - `Commandline OAuth Basic <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth.py>`_ - Shows a simple example of commandline oauth (no redirect).
    - `Commandline OAuth Scopes <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth-scopes.py>`_ - Shows a simple example of commandline oauth using scopes.
    - `Commandline OAuth PKCE <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth-pkce.py>`_ - Shows a simple example of commandline oauth using PKCE.
- **Other Examples**
    - `Updown <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/updown.py>`_ - Sample application that uploads the contents of your ``Downloads`` folder to Dropbox.
    - `Reliable file transfer <https://github.com/dropbox/dropbox-sdk-python/blob/main/example/file_transfer.py>`_ - Downloads and uploads files with retry, progress, and content validation helpers.
    - `Backup and Restore <https://github.com/dropbox/dropbox-sdk-python/tree/main/example/back-up-and-restore>`_ - Sample application that shows how you can backup a file and restore previous versions if the file was modified/corrupted in any way.

Reliable File Transfers
=======================

Use ``dropbox.file_transfer`` when copying Dropbox files to or from local
storage and you want retry, progress, validation, byte/file targets, stream/file
sources, and optional parallel ranged transfers around the generated
``files_*`` methods.

.. code-block:: python

    import dropbox
    from dropbox import files
    from dropbox.file_transfer import (
        DownloadOptions,
        File,
        FileUpload,
        Uploader,
        UploadOptions,
        Downloader,
    )

    dbx = dropbox.Dropbox("YOUR_ACCESS_TOKEN")

    Downloader(dbx).download(
        "/large-file.bin",
        File("large-file.bin"),
        DownloadOptions(parallel_downloads=4),
    )

    Uploader(dbx).upload(
        FileUpload("large-file.bin"),
        files.CommitInfo("/large-file.bin", mode=files.WriteMode.overwrite),
        UploadOptions(parallel_uploads=4),
    )

Getting Help
============

If you find a bug, please see `CONTRIBUTING.md`_ for information on how to report it.

If you need help that is not specific to this SDK, please reach out to `Dropbox Support`_.

License
=======

This SDK is distributed under the MIT license, please see `LICENSE`_ for more information.

.. _logo: {logo_link}
.. _repo: https://github.com/dropbox/dropbox-sdk-python
.. _`Read The Docs`: http://dropbox-sdk-python.readthedocs.org
.. _`Examples`: https://github.com/dropbox/dropbox-sdk-python/tree/main/example
.. _LICENSE: https://github.com/dropbox/dropbox-sdk-python/blob/main/LICENSE
.. _CONTRIBUTING.md: https://github.com/dropbox/dropbox-sdk-python/blob/main/CONTRIBUTING.md
.. _Developer Console: https://dropbox.com/developers/apps
.. _OAuth Guide: https://www.dropbox.com/lp/developers/reference/oauth-guide
.. _`Dropbox Support`: https://www.dropbox.com/developers/contact

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

(top 30 of 37)

braincore

83 commits

rogebrd

41 commits

DropboxBot

40 commits

AndreyVMarkelov

20 commits

Languages

Python

100.0%