The Official Dropbox API V2 SDK for Python

Overview
https://cfl.dropboxstatic.com/static/images/sdk/python_banner.png

The offical Dropbox SDK for Python.

Documentation can be found on Read The Docs.

Installation

Create an app via the Developer Console.

Install via pip:

$ pip install dropbox

Install from source:

$ git clone git://github.com/dropbox/dropbox-sdk-python.git
$ cd dropbox-sdk-python
$ python setup.py 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
  • Other Examples
    • Updown - Sample application that uploads the contents of your Downloads folder to Dropbox.
    • Backup 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.

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.

Comments
  • Internal Server error when using files_move and files_copy

    Internal Server error when using files_move and files_copy

    Hi, I'm receiving an InternalServerError everytime I call files_move or files_copy. I'm currently working around the issue from downloading and re-uploading each file instead. Here is my traceback

    File "C:\Python27\lib\custom\dropbox_backup.py", line 69, in move_sequential_files self.dropbox.rename(file_path, this_path) File "C:\Python27\lib\custom\dropbox\dropbox_wrapper.py", line 113, in rename self.client.files_move(old_path, new_path) File "C:\Python27\lib\site-packages\dropbox\base.py", line 544, in files_move None) File "C:\Python27\lib\site-packages\dropbox\dropbox.py", line 175, in request request_binary) File "C:\Python27\lib\site-packages\dropbox\dropbox.py", line 256, in request_json_string_with_retry request_binary) File "C:\Python27\lib\site-packages\dropbox\dropbox.py", line 320, in request_json_string raise InternalServerError(r.status_code, r.text) InternalServerError

    opened by kg-2 20
  • Add ca_certs argument for oauth and dropbox client

    Add ca_certs argument for oauth and dropbox client

    This change adds ca_certs str argument for oauth and dropbox client classes. It may be used with applications that packed into executable archives (like python par or py2exe). It also may be useful with some security related scenarios.

    Checklist

    General Contributing

    • [x] Have you read the Code of Conduct and signed the CLA?

    Is This a Code Change?

    • [x] Non-code related change (markdown/git settings etc)
    • [x] SDK Code Change
    • [x] Example/Test Code Change

    Validation

    • [x] Does tox pass?
    • [x] Do the tests pass? (no integration tests)
    opened by stanislau-arkhipenka 16
  • dbx.files_upload_session_append_v2 Is it a random server been connected?

    dbx.files_upload_session_append_v2 Is it a random server been connected?

    Hello,

    I'm use dbx.files_upload_session_append_v2 to upload large file But the speed is very unstable. I used 30MB as CHUNK_SIZE. My server has a 1Gbps internet and very idle. so I suspect it is sometimes connected to a bad dropbox server node or a very high load dropbox server node.

    I checked the sdk source code and wanted to find out the server address of each connection to it into dbx.files_upload_session_append_v2. No solution found at this time

    uploading: 1 of media/m002.mp4
    uploaded: 31457280 of media/m002.mp4 used time 6.745985269546509
    uploading: 31457280 of media/m002.mp4
    uploaded: 62914560 of media/m002.mp4 used time 3.0077970027923584
    uploading: 62914560 of media/m002.mp4
    uploaded: 94371840 of media/m002.mp4 used time 2.6795079708099365
    uploading: 94371840 of media/m002.mp4
    uploaded: 125829120 of media/m002.mp4 used time 2.5502266883850098
    uploading: 125829120 of media/m002.mp4
    uploaded: 157286400 of media/m002.mp4 used time 30.76577353477478
    uploading: 157286400 of media/m002.mp4
    uploaded: 188743680 of media/m002.mp4 used time 4.496345520019531
    uploading: 188743680 of media/m002.mp4
    uploaded: 220200960 of media/m002.mp4 used time 2.933668375015259
    uploading: 220200960 of media/m002.mp4
    uploaded: 251658240 of media/m002.mp4 used time 2.999969959259033
    uploading: 251658240 of media/m002.mp4
    uploaded: 283115520 of media/m002.mp4 used time 39.48408651351929
    uploading: 283115520 of media/m002.mp4
    uploaded: 314572800 of media/m002.mp4 used time 6.2456958293914795
    uploading: 314572800 of media/m002.mp4
    uploaded: 346030080 of media/m002.mp4 used time 3.3357770442962646
    uploading: 346030080 of media/m002.mp4
    uploaded: 377487360 of media/m002.mp4 used time 2.5063118934631348
    uploading: 377487360 of media/m002.mp4
    
    opened by louishot 16
  • Handle Half-open TCP sockets

    Handle Half-open TCP sockets

    If the host machine that the Dropbox client SDK is running on misses a FIN packet while it's waiting for a response from the server it will hang forever by default. This can happen if an intermediate router transiently goes down, or if the host is suspended via ACPI power management. This problem is common and widespread and documented here:

    https://en.wikipedia.org/wiki/TCP_half-open#RFC_793

    A thorough description of the problem can be found here:

    http://blog.stephencleary.com/2009/05/detection-of-half-open-dropped.html

    This change makes all HTTP API requests instead use a default timeout of 30 seconds instead of unconditionally blocking forever. It adds a special case for files_list_folder_longpoll which may have a user-defined timeout.

    opened by rianhunter 15
  • Error when importing module with python 2.7

    Error when importing module with python 2.7

    I've just installed version 7.1.1 from pip. When my script tries to import dropbox I end up with the following error:

    Traceback (most recent call last):
      File "dropbox_backup.py", line 4, in <module>
        import dropbox
      File "/home/ianwscott/lib/python2.7/dropbox/__init__.py", line 3, in <module>
        from .dropbox import __version__, Dropbox, DropboxTeam, create_session
      File "/home/ianwscott/lib/python2.7/dropbox/dropbox.py", line 34, in <module>
        from .session import pinned_session
      File "/home/ianwscott/lib/python2.7/dropbox/session.py", line 44, in <module>
        from . import rest
      File "/home/ianwscott/lib/python2.7/dropbox/rest.py", line 29, in <module>
        if six.PY3:
    AttributeError: 'module' object has no attribute 'PY3'
    
    

    I tried upgrading the six module, but I'm being told that the module is already up-to-date (version 1.10.0). So why is dropbox raising the error?

    I'm working on a server running CentOS 6.8. I don't have root access, since it's a shared server, which is why I'm installing the modules locally.

    opened by monotasker 13
  • Decoding issue with utf-8

    Decoding issue with utf-8

    As I can see in dropbox/dropbox.py, line 393 and so on, you always decode the resp using utf-8 which I don't think it works properly in case the user has a non-utf8 file name.

    Should we use chardet to decode the resp to reduce error?

    opened by tranvictor 13
  • Bad Request for url: https://www.dropbox.com/1/oauth2/token

    Bad Request for url: https://www.dropbox.com/1/oauth2/token

    After issue #31 was solved, I get the following error when running the example-code from the docs with version 3.42:

    Traceback (most recent call last):
      File "test.py", line 15, in <module>
        access_token, user_id = auth_flow.finish(auth_code)
      File "/usr/local/lib/python2.7/dist-packages/dropbox/oauth.py", line 178, in finish
        return self._finish(code, None)
      File "/usr/local/lib/python2.7/dist-packages/dropbox/oauth.py", line 60, in _finish
        resp.raise_for_status()
      File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 837, in raise_for_status
        raise HTTPError(http_error_msg, response=self)
    HTTPError: 400 Client Error: Bad Request for url: https://www.dropbox.com/1/oauth2/token
    
    opened by andyCapone 13
  • TypeError: float() argument must be a string or a number, not 'Timeout'  for python3.6

    TypeError: float() argument must be a string or a number, not 'Timeout' for python3.6

    $ git clone git://github.com/dropbox/dropbox-sdk-python.git
    $ cd dropbox-sdk-python
    $ python setup.py install
    >>> import dropbox
    >>> dbx = dropbox.Dropbox("YOUR_ACCESS_TOKEN")
    >>> dbx.users_get_current_account()
    Traceback (most recent call last):
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/util/timeout.py", line 124, in _validate_timeout
        float(value)
    TypeError: float() argument must be a string or a number, not 'Timeout'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/debian8/dropbox-sdk-python/dropbox/base.py", line 3277, in users_get_current_account
        None,
      File "/home/debian8/dropbox-sdk-python/dropbox/dropbox.py", line 234, in request
        timeout=timeout)
      File "/home/debian8/dropbox-sdk-python/dropbox/dropbox.py", line 325, in request_json_string_with_retry
        timeout=timeout)
      File "/home/debian8/dropbox-sdk-python/dropbox/dropbox.py", line 409, in request_json_string
        timeout=timeout,
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/requests/sessions.py", line 565, in post
        return self.request('POST', url, data=data, json=json, **kwargs)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/requests/sessions.py", line 518, in request
        resp = self.send(prep, **send_kwargs)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/requests/sessions.py", line 639, in send
        r = adapter.send(request, **kwargs)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/requests/adapters.py", line 438, in send
        timeout=timeout
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/connectionpool.py", line 587, in urlopen
        timeout_obj = self._get_timeout(timeout)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/connectionpool.py", line 302, in _get_timeout
        return Timeout.from_float(timeout)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/util/timeout.py", line 154, in from_float
        return Timeout(read=timeout, connect=timeout)
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/util/timeout.py", line 94, in __init__
        self._connect = self._validate_timeout(connect, 'connect')
      File "/home/debian8/anaconda3/lib/python3.6/site-packages/urllib3-1.21.1-py3.6.egg/urllib3/util/timeout.py", line 127, in _validate_timeout
        "int, float or None." % (name, value))
    ValueError: Timeout value connect was Timeout(connect=30, read=30, total=None), but it must be an int, float or None.
    
    
    opened by yufeiluo 12
  • APIError Exceptions / Errors makes no sense

    APIError Exceptions / Errors makes no sense

    Sorry to raise this issue, but I've given them a good try, and still can't make sense of them. I've checked out your examples, and I've read your documentation: http://dropbox-sdk-python.readthedocs.org/en/master/moduledoc.html#dropbox.files.ListFolderError

    I think you need a lot more examples of usual errors that might crop up whilst using your API.

    Since I'm here anyway, can anyone point me in the right direction on how to handle the following scenario: I want to check if a folder exists, and if it is not found, I want to create that folder.

    Other than that, its pretty good stuff!

    opened by skela 10
  • Field is_emm_managed of password login details is always expected, but can be missing.

    Field is_emm_managed of password login details is always expected, but can be missing.

    I am using the team_log_get_events and team_log_get_events_continue APIs to retrieve user activity for a Dropbox account. I seem to be able to retrieve most events fine, but I get a validation error from the library for login success events and receive this error:

    dropbox.stone_validators.ValidationError: events.details.password_login_success_details: missing required field 'is_emm_managed'
    

    From http://dropbox-sdk-python.readthedocs.io/en/latest/moduledoc.html#dropbox.team_log.DeviceLogInfo.is_emm_managed, it seems as if this field is normally expected, but could be missing.

    Perhaps this validation constraint needs to be relaxed?

    opened by readshaw 8
  • Wrong content-type returned by files_list_folder_longpoll,

    Wrong content-type returned by files_list_folder_longpoll, "text/plain" instead of "application/json"

    The following sample code:

    #!/usr/bin/python
    import dropbox, os
    dbx = dropbox.Dropbox(os.environ['DROPBOX_TOKEN'])
    root = dbx.files_list_folder('')
    print dbx.files_list_folder_longpoll(root.cursor, timeout=30)
    

    returns:

    Traceback (most recent call last):
      File "longpoll_test.py", line 7, in <module>
        print dbx.files_list_folder_longpoll(root.cursor, timeout=30)
      File "/home/rrerolle/Workspace/Code/rembox/venv/local/lib/python2.7/site-packages/dropbox/base.py", line 89, in files_list_folder_longpoll
        None)
      File "/home/rrerolle/Workspace/Code/rembox/venv/local/lib/python2.7/site-packages/dropbox/dropbox.py", line 175, in request
        request_binary)
      File "/home/rrerolle/Workspace/Code/rembox/venv/local/lib/python2.7/site-packages/dropbox/dropbox.py", line 256, in request_json_string_with_retry
        request_binary)
      File "/home/rrerolle/Workspace/Code/rembox/venv/local/lib/python2.7/site-packages/dropbox/dropbox.py", line 337, in request_json_string
        r.headers.get('content-type'))
    AssertionError: Expected content-type to be application/json, got 'text/plain'
    

    It appears the request succeeds, but returns a "text/plain" content-type, while the dropbox v2 client explicitly expects "application/json", as demonstrated in https://github.com/dropbox/dropbox-sdk-python/blob/002e6df32a6c9446554f6f53b2510d284adc9943/dropbox/dropbox.py#L335-L337

    This is probably an overlook in the v2 API server itself so I'm not sure there is anything to do client wise. Still, for now, using it requires either catching the AssertionError, or running python with -O to disable the asserts.

    opened by rrerolle 8
  • Bump actions/setup-python from 2.2.2 to 4.4.0

    Bump actions/setup-python from 2.2.2 to 4.4.0

    Bumps actions/setup-python from 2.2.2 to 4.4.0.

    Release notes

    Sourced from actions/setup-python's releases.

    Add support to install multiple python versions

    In scope of this release we added support to install multiple python versions. For this you can try to use this snippet:

        - uses: actions/[email protected]
          with:
            python-version: |
                3.8
                3.9
                3.10
    

    Besides, we changed logic with throwing the error for GHES if cache is unavailable to warn (actions/setup-python#566).

    Improve error handling and messages

    In scope of this release we added improved error message to put operating system and its version in the logs (actions/setup-python#559). Besides, the release

    v4.3.0

    • Update @​actions/core to 1.10.0 version #517
    • Update @​actions/cache to 3.0.4 version #499
    • Only use github.token on github.com #443
    • Improvement of documentation #477 #479 #491 #492

    Add check-latest input and bug fixes

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the version will then be downloaded from python-versions repository. By default check-latest is set to false. For PyPy it will to try to reach https://downloads.python.org/pypy/versions.json

    Example of usage:

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          python-version: '3.9'
          check-latest: true
      - run: python --version
    

    Besides, it includes such changes as

    v4.1.0

    In scope of this pull request we updated actions/cache package as the new version contains fixes for caching error handling. Moreover, we added a new input update-environment. This option allows to specify if the action shall update environment variables (default) or not.

    Update-environment input

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Fix invalid specifier in `stone` requirement

    Fix invalid specifier in `stone` requirement

    As mentioned in https://github.com/pypa/pip-audit/issues/445#issuecomment-1363101453:

    PEP 440 doesn't say it directly, but the language implies that the .* is only valid on exact comparison operators (e.g. == and !=), nor ordered comparisons (e.g. >=).

    In particular, a comparison like >=3.5.* is redundant: it has the exact same meaning as >=3.5.

    This is causing pip-audit to fail, like so: https://github.com/frappe/frappe/actions/runs/3811860090/jobs/6484759800#step:4:183

    Checklist

    General Contributing

    • [x] Have you read the Code of Conduct and signed the CLA?

    Is This a Code Change?

    • [x] Non-code related change (markdown/git settings etc)
    • [ ] SDK Code Change
    • [ ] Example/Test Code Change

    Validation

    • [x] Does tox pass?
    • [x] Do the tests pass?
    opened by sagarvora 0
  • Bump peter-evans/create-pull-request from 3.8.2 to 4.2.3

    Bump peter-evans/create-pull-request from 3.8.2 to 4.2.3

    Bumps peter-evans/create-pull-request from 3.8.2 to 4.2.3.

    Release notes

    Sourced from peter-evans/create-pull-request's releases.

    Create Pull Request v4.2.3

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v4.2.2...v4.2.3

    Create Pull Request v4.2.2

    What's Changed

    New Contributors

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v4.2.1...v4.2.2

    Create Pull Request v4.2.1

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v4.2.0...v4.2.1

    Create Pull Request v4.2.0

    ⚙️ Improves the proxy implementation to properly support the standard environment variables http_proxy, https_proxy and no_proxy

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v4.1.4...v4.2.0

    Create Pull Request v4.1.4

    ⚙️ Bumps @actions/core to transition away from deprecated runner commands.

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v4.1.3...v4.1.4

    Create Pull Request v4.1.3

    What's Changed

    ... (truncated)

    Commits
    • 2b011fa fix: add check for missing token input (#1324)
    • 331d02c fix: support github server url for pushing to fork (#1318)
    • d7db273 fix: handle update after force pushing base to a new commit (#1307)
    • ee93d78 test: set default branch to main (#1310)
    • 6c704eb docs: clarify limitations of push-to-fork with restricted token
    • 88bf0de docs: correct examples
    • b38e8b0 docs: replace set-output in example
    • b4d5173 feat: switch proxy implementation (#1269)
    • ad43dcc build(deps): bump @​actions/io from 1.1.1 to 1.1.2 (#1280)
    • c2f9cef build(deps): bump @​actions/exec from 1.1.0 to 1.1.1 (#1279)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Update base.py

    Update base.py

    adding param explanations for files_upload

    Checklist

    General Contributing

    • [x] Have you read the Code of Conduct and signed the CLA?

    Is This a Code Change?

    • [x] Non-code related change (markdown/git settings etc)
    • [ ] SDK Code Change
    • [ ] Example/Test Code Change

    Validation

    • [x] Does tox pass?
    • [x] Do the tests pass?
    opened by alistvt 2
  • Bump codecov/codecov-action from 1.3.2 to 3.1.1

    Bump codecov/codecov-action from 1.3.2 to 3.1.1

    Bumps codecov/codecov-action from 1.3.2 to 3.1.1.

    Release notes

    Sourced from codecov/codecov-action's releases.

    3.1.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/codecov/codecov-action/compare/v3.1.0...v3.1.1

    v3.1.0

    3.1.0

    Features

    ... (truncated)

    Changelog

    Sourced from codecov/codecov-action's changelog.

    3.1.1

    Fixes

    • #661 Update deprecation warning
    • #593 Create codeql-analysis.yml
    • #712 README: fix typo
    • #725 fix: Remove a blank row
    • #726 Update README.md with correct badge version
    • #633 Create scorecards-analysis.yml
    • #747 fix: add more verbosity to validation
    • #750 Regenerate scorecards-analysis.yml
    • #774 Switch to v3
    • #783 Fix network entry in table
    • #791 Trim arguments after splitting them
    • #769 Plumb failCi into verification function.

    Dependencies

    • #713 build(deps-dev): bump typescript from 4.6.3 to 4.6.4
    • #714 build(deps): bump node-fetch from 3.2.3 to 3.2.4
    • #724 build(deps): bump github/codeql-action from 1 to 2
    • #717 build(deps-dev): bump @​types/jest from 27.4.1 to 27.5.0
    • #729 build(deps-dev): bump @​types/node from 17.0.25 to 17.0.33
    • #734 build(deps-dev): downgrade @​types/node to 16.11.35
    • #723 build(deps): bump actions/checkout from 2 to 3
    • #733 build(deps): bump @​actions/github from 5.0.1 to 5.0.3
    • #732 build(deps): bump @​actions/core from 1.6.0 to 1.8.2
    • #737 build(deps-dev): bump @​types/node from 16.11.35 to 16.11.36
    • #749 build(deps): bump ossf/scorecard-action from 1.0.1 to 1.1.0
    • #755 build(deps-dev): bump typescript from 4.6.4 to 4.7.3
    • #759 build(deps-dev): bump @​types/node from 16.11.36 to 16.11.39
    • #762 build(deps-dev): bump @​types/node from 16.11.39 to 16.11.40
    • #746 build(deps-dev): bump @​vercel/ncc from 0.33.4 to 0.34.0
    • #757 build(deps): bump ossf/scorecard-action from 1.1.0 to 1.1.1
    • #760 build(deps): bump openpgp from 5.2.1 to 5.3.0
    • #748 build(deps): bump actions/upload-artifact from 2.3.1 to 3.1.0
    • #766 build(deps-dev): bump typescript from 4.7.3 to 4.7.4
    • #799 build(deps): bump openpgp from 5.3.0 to 5.4.0
    • #798 build(deps): bump @​actions/core from 1.8.2 to 1.9.1

    3.1.0

    Features

    • #699 Incorporate xcode arguments for the Codecov uploader

    Dependencies

    • #694 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • #696 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • #698 build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0

    3.0.0

    Breaking Changes

    • #689 Bump to node16 and small fixes

    ... (truncated)

    Commits
    • d9f34f8 release: update changelog and version to 3.1.1 (#828)
    • 0e9e7b4 Plumb failCi into verification function. (#769)
    • 7f20bd4 build(deps): bump @​actions/core from 1.8.2 to 1.9.1 (#798)
    • 13bc253 build(deps): bump openpgp from 5.3.0 to 5.4.0 (#799)
    • 5c0da1b Trim arguments after splitting them (#791)
    • 68d5f6d Fix network entry in table (#783)
    • 2a829b9 Switch to v3 (#774)
    • 8e09eaf build(deps-dev): bump typescript from 4.7.3 to 4.7.4 (#766)
    • 39e2229 build(deps): bump actions/upload-artifact from 2.3.1 to 3.1.0 (#748)
    • b2b7703 build(deps): bump openpgp from 5.2.1 to 5.3.0 (#760)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • RFE: drop use `six` module

    RFE: drop use `six` module

    Looks like dropbox is one of the only handfull modules whch still is using six

    [[email protected] dropbox-sdk-python-11.30.0]$ grep -rw six
    dropbox/dropbox_client.py:import six
    dropbox/dropbox_client.py:        assert isinstance(obj_result, six.string_types), \
    dropbox/dropbox_client.py:        if not isinstance(request_binary, (six.binary_type, type(None))):
    dropbox/oauth.py:import six
    dropbox/oauth.py:if six.PY3:
    dropbox/oauth.py:        if six.PY2 and isinstance(target, six.text_type):
    dropbox/oauth.py:        if isinstance(o, six.binary_type):
    dropbox/oauth.py:            if isinstance(o, six.text_type):
    dropbox/oauth.py:    utf8_params = {encode(k): encode(v) for k, v in six.iteritems(params)}
    example/updown.py:import six
    example/updown.py:            if not isinstance(name, six.text_type):
    requirements.txt:six >= 1.12.0
    setup.py:    'six >= 1.12.0',
    

    It would be good to rewrite thise parts to drop use six 😃

    enhancement 
    opened by kloczek 2
Releases(v11.36.0)
Discord-Token-Formatter - A simple script to convert discord tokens from email token to token only format

Discord-Token-Formatter A simple script to convert discord tokens from email:pas

2 Oct 23, 2022
We have made you a wrapper you can't refuse

We have made you a wrapper you can't refuse We have a vibrant community of developers helping each other in our Telegram group. Join us! Stay tuned fo

20.6k Jan 04, 2023
TheTimeMachine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensitive Endpoints and what not

The Time Machine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensi

Anmol K Sachan 112 Dec 29, 2022
Bootstrapping your personal Web3 info hub from more than 500 RSS Feeds.

RSS Aggregator for Web3 (or 🥩 RAW for short) Bootstrapping your personal Web3 info hub from more than 500 RSS Feeds. What is RSS or Reader Services?

ChainFeeds 1.8k Dec 29, 2022
🔏 Discordちゃんねる ◆wGFzKUzY7E

使い方 discord.pyをインストール. python -m pip install -r requirements.txtを実行. bot.pyと同じ階層に.tokenを用意. bot.pyを実行. ※現状、使用しているライブラリの関係でWindowsOSは未対応です。 コマンド ニックネーム

Gattxxa 3 Feb 02, 2022
Boilerplate template for the discord-py-interactions library

discord-py-interactions_boilerplate Boilerplate template for the discord-py-interactions library Currently, this boilerplate supports discord-py-inter

Ventus 7 Dec 03, 2022
A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create cust

Aran 1 Oct 13, 2021
`python-jamf` is a library for connecting to a Jamf Server that maps directly to the Jamf Pro Classic API.

`python-jamf` is a library for connecting to a Jamf Server that maps directly to the Jamf Pro Classic API. It is the basis for the `jctl` tool to automate patch management & packages and many other i

University of Utah, Marriott Library, Apple Support 38 Dec 13, 2022
A comand-line utility for taking automated screenshots of websites

shot-scraper A comand-line utility for taking automated screenshots of websites For background on this project see shot-scraper: automated screenshots

Simon Willison 837 Jan 07, 2023
A Python bot that uses the Reddit API to send users inspiring messages.

AnonBot By Edric Antoine A Python bot that uses the Reddit API to send users inspiring messages. When a message includes 'What would Anon do?', the bo

1 Jan 05, 2022
AWSXenos will list all the trust relationships in all the IAM roles and S3 buckets

AWS External Account Scanner Xenos, is Greek for stranger. AWSXenos will list all the trust relationships in all the IAM roles, and S3 buckets, in an

AirWalk 57 Nov 07, 2022
A drop-in vanilla discord.py cog to add slash command support with little to no code modifications

discord.py /slash cog A drop-in vanilla discord.py cog that acts as a translation layer to add slash command support with little to no code modificati

marshall 3 Jun 01, 2022
Cogs for RedDiscord-Bot V3

Cogs v3 Disclaimer: This is an unapproved repo, meaning no one has formally reviewed this repo yet and any loss of data in your bot isn't my fault (An

Honkertonken 5 Nov 17, 2022
GUI Pancakeswap V2 and Uniswap V3 trading client (and bot)MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC

GUI Pancakeswap 2 and Uniswap 3 trading client (and bot) (MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC) UPDATE: MUTI TRADE TOKEN ENABLE ,TRADE 1

2 Dec 27, 2021
Growtopia server_data.php reader with bypass method, using discord bot

Server_data.php-reader Growtopia server_data.php reader with bypass method, using discord bot How to use 1 install python 2 change your bot token

7 Jul 16, 2022
A Discord Bot created using Pycord!

Hey, I am Slash Bot. A Bot which works with Slash Commands! Prerequisites Python 3+ Check out. the requirements.txt and install all the pakages. Insta

Saumya Patel 1 Nov 29, 2021
Mikasa is a 100% Spanish bot, a multifunctional bot, Mikasa is in beta.

Mikasa Miaksa, It is a multi-functional discord bot that is currently in development, this is not complete, there are still many things to fix and imp

Made in 2 Oct 05, 2021
A bot written in Python to automate attending classes on MyClass (Codetantra).

codetantrabot This is python program to attend class on myclass(codetantra) Prerequisites You should have Python3 and Pip installed on your system Run

Aniket Kumar 1 Feb 08, 2022
Stock market bot that will be used to learn about API calls and database connections.

Stock market bot that will be used to learn about API calls and database connections.

1 Dec 24, 2021
Discord Token Creator 🥵

Discord Token Creator 🥵

dropout 304 Jan 03, 2023