Package Details: python-ipfshttpclient 0.7.0-4

Git Clone URL: https://aur.archlinux.org/python-ipfshttpclient.git (read-only, click to copy)
Package Base: python-ipfshttpclient
Description: Python IPFS HTTP client library
Upstream URL: https://pypi.python.org/pypi/ipfshttpclient
Licenses: MIT
Conflicts: python-ipfsapi
Submitter: redfish
Maintainer: redfish
Last Packager: redfish
Votes: 1
Popularity: 0.000052
First Submitted: 2019-08-31 23:32 (UTC)
Last Updated: 2023-09-04 02:40 (UTC)

Pinned Comments

redfish commented on 2023-09-04 02:46 (UTC)

Probably better off using python-ipfshttpclient-git. Some tests still fail on it (when run against kubo 0.21.0), but it's in a better shape than this 0.7.0 version.

Latest Comments

« First ‹ Previous 1 2

redfish commented on 2020-06-27 22:07 (UTC)

0.6.0: https://github.com/radfish/python-ipfshttpclient-PKGBUILD Not pushing until go-ipfs is updated to 0.6.0

redfish commented on 2020-03-01 05:43 (UTC)

@lash: could you please elaborate? I don't see where python-multiaddr requires ipfshttpclient: check succeeds without python-ipfshttpclient installed (at least in v0.0.9).

@RubenKelevra: that's old, already filed upstream: https://github.com/ipfs/py-ipfs-http-client/issues/192

So, according to that issue and to this commit comment: https://github.com/ipfs/py-ipfs-http-client/commit/e287f17659ae4130f19ddffe87e7277884c2add3 the last supported daemon version would be 0.4.21 (but I haven't tried 0.4.21 to confirm).

RubenKelevra commented on 2020-02-26 23:14 (UTC)

Looks like ipfs had some changes in their defaults, so some of the tests fail because of missmatching CIDs:

==> Beginne check()...
initializing IPFS node at build/test-py38/ipfs-path
generating 2048-bit RSA keypair...done
peer identity: QmaY8PNu3B3v3mL21jgVdtmfXLQGmQqvudfp84fMEk8LeG
to get started, enter:

        ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Starting IPFS daemon on /ip4/127.0.0.1/tcp/51073…
        Initializing daemon...
        go-ipfs version: 0.4.23-6ce9a355f
        Repo version: 7
        System version: amd64/linux
        Golang version: go1.13.7
        Swarm listening on /ip4/127.0.0.1/tcp/4001
        Swarm listening on /ip4/192.168.8.99/tcp/4001
        Swarm listening on /ip6/::1/tcp/4001
        Swarm listening on /p2p-circuit
        Swarm announcing /ip4/127.0.0.1/tcp/4001
        Swarm announcing /ip4/192.168.8.99/tcp/4001
        Swarm announcing /ip6/::1/tcp/4001
        API server listening on /ip4/127.0.0.1/tcp/51073
        WebUI: http://127.0.0.1:51073/webui
        Daemon is ready
=============================================================================== test session starts ===============================================================================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /home/ruben/.cache/yay/python-ipfshttpclient/src/ipfshttpclient-0.4.12, inifile: tox.ini
plugins: cov-2.8.1, localserver-0.5.0, ordering-0.6, mock-2.0.0
collected 128 items                                                                                                                                                               

test/unit/test_client.py::test_assert_version PASSED                                                                                                                        [  0%]
test/unit/test_client.py::test_client_session_param PASSED                                                                                                                  [  1%]
test/unit/test_client.py::test_client_session_context PASSED                                                                                                                [  2%]
test/unit/test_encoding.py::test_json_parse PASSED                                                                                                                          [  3%]
test/unit/test_encoding.py::test_json_parse_partial PASSED                                                                                                                  [  3%]
test/unit/test_encoding.py::test_json_with_newlines PASSED                                                                                                                  [  4%]
test/unit/test_encoding.py::test_json_parse_incomplete PASSED                                                                                                               [  5%]
test/unit/test_encoding.py::test_json_parse_chained PASSED                                                                                                                  [  6%]
test/unit/test_encoding.py::test_json_parse_chained_newlines PASSED                                                                                                         [  7%]
test/unit/test_encoding.py::test_json_encode PASSED                                                                                                                         [  7%]
test/unit/test_encoding.py::test_get_encoder_by_name PASSED                                                                                                                 [  8%]
test/unit/test_encoding.py::test_get_invalid_encoder PASSED                                                                                                                 [  9%]
test/unit/test_http.py::test_successful_request PASSED                                                                                                                      [ 10%]
test/unit/test_http.py::test_generic_failure PASSED                                                                                                                         [ 10%]
test/unit/test_http.py::test_http_client_failure PASSED                                                                                                                     [ 11%]
test/unit/test_http.py::test_http_client_late_failure PASSED                                                                                                                [ 12%]
test/unit/test_http.py::test_stream PASSED                                                                                                                                  [ 13%]
test/unit/test_http.py::test_cat PASSED                                                                                                                                     [ 14%]
test/unit/test_http.py::test_default_decoder PASSED                                                                                                                         [ 14%]
test/unit/test_http.py::test_explicit_decoder PASSED                                                                                                                        [ 15%]
test/unit/test_http.py::test_unsupported_decoder PASSED                                                                                                                     [ 16%]
test/unit/test_http.py::test_failed_decoder PASSED                                                                                                                          [ 17%]
test/unit/test_http.py::test_failed_download PASSED                                                                                                                         [ 17%]
test/unit/test_http.py::test_download_timeout PASSED                                                                                                                        [ 18%]
test/unit/test_http.py::test_request_timeout PASSED                                                                                                                         [ 19%]
test/unit/test_http.py::test_session PASSED                                                                                                                                 [ 20%]
test/unit/test_http.py::test_stream_close PASSED                                                                                                                            [ 21%]
test/unit/test_multipart.py::TestContentHelpers::test_content_disposition_headers PASSED                                                                                    [ 21%]
test/unit/test_multipart.py::TestContentHelpers::test_content_disposition_headers_with_type PASSED                                                                          [ 22%]
test/unit/test_multipart.py::TestContentHelpers::test_content_type_headers PASSED                                                                                           [ 23%]
test/unit/test_multipart.py::TestContentHelpers::test_multipart_content_type_headers PASSED                                                                                 [ 24%]
test/unit/test_multipart.py::TestStreamBase::test__gen_chunks PASSED                                                                                                        [ 25%]
test/unit/test_multipart.py::TestStreamBase::test__gen_end PASSED                                                                                                           [ 25%]
test/unit/test_multipart.py::TestStreamBase::test__gen_headers PASSED                                                                                                       [ 26%]
test/unit/test_multipart.py::TestStreamBase::test__gen_item_end PASSED                                                                                                      [ 27%]
test/unit/test_multipart.py::TestStreamBase::test__gen_item_start PASSED                                                                                                    [ 28%]
test/unit/test_multipart.py::TestStreamBase::test_body PASSED                                                                                                               [ 28%]
test/unit/test_multipart.py::TestStreamBase::test_init PASSED                                                                                                               [ 29%]
test/unit/test_multipart.py::TestStreamBase::test_init_defaults PASSED                                                                                                      [ 30%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file PASSED                                                                                                     [ 31%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_absolute PASSED                                                                                            [ 32%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_chunks PASSED                                                                                              [ 32%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_end PASSED                                                                                                 [ 33%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_relative PASSED                                                                                            [ 34%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_start PASSED                                                                                               [ 35%]
test/unit/test_multipart.py::TestStreamFileMixin::test__gen_file_start_with_filepath PASSED                                                                                 [ 35%]
test/unit/test_multipart.py::TestFilesStream::test_body_absolute PASSED                                                                                                     [ 36%]
test/unit/test_multipart.py::TestFilesStream::test_body_relative PASSED                                                                                                     [ 37%]
test/unit/test_multipart.py::TestDirectoryStream::test_body PASSED                                                                                                          [ 38%]
test/unit/test_multipart.py::TestBytesFileStream::test_body PASSED                                                                                                          [ 39%]
test/unit/test_multipart.py::TestStreamHelpers::test_stream_directory PASSED                                                                                                [ 39%]
test/unit/test_multipart.py::TestStreamHelpers::test_stream_files PASSED                                                                                                    [ 40%]
test/unit/test_multipart.py::TestStreamHelpers::test_stream_text PASSED                                                                                                     [ 41%]
test/unit/test_utils.py::TestUtils::test_clean_file_opened PASSED                                                                                                           [ 42%]
test/unit/test_utils.py::TestUtils::test_clean_file_unopened_binarypath PASSED                                                                                              [ 42%]
test/unit/test_utils.py::TestUtils::test_clean_file_unopened_textpath PASSED                                                                                                [ 43%]
test/unit/test_utils.py::TestUtils::test_clean_files_list PASSED                                                                                                            [ 44%]
test/unit/test_utils.py::TestUtils::test_clean_files_single PASSED                                                                                                          [ 45%]
test/unit/test_utils.py::TestUtils::test_guess_mimetype PASSED                                                                                                              [ 46%]
test/unit/test_utils.py::TestUtils::test_return_field_call PASSED                                                                                                           [ 46%]
test/unit/test_utils.py::TestUtils::test_return_field_init PASSED                                                                                                           [ 47%]
test/functional/test_bitswap.py::test_wantlist PASSED                                                                                                                       [ 48%]
test/functional/test_bitswap.py::test_stat PASSED                                                                                                                           [ 49%]
test/functional/test_block.py::test_put PASSED                                                                                                                              [ 50%]
test/functional/test_block.py::test_stat PASSED                                                                                                                             [ 50%]
test/functional/test_block.py::test_get PASSED                                                                                                                              [ 51%]
test/functional/test_block.py::test_put_str FAILED                                                                                                                          [ 52%]
test/functional/test_block.py::test_stat_cid_obj SKIPPED                                                                                                                    [ 53%]
test/functional/test_files.py::test_add_single_from_str_with_dir PASSED                                                                                                     [ 53%]
test/functional/test_files.py::test_only_hash_file PASSED                                                                                                                   [ 54%]
test/functional/test_files.py::test_add_multiple_from_list PASSED                                                                                                           [ 55%]
test/functional/test_files.py::test_add_with_raw_leaves FAILED                                                                                                              [ 56%]
test/functional/test_files.py::test_add_nocopy_without_raw_leaves PASSED                                                                                                    [ 57%]
test/functional/test_files.py::test_nocopy_with_raw_leaves_file FAILED                                                                                                      [ 57%]
test/functional/test_files.py::test_nocopy_with_default_raw_leaves_file FAILED                                                                                              [ 58%]
test/functional/test_files.py::test_add_relative_path PASSED                                                                                                                [ 59%]
test/functional/test_files.py::test_add_nocopy_with_relative_path PASSED                                                                                                    [ 60%]
test/functional/test_files.py::test_add_multiple_from_dirname PASSED                                                                                                        [ 60%]
test/functional/test_files.py::test_add_filepattern_from_dirname PASSED                                                                                                     [ 61%]
test/functional/test_files.py::test_add_filepattern_subdir_wildcard PASSED                                                                                                  [ 62%]
test/functional/test_files.py::test_add_recursive PASSED                                                                                                                    [ 63%]
test/functional/test_files.py::test_get_file PASSED                                                                                                                         [ 64%]
test/functional/test_files.py::test_get_dir PASSED                                                                                                                          [ 64%]
test/functional/test_files.py::test_get_path PASSED                                                                                                                         [ 65%]
test/functional/test_files.py::test_cat_single_file_str PASSED                                                                                                              [ 66%]
test/functional/test_files.py::test_cat_file_block PASSED                                                                                                                   [ 67%]
test/functional/test_files.py::test_mfs_file_cp_rm PASSED                                                                                                                   [ 67%]
test/functional/test_files.py::test_mfs_file_write_stat_read_delete PASSED                                                                                                  [ 68%]
test/functional/test_files.py::test_mfs_dir_make_fill_list_delete PASSED                                                                                                    [ 69%]
test/functional/test_key.py::test_add_list_rename_rm PASSED                                                                                                                 [ 70%]
test/functional/test_miscellaneous.py::test_version PASSED                                                                                                                  [ 71%]
test/functional/test_miscellaneous.py::test_id PASSED                                                                                                                       [ 71%]
test/functional/test_name.py::test_publish_self PASSED                                                                                                                      [ 72%]
test/functional/test_name.py::test_publish_params PASSED                                                                                                                    [ 73%]
test/functional/test_name.py::test_publish_key PASSED                                                                                                                       [ 74%]
test/functional/test_name.py::test_publish_indirect PASSED                                                                                                                  [ 75%]
test/functional/test_name.py::test_resolve PASSED                                                                                                                           [ 75%]
test/functional/test_name.py::test_resolve_recursive PASSED                                                                                                                 [ 76%]
test/functional/test_name.py::test_resolve_params PASSED                                                                                                                    [ 77%]
test/functional/test_object.py::test_new PASSED                                                                                                                             [ 78%]
test/functional/test_object.py::test_stat PASSED                                                                                                                            [ 78%]
test/functional/test_object.py::test_put_get PASSED                                                                                                                         [ 79%]
test/functional/test_object.py::test_links PASSED                                                                                                                           [ 80%]
test/functional/test_object.py::test_data PASSED                                                                                                                            [ 81%]
test/functional/test_object.py::test_patch_append_data PASSED                                                                                                               [ 82%]
test/functional/test_object.py::test_patch_add_link PASSED                                                                                                                  [ 82%]
test/functional/test_object.py::test_patch_rm_link PASSED                                                                                                                   [ 83%]
test/functional/test_object.py::test_patch_set_data PASSED                                                                                                                  [ 84%]
test/functional/test_other.py::test_ipfs_node_available PASSED                                                                                                              [ 85%]
test/functional/test_other.py::test_add_json PASSED                                                                                                                         [ 85%]
test/functional/test_pin.py::test_ls_void PASSED                                                                                                                            [ 86%]
test/functional/test_pin.py::test_ls_single PASSED                                                                                                                          [ 87%]
test/functional/test_pin.py::test_ls_multiple PASSED                                                                                                                        [ 88%]
test/functional/test_pin.py::test_ls_add_rm_single PASSED                                                                                                                   [ 89%]
test/functional/test_pin.py::test_ls_add_rm_directory PASSED                                                                                                                [ 89%]
test/functional/test_pin.py::test_add_update_verify_rm PASSED                                                                                                               [ 90%]
test/functional/test_pubsub.py::test_publish_subscribe PASSED                                                                                                               [ 91%]
test/functional/test_pubsub.py::test_ls PASSED                                                                                                                              [ 92%]
test/functional/test_pubsub.py::test_peers PASSED                                                                                                                           [ 92%]
test/functional/test_repo.py::test_stat PASSED                                                                                                                              [ 93%]
test/functional/test_repo.py::test_gc PASSED                                                                                                                                [ 94%]
test/functional/test_repo.py::test_gc_no_result PASSED                                                                                                                      [ 95%]
test/functional/test_unstable.py::test_log_ls_level PASSED                                                                                                                  [ 96%]
test/functional/test_unstable.py::test_log_tail PASSED                                                                                                                      [ 96%]
test/functional/test_unstable.py::test_refs_local_1 PASSED                                                                                                                  [ 97%]
test/functional/test_unstable.py::test_refs_local_2 PASSED                                                                                                                  [ 98%]
test/functional/test_unstable.py::test_refs PASSED                                                                                                                          [ 99%]
test/functional/test_miscellaneous.py::test_daemon_stop PASSED                                                                                                              [100%]

==================================================================================== FAILURES =====================================================================================
__________________________________________________________________________________ test_put_str ___________________________________________________________________________________

client = <ipfshttpclient.client.Client object at 0x7f71b8250130>

    def test_put_str(client):
        expected_keys = {"Key", "Size"}
        res = client.block.put(io.BytesIO(TEST2_CONTENT), opts={"format": "raw"})
        assert set(res.keys()).issuperset(expected_keys)
>       assert res["Key"] == TEST2_CID_STR
E    AssertionError: assert 'bafkreid7qoy...sw52iabe3mqne' == 'zb2rhfE3SX3q...RagHDM6X1eRFN'
E      - bafkreid7qoywk77r7rj3slobqfekdvs57qwuwh5d2z3sqsw52iabe3mqne
E      + zb2rhfE3SX3q7Ha6UErfMqQReKsmLn73BvdDRagHDM6X1eRFN

test/functional/test_block.py:49: AssertionError
____________________________________________________________________________ test_add_with_raw_leaves _____________________________________________________________________________

client = <ipfshttpclient.client.Client object at 0x7f71b81a19a0>, cleanup_pins = None

    def test_add_with_raw_leaves(client, cleanup_pins):
        res = client.add(FAKE_FILE1_PATH, raw_leaves=True)
>       check_add_with_raw_leaves(client, res)

test/functional/test_files.py:149: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

client = <ipfshttpclient.client.Client object at 0x7f71b81a19a0>, res = {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum', 'Name': 'fsdfgh', 'Size': '8'}

    def check_add_with_raw_leaves(client, res):
>       assert FAKE_FILE1_RAW_LEAVES_HASH == res
E    AssertionError: assert {'Hash': 'zb2..., 'Size': '8'} == {'Hash': 'baf..., 'Size': '8'}
E      Omitting 2 identical items, use -vv to show
E      Differing items:
E      {'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ'} != {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum'}
E      Full diff:
E        {
E      -  'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ',
E      +  'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum',
E         'Name': 'fsdfgh',
E         'Size': '8',
E        }

test/functional/test_files.py:153: AssertionError
________________________________________________________________________ test_nocopy_with_raw_leaves_file _________________________________________________________________________

client = <ipfshttpclient.client.Client object at 0x7f71b825f0a0>, cleanup_pins = None

    def test_nocopy_with_raw_leaves_file(client, cleanup_pins):
        res = client.add(FAKE_FILE1_PATH, nocopy=True, raw_leaves=True)
>       check_no_copy(client, res)

test/functional/test_files.py:168: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/functional/test_files.py:177: in check_no_copy
    check_add_with_raw_leaves(client, res)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

client = <ipfshttpclient.client.Client object at 0x7f71b825f0a0>, res = {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum', 'Name': 'fsdfgh', 'Size': '8'}

    def check_add_with_raw_leaves(client, res):
>       assert FAKE_FILE1_RAW_LEAVES_HASH == res
E    AssertionError: assert {'Hash': 'zb2..., 'Size': '8'} == {'Hash': 'baf..., 'Size': '8'}
E      Omitting 2 identical items, use -vv to show
E      Differing items:
E      {'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ'} != {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum'}
E      Full diff:
E        {
E      -  'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ',
E      +  'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum',
E         'Name': 'fsdfgh',
E         'Size': '8',
E        }

test/functional/test_files.py:153: AssertionError
____________________________________________________________________ test_nocopy_with_default_raw_leaves_file _____________________________________________________________________

client = <ipfshttpclient.client.Client object at 0x7f71b8242df0>, cleanup_pins = None

    def test_nocopy_with_default_raw_leaves_file(client, cleanup_pins):
        res = client.add(FAKE_FILE1_PATH, nocopy=True)
>       check_no_copy(client, res)

test/functional/test_files.py:173: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/functional/test_files.py:177: in check_no_copy
    check_add_with_raw_leaves(client, res)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

client = <ipfshttpclient.client.Client object at 0x7f71b8242df0>, res = {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum', 'Name': 'fsdfgh', 'Size': '8'}

    def check_add_with_raw_leaves(client, res):
>       assert FAKE_FILE1_RAW_LEAVES_HASH == res
E    AssertionError: assert {'Hash': 'zb2..., 'Size': '8'} == {'Hash': 'baf..., 'Size': '8'}
E      Omitting 2 identical items, use -vv to show
E      Differing items:
E      {'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ'} != {'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum'}
E      Full diff:
E        {
E      -  'Hash': 'zb2rhXxZH5PFgCwBAm7xQMoBa6QWqytN8NPvXK7Qc9McDz9zJ',
E      +  'Hash': 'bafkreiatrjkbyc7fz4ain4lpdv7els2cr7h55bjzrg6pg2oo2sf47hmmum',
E         'Name': 'fsdfgh',
E         'Size': '8',
E        }

test/functional/test_files.py:153: AssertionError
================================================================================ warnings summary =================================================================================
/usr/lib/python3.8/site-packages/_pytest/mark/structures.py:323
  /usr/lib/python3.8/site-packages/_pytest/mark/structures.py:323: PytestUnknownMarkWarning: Unknown pytest.mark.last - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
    warnings.warn(

-- Docs: https://docs.pytest.org/en/latest/warnings.html

----------- coverage: platform linux, python 3.8.1-final-0 -----------
Name                                     Stmts   Miss Branch BrPart  Cover
--------------------------------------------------------------------------
ipfshttpclient/__init__.py                   6      0      0      0   100%
ipfshttpclient/client/__init__.py           77      0      6      0   100%
ipfshttpclient/client/base.py               60      7     12      4    85%
ipfshttpclient/client/bitswap.py            10      0      0      0   100%
ipfshttpclient/client/block.py              15      0      0      0   100%
ipfshttpclient/client/bootstrap.py          14      5      0      0    64%
ipfshttpclient/client/config.py             13      4      0      0    69%
ipfshttpclient/client/dht.py                27     16      8      0    31%
ipfshttpclient/client/files.py              81      7     12      3    89%
ipfshttpclient/client/key.py                20      0      0      0   100%
ipfshttpclient/client/miscellaneous.py      33     13      2      0    57%
ipfshttpclient/client/name.py               23      0      8      0   100%
ipfshttpclient/client/object.py             48      0      0      0   100%
ipfshttpclient/client/pin.py                31      1      8      2    92%
ipfshttpclient/client/pubsub.py             30      1      0      0    97%
ipfshttpclient/client/repo.py                8      0      0      0   100%
ipfshttpclient/client/swarm.py              27     10      0      0    63%
ipfshttpclient/client/unstable.py           21      0      0      0   100%
ipfshttpclient/encoding.py                  99      3     18      1    97%
ipfshttpclient/exceptions.py                51      5      2      0    91%
ipfshttpclient/http.py                     201     17     70     12    87%
ipfshttpclient/multipart.py                295     51    129     10    80%
ipfshttpclient/utils.py                     46     10      8      1    80%
ipfshttpclient/version.py                    1      0      0      0   100%
--------------------------------------------------------------------------
TOTAL                                     1237    150    283     33    85%
Coverage HTML written to dir build/test-py38/cov_html
Coverage XML written to file build/test-py38/cov.xml

Required test coverage of 84% reached. Total coverage: 85.46%
============================================================== 4 failed, 123 passed, 1 skipped, 1 warning in 12.52s ===============================================================
IPFS daemon printed extra messages:
        Received interrupt signal, shutting down...
        (Hit ctrl-c again to force-shutdown the daemon.)

lash commented on 2020-02-25 11:02 (UTC)

Depends indirectly on python-multiaddr, which depends on ipfshttpclient in check() section