diff --git a/charmcraft/commands/store/__init__.py b/charmcraft/commands/store/__init__.py
index 26ab8dd..cbccb21 100644
--- a/charmcraft/commands/store/__init__.py
+++ b/charmcraft/commands/store/__init__.py
@@ -401,6 +401,10 @@ class ListNamesCommand(BaseCommand):
         seen by any user, while `private` items are only for you and the
         other accounts with permission to collaborate on that specific name.
 
+        The --include-collaborations option can be included to also list those
+        names you collaborate with; in that case the publisher will be included
+        in the output.
+
         Listing names will take you through login if needed.
     """
     )
@@ -409,26 +413,36 @@ class ListNamesCommand(BaseCommand):
     def fill_parser(self, parser):
         """Add own parameters to the general parser."""
         self.include_format_option(parser)
+        parser.add_argument(
+            "--include-collaborations",
+            action="store_true",
+            help="Include the names you are a collaborator of",
+        )
 
     def run(self, parsed_args):
         """Run the command."""
         store = Store(self.config.charmhub)
-        result = store.list_registered_names()
+        with_collab = parsed_args.include_collaborations
+        result = store.list_registered_names(include_collaborations=with_collab)
 
         # build the structure that we need for both human and programmatic output
         headers = ["Name", "Type", "Visibility", "Status"]
         prog_keys = ["name", "type", "visibility", "status"]
+        if with_collab:
+            headers.append("Publisher")
+            prog_keys.append("publisher")
         data = []
         for item in result:
             visibility = "private" if item.private else "public"
-            data.append(
-                [
-                    item.name,
-                    item.entity_type,
-                    visibility,
-                    item.status,
-                ]
-            )
+            datum = [
+                item.name,
+                item.entity_type,
+                visibility,
+                item.status,
+            ]
+            if with_collab:
+                datum.append(item.publisher_display_name)
+            data.append(datum)
 
         if parsed_args.format:
             info = [dict(zip(prog_keys, item)) for item in data]
diff --git a/charmcraft/commands/store/store.py b/charmcraft/commands/store/store.py
index ed887e2..dd6fe74 100644
--- a/charmcraft/commands/store/store.py
+++ b/charmcraft/commands/store/store.py
@@ -33,7 +33,7 @@ from charmcraft.commands.store.client import Client, ALTERNATE_AUTH_ENV_VAR
 Account = namedtuple("Account", "name username id")
 Package = namedtuple("Package", "id name type")
 MacaroonInfo = namedtuple("MacaroonInfo", "account channels packages permissions")
-Entity = namedtuple("Charm", "entity_type name private status")
+Entity = namedtuple("Charm", "entity_type name private status publisher_display_name")
 Uploaded = namedtuple("Uploaded", "ok status revision errors")
 # XXX Facundo 2020-07-23: Need to do a massive rename to call `revno` to the "revision as
 # the number" inside the "revision as the structure", this gets super confusing in the code with
@@ -246,9 +246,12 @@ class Store:
         )
 
     @_store_client_wrapper()
-    def list_registered_names(self):
+    def list_registered_names(self, include_collaborations):
         """Return names registered by the authenticated user."""
-        response = self._client.request_urlpath_json("GET", "/v1/charm")
+        endpoint = "/v1/charm"
+        if include_collaborations:
+            endpoint += "?include-collaborations=true"
+        response = self._client.request_urlpath_json("GET", endpoint)
         result = []
         for item in response["results"]:
             result.append(
@@ -257,6 +260,7 @@ class Store:
                     private=item["private"],
                     status=item["status"],
                     entity_type=item["type"],
+                    publisher_display_name=item["publisher"]["display-name"],
                 )
             )
         return result
diff --git a/completion.bash b/completion.bash
index baec579..512d0dc 100644
--- a/completion.bash
+++ b/completion.bash
@@ -121,7 +121,7 @@ _charmcraft()
             COMPREPLY=( $(compgen -W "${globals[*]} --format" -- "$cur") )
             ;;
         names)
-            COMPREPLY=( $(compgen -W "${globals[*]} --format" -- "$cur") )
+            COMPREPLY=( $(compgen -W "${globals[*]} --format --include-collaborations" -- "$cur") )
             ;;
         revisions)
             COMPREPLY=( $(compgen -W "${globals[*]} --format" -- "$cur") )

diff --git a/tests/commands/test_store_api.py b/tests/commands/test_store_api.py
index 94cc574..c46ac46 100644
--- a/tests/commands/test_store_api.py
+++ b/tests/commands/test_store_api.py
@@ -488,7 +488,7 @@ def test_list_registered_names_empty(client_mock, config):
     auth_response = {"results": []}
     client_mock.request_urlpath_json.return_value = auth_response
 
-    result = store.list_registered_names()
+    result = store.list_registered_names(include_collaborations=False)
 
     assert client_mock.mock_calls == [call.request_urlpath_json("GET", "/v1/charm")]
     assert result == []
@@ -498,15 +498,28 @@ def test_list_registered_names_multiple(client_mock, config):
     """List registered names getting a multiple response."""
     store = Store(config.charmhub)
 
+    publisher = {"display-name": "J. Doe", "other-info": "a lot"}
     auth_response = {
         "results": [
-            {"name": "name1", "type": "charm", "private": False, "status": "status1"},
-            {"name": "name2", "type": "bundle", "private": True, "status": "status2"},
+            {
+                "name": "name1",
+                "type": "charm",
+                "private": False,
+                "status": "status1",
+                "publisher": publisher,
+            },
+            {
+                "name": "name2",
+                "type": "bundle",
+                "private": True,
+                "status": "status2",
+                "publisher": publisher,
+            },
         ]
     }
     client_mock.request_urlpath_json.return_value = auth_response
 
-    result = store.list_registered_names()
+    result = store.list_registered_names(include_collaborations=False)
 
     assert client_mock.mock_calls == [call.request_urlpath_json("GET", "/v1/charm")]
     item1, item2 = result
@@ -514,10 +527,54 @@ def test_list_registered_names_multiple(client_mock, config):
     assert item1.entity_type == "charm"
     assert not item1.private
     assert item1.status == "status1"
+    assert item1.publisher_display_name == "J. Doe"
+    assert item2.name == "name2"
+    assert item2.entity_type == "bundle"
+    assert item2.private
+    assert item2.status == "status2"
+    assert item2.publisher_display_name == "J. Doe"
+
+
+def test_list_registered_names_include_collaborations(client_mock, config):
+    """List registered names including collaborations."""
+    store = Store(config.charmhub)
+
+    auth_response = {
+        "results": [
+            {
+                "name": "name1",
+                "type": "charm",
+                "private": False,
+                "status": "status1",
+                "publisher": {"display-name": "J. Doe", "other-info": "a lot"},
+            },
+            {
+                "name": "name2",
+                "type": "bundle",
+                "private": True,
+                "status": "status2",
+                "publisher": {"display-name": "Anonymous", "other-info": "more"},
+            },
+        ]
+    }
+    client_mock.request_urlpath_json.return_value = auth_response
+
+    result = store.list_registered_names(include_collaborations=True)
+
+    assert client_mock.mock_calls == [
+        call.request_urlpath_json("GET", "/v1/charm?include-collaborations=true")
+    ]
+    item1, item2 = result
+    assert item1.name == "name1"
+    assert item1.entity_type == "charm"
+    assert not item1.private
+    assert item1.status == "status1"
+    assert item1.publisher_display_name == "J. Doe"
     assert item2.name == "name2"
     assert item2.entity_type == "bundle"
     assert item2.private
     assert item2.status == "status2"
+    assert item2.publisher_display_name == "Anonymous"
 
 
 # -- tests for the upload functionality (both for charm/bundles and resources)
diff --git a/tests/commands/test_store_commands.py b/tests/commands/test_store_commands.py
index 327866f..9c70c9e 100644
--- a/tests/commands/test_store_commands.py
+++ b/tests/commands/test_store_commands.py
@@ -620,11 +620,11 @@ def test_list_registered_empty(emitter, store_mock, config, formatted):
     store_response = []
     store_mock.list_registered_names.return_value = store_response
 
-    args = Namespace(format=formatted)
+    args = Namespace(format=formatted, include_collaborations=None)
     ListNamesCommand(config).run(args)
 
     assert store_mock.mock_calls == [
-        call.list_registered_names(),
+        call.list_registered_names(include_collaborations=None),
     ]
     if formatted:
         emitter.assert_json_output([])
@@ -637,15 +637,21 @@ def test_list_registered_empty(emitter, store_mock, config, formatted):
 def test_list_registered_one_private(emitter, store_mock, config, formatted):
     """List registered with one private item in the response."""
     store_response = [
-        Entity(entity_type="charm", name="charm", private=True, status="status"),
+        Entity(
+            entity_type="charm",
+            name="charm",
+            private=True,
+            status="status",
+            publisher_display_name="J. Doe",
+        ),
     ]
     store_mock.list_registered_names.return_value = store_response
 
-    args = Namespace(format=formatted)
+    args = Namespace(format=formatted, include_collaborations=None)
     ListNamesCommand(config).run(args)
 
     assert store_mock.mock_calls == [
-        call.list_registered_names(),
+        call.list_registered_names(include_collaborations=None),
     ]
     expected = [
         "Name    Type    Visibility    Status",
@@ -669,15 +675,21 @@ def test_list_registered_one_private(emitter, store_mock, config, formatted):
 def test_list_registered_one_public(emitter, store_mock, config, formatted):
     """List registered with one public item in the response."""
     store_response = [
-        Entity(entity_type="charm", name="charm", private=False, status="status"),
+        Entity(
+            entity_type="charm",
+            name="charm",
+            private=False,
+            status="status",
+            publisher_display_name="J. Doe",
+        ),
     ]
     store_mock.list_registered_names.return_value = store_response
 
-    args = Namespace(format=formatted)
+    args = Namespace(format=formatted, include_collaborations=None)
     ListNamesCommand(config).run(args)
 
     assert store_mock.mock_calls == [
-        call.list_registered_names(),
+        call.list_registered_names(include_collaborations=None),
     ]
     expected = [
         "Name    Type    Visibility    Status",
@@ -701,23 +713,42 @@ def test_list_registered_one_public(emitter, store_mock, config, formatted):
 def test_list_registered_several(emitter, store_mock, config, formatted):
     """List registered with several itemsssssssss in the response."""
     store_response = [
-        Entity(entity_type="charm", name="charm1", private=True, status="simple status"),
-        Entity(entity_type="charm", name="charm2-long-name", private=False, status="other"),
-        Entity(entity_type="charm", name="charm3", private=True, status="super long status"),
+        Entity(
+            entity_type="charm",
+            name="charm1",
+            private=True,
+            status="simple status",
+            publisher_display_name="J. Doe",
+        ),
+        Entity(
+            entity_type="charm",
+            name="charm2-long-name",
+            private=False,
+            status="other",
+            publisher_display_name="J. Doe",
+        ),
+        Entity(
+            entity_type="charm",
+            name="charm3",
+            private=True,
+            status="super long status",
+            publisher_display_name="J. Doe",
+        ),
         Entity(
             entity_type="bundle",
             name="somebundle",
             private=False,
             status="bundle status",
+            publisher_display_name="J. Doe",
         ),
     ]
     store_mock.list_registered_names.return_value = store_response
 
-    args = Namespace(format=formatted)
+    args = Namespace(format=formatted, include_collaborations=None)
     ListNamesCommand(config).run(args)
 
     assert store_mock.mock_calls == [
-        call.list_registered_names(),
+        call.list_registered_names(include_collaborations=None),
     ]
     if formatted:
         expected = [
@@ -758,6 +789,60 @@ def test_list_registered_several(emitter, store_mock, config, formatted):
         emitter.assert_messages(expected)
 
 
+@pytest.mark.parametrize("formatted", [None, JSON_FORMAT])
+def test_list_registered_with_collaborations(emitter, store_mock, config, formatted):
+    """List registered with collaborations flag."""
+    store_response = [
+        Entity(
+            entity_type="charm",
+            name="charm1",
+            private=True,
+            status="simple status",
+            publisher_display_name="J. Doe",
+        ),
+        Entity(
+            entity_type="bundle",
+            name="somebundle",
+            private=False,
+            status="bundle status",
+            publisher_display_name="Ms. Bundle Publisher",
+        ),
+    ]
+    store_mock.list_registered_names.return_value = store_response
+
+    args = Namespace(format=formatted, include_collaborations=True)
+    ListNamesCommand(config).run(args)
+
+    assert store_mock.mock_calls == [
+        call.list_registered_names(include_collaborations=True),
+    ]
+    if formatted:
+        expected = [
+            {
+                "name": "charm1",
+                "type": "charm",
+                "visibility": "private",
+                "status": "simple status",
+                "publisher": "J. Doe",
+            },
+            {
+                "name": "somebundle",
+                "type": "bundle",
+                "visibility": "public",
+                "status": "bundle status",
+                "publisher": "Ms. Bundle Publisher",
+            },
+        ]
+        emitter.assert_json_output(expected)
+    else:
+        expected = [
+            "Name        Type    Visibility    Status         Publisher",
+            "charm1      charm   private       simple status  J. Doe",
+            "somebundle  bundle  public        bundle status  Ms. Bundle Publisher",
+        ]
+        emitter.assert_messages(expected)
+
+
 # -- tests for upload command
 
 

The `names` command should allow listing those "collaborated" charms 
Currently it only lists those charms *owned* by the developer.

We could add an `--include-collaborations` option (or something shorter, but remember we have bash autocompletion, so...) to also list the charms where the developer is a collaborator.

When this option is used a new column will be shown, exposing the Publisher's display name.

Implementation-wise, the Charmhub endpoint needs to be modified this way: `/v1/charm?include-collaborations=true`
tests/commands/test_store_api.py::test_list_registered_names_empty tests/commands/test_store_api.py::test_list_registered_names_multiple tests/commands/test_store_api.py::test_list_registered_names_include_collaborations tests/commands/test_store_commands.py::test_list_registered_empty[None] tests/commands/test_store_commands.py::test_list_registered_empty[json] tests/commands/test_store_commands.py::test_list_registered_one_private[None] tests/commands/test_store_commands.py::test_list_registered_one_private[json] tests/commands/test_store_commands.py::test_list_registered_one_public[None] tests/commands/test_store_commands.py::test_list_registered_one_public[json] tests/commands/test_store_commands.py::test_list_registered_several[None] tests/commands/test_store_commands.py::test_list_registered_several[json] tests/commands/test_store_commands.py::test_list_registered_with_collaborations[None] tests/commands/test_store_commands.py::test_list_registered_with_collaborations[json]
tests/commands/test_store_api.py::test_client_init tests/commands/test_store_api.py::test_client_init_ephemeral tests/commands/test_store_api.py::test_craft_store_error_raises_command_error tests/commands/test_store_api.py::test_not_logged_in_warns_regular_auth tests/commands/test_store_api.py::test_not_logged_in_warns_alternate_auth tests/commands/test_store_api.py::test_not_logged_in_disable_auto_login tests/commands/test_store_api.py::test_not_logged_in_alternate_auth_disable_auto_login tests/commands/test_store_api.py::test_auth_valid_credentials tests/commands/test_store_api.py::test_auth_bad_credentials tests/commands/test_store_api.py::test_no_keyring tests/commands/test_store_api.py::test_login tests/commands/test_store_api.py::test_login_attenuating_ttl tests/commands/test_store_api.py::test_login_attenuating_permissions tests/commands/test_store_api.py::test_login_attenuating_channels tests/commands/test_store_api.py::test_login_attenuating_packages tests/commands/test_store_api.py::test_logout tests/commands/test_store_api.py::test_whoami_simple tests/commands/test_store_api.py::test_whoami_packages tests/commands/test_store_api.py::test_whoami_channels tests/commands/test_store_api.py::test_register_name tests/commands/test_store_api.py::test_upload_straightforward tests/commands/test_store_api.py::test_upload_polls_status_ok tests/commands/test_store_api.py::test_upload_polls_status_timeout tests/commands/test_store_api.py::test_upload_error tests/commands/test_store_api.py::test_upload_charmbundles_endpoint tests/commands/test_store_api.py::test_upload_resources_endpoint tests/commands/test_store_api.py::test_upload_including_extra_parameters tests/commands/test_store_api.py::test_list_revisions_ok tests/commands/test_store_api.py::test_list_revisions_empty tests/commands/test_store_api.py::test_list_revisions_errors tests/commands/test_store_api.py::test_list_revisions_several_mixed tests/commands/test_store_api.py::test_list_revisions_bases_none tests/commands/test_store_api.py::test_release_simple tests/commands/test_store_api.py::test_release_multiple_channels tests/commands/test_store_api.py::test_release_with_resources tests/commands/test_store_api.py::test_status_ok tests/commands/test_store_api.py::test_status_with_resources tests/commands/test_store_api.py::test_status_base_in_None tests/commands/test_store_api.py::test_create_library_id tests/commands/test_store_api.py::test_create_library_revision tests/commands/test_store_api.py::test_get_library tests/commands/test_store_api.py::test_get_tips_simple tests/commands/test_store_api.py::test_get_tips_empty tests/commands/test_store_api.py::test_get_tips_several tests/commands/test_store_api.py::test_get_tips_query_combinations tests/commands/test_store_api.py::test_list_resources_ok tests/commands/test_store_api.py::test_list_resources_empty tests/commands/test_store_api.py::test_list_resources_several tests/commands/test_store_api.py::test_list_resource_revisions_ok tests/commands/test_store_api.py::test_list_resource_revisions_empty tests/commands/test_store_api.py::test_list_resource_revisions_several tests/commands/test_store_api.py::test_get_oci_registry_credentials tests/commands/test_store_api.py::test_get_oci_image_blob tests/commands/test_store_commands.py::test_get_name_from_metadata_ok tests/commands/test_store_commands.py::test_get_name_from_metadata_no_file tests/commands/test_store_commands.py::test_get_name_from_metadata_bad_content_garbage tests/commands/test_store_commands.py::test_get_name_from_metadata_bad_content_no_name tests/commands/test_store_commands.py::test_login_simple tests/commands/test_store_commands.py::test_login_exporting tests/commands/test_store_commands.py::test_login_restrictions_without_export[charm] tests/commands/test_store_commands.py::test_login_restrictions_without_export[bundle] tests/commands/test_store_commands.py::test_login_restrictions_without_export[permission] tests/commands/test_store_commands.py::test_login_restrictions_without_export[channel] tests/commands/test_store_commands.py::test_login_restrictions_without_export[ttl] tests/commands/test_store_commands.py::test_login_restricting_ttl tests/commands/test_store_commands.py::test_login_restricting_channels tests/commands/test_store_commands.py::test_login_restricting_permissions tests/commands/test_store_commands.py::test_login_restricting_permission_invalid tests/commands/test_store_commands.py::test_login_restricting_charms tests/commands/test_store_commands.py::test_login_restricting_bundles tests/commands/test_store_commands.py::test_login_restriction_mix tests/commands/test_store_commands.py::test_logout tests/commands/test_store_commands.py::test_logout_but_not_logged_in tests/commands/test_store_commands.py::test_whoami[None] tests/commands/test_store_commands.py::test_whoami[json] tests/commands/test_store_commands.py::test_whoami_but_not_logged_in[None] tests/commands/test_store_commands.py::test_whoami_but_not_logged_in[json] tests/commands/test_store_commands.py::test_whoami_with_channels[None] tests/commands/test_store_commands.py::test_whoami_with_channels[json] tests/commands/test_store_commands.py::test_whoami_with_charms[None] tests/commands/test_store_commands.py::test_whoami_with_charms[json] tests/commands/test_store_commands.py::test_whoami_with_bundles[None] tests/commands/test_store_commands.py::test_whoami_with_bundles[json] tests/commands/test_store_commands.py::test_whoami_comprehensive tests/commands/test_store_commands.py::test_register_charm_name tests/commands/test_store_commands.py::test_register_bundle_name tests/commands/test_store_commands.py::test_get_name_bad_zip tests/commands/test_store_commands.py::test_get_name_charm_ok tests/commands/test_store_commands.py::test_get_name_charm_bad_metadata[=] tests/commands/test_store_commands.py::test_get_name_charm_bad_metadata[foo: tests/commands/test_store_commands.py::test_get_name_bundle_ok tests/commands/test_store_commands.py::test_get_name_bundle_bad_data[=] tests/commands/test_store_commands.py::test_get_name_bundle_bad_data[foo: tests/commands/test_store_commands.py::test_get_name_nor_charm_nor_bundle tests/commands/test_store_commands.py::test_upload_parameters_filepath_type tests/commands/test_store_commands.py::test_upload_call_ok[None] tests/commands/test_store_commands.py::test_upload_call_ok[json] tests/commands/test_store_commands.py::test_upload_call_error[None] tests/commands/test_store_commands.py::test_upload_call_error[json] tests/commands/test_store_commands.py::test_upload_call_ok_including_release[None] tests/commands/test_store_commands.py::test_upload_call_ok_including_release[json] tests/commands/test_store_commands.py::test_upload_call_ok_including_release_multiple tests/commands/test_store_commands.py::test_upload_including_release_with_resources[None] tests/commands/test_store_commands.py::test_upload_including_release_with_resources[json] tests/commands/test_store_commands.py::test_upload_options_resource tests/commands/test_store_commands.py::test_upload_call_error_including_release tests/commands/test_store_commands.py::test_upload_charm_with_init_template_todo_token tests/commands/test_store_commands.py::test_upload_with_different_name_than_in_metadata tests/commands/test_store_commands.py::test_revisions_simple[None] tests/commands/test_store_commands.py::test_revisions_simple[json] tests/commands/test_store_commands.py::test_revisions_empty[None] tests/commands/test_store_commands.py::test_revisions_empty[json] tests/commands/test_store_commands.py::test_revisions_ordered_by_revision[None] tests/commands/test_store_commands.py::test_revisions_ordered_by_revision[json] tests/commands/test_store_commands.py::test_revisions_version_null[None] tests/commands/test_store_commands.py::test_revisions_version_null[json] tests/commands/test_store_commands.py::test_revisions_errors_simple[None] tests/commands/test_store_commands.py::test_revisions_errors_simple[json] tests/commands/test_store_commands.py::test_revisions_errors_multiple[None] tests/commands/test_store_commands.py::test_revisions_errors_multiple[json] tests/commands/test_store_commands.py::test_release_simple_ok tests/commands/test_store_commands.py::test_release_simple_multiple_channels tests/commands/test_store_commands.py::test_release_including_resources tests/commands/test_store_commands.py::test_release_options_resource tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs0-expected_parsed0] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs1-expected_parsed1] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs2-expected_parsed2] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs3-expected_parsed3] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs4-expected_parsed4] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs5-expected_parsed5] tests/commands/test_store_commands.py::test_release_parameters_ok[sysargs6-expected_parsed6] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs0] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs1] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs2] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs3] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs4] tests/commands/test_store_commands.py::test_release_parameters_bad[sysargs5] tests/commands/test_store_commands.py::test_close_simple_ok tests/commands/test_store_commands.py::test_status_simple_ok[None] tests/commands/test_store_commands.py::test_status_simple_ok[json] tests/commands/test_store_commands.py::test_status_empty[None] tests/commands/test_store_commands.py::test_status_empty[json] tests/commands/test_store_commands.py::test_status_channels_not_released_with_fallback[None] tests/commands/test_store_commands.py::test_status_channels_not_released_with_fallback[json] tests/commands/test_store_commands.py::test_status_channels_not_released_without_fallback[None] tests/commands/test_store_commands.py::test_status_channels_not_released_without_fallback[json] tests/commands/test_store_commands.py::test_status_multiple_tracks[None] tests/commands/test_store_commands.py::test_status_multiple_tracks[json] tests/commands/test_store_commands.py::test_status_tracks_order tests/commands/test_store_commands.py::test_status_with_one_branch[None] tests/commands/test_store_commands.py::test_status_with_one_branch[json] tests/commands/test_store_commands.py::test_status_with_multiple_branches tests/commands/test_store_commands.py::test_status_with_resources[None] tests/commands/test_store_commands.py::test_status_with_resources[json] tests/commands/test_store_commands.py::test_status_with_resources_missing_after_closed_channel tests/commands/test_store_commands.py::test_status_with_resources_and_branches tests/commands/test_store_commands.py::test_status_multiplebases_single_track[None] tests/commands/test_store_commands.py::test_status_multiplebases_single_track[json] tests/commands/test_store_commands.py::test_status_multiplebases_multiple_tracks tests/commands/test_store_commands.py::test_status_multiplebases_everything_combined tests/commands/test_store_commands.py::test_status_with_base_in_none[None] tests/commands/test_store_commands.py::test_status_with_base_in_none[json] tests/commands/test_store_commands.py::test_status_unreleased_track tests/commands/test_store_commands.py::test_createlib_simple[None] tests/commands/test_store_commands.py::test_createlib_simple[json] tests/commands/test_store_commands.py::test_createlib_name_from_metadata_problem tests/commands/test_store_commands.py::test_createlib_name_contains_dash tests/commands/test_store_commands.py::test_createlib_invalid_name[foo.bar] tests/commands/test_store_commands.py::test_createlib_invalid_name[foo/bar] tests/commands/test_store_commands.py::test_createlib_invalid_name[Foo] tests/commands/test_store_commands.py::test_createlib_invalid_name[123foo] tests/commands/test_store_commands.py::test_createlib_invalid_name[_foo] tests/commands/test_store_commands.py::test_createlib_invalid_name[] tests/commands/test_store_commands.py::test_createlib_path_already_there tests/commands/test_store_commands.py::test_createlib_library_template_is_python tests/commands/test_store_commands.py::test_publishlib_simple[None] tests/commands/test_store_commands.py::test_publishlib_simple[json] tests/commands/test_store_commands.py::test_publishlib_contains_dash tests/commands/test_store_commands.py::test_publishlib_all[None] tests/commands/test_store_commands.py::test_publishlib_all[json] tests/commands/test_store_commands.py::test_publishlib_not_found tests/commands/test_store_commands.py::test_publishlib_not_from_current_charm tests/commands/test_store_commands.py::test_publishlib_name_from_metadata_problem tests/commands/test_store_commands.py::test_publishlib_store_is_advanced[None] tests/commands/test_store_commands.py::test_publishlib_store_is_advanced[json] tests/commands/test_store_commands.py::test_publishlib_store_is_exactly_behind_ok tests/commands/test_store_commands.py::test_publishlib_store_is_exactly_behind_same_hash[None] tests/commands/test_store_commands.py::test_publishlib_store_is_exactly_behind_same_hash[json] tests/commands/test_store_commands.py::test_publishlib_store_is_too_behind[None] tests/commands/test_store_commands.py::test_publishlib_store_is_too_behind[json] tests/commands/test_store_commands.py::test_publishlib_store_has_same_revision_same_hash[None] tests/commands/test_store_commands.py::test_publishlib_store_has_same_revision_same_hash[json] tests/commands/test_store_commands.py::test_publishlib_store_has_same_revision_other_hash[None] tests/commands/test_store_commands.py::test_publishlib_store_has_same_revision_other_hash[json] tests/commands/test_store_commands.py::test_getlibinfo_success_simple tests/commands/test_store_commands.py::test_getlibinfo_success_content tests/commands/test_store_commands.py::test_getlibinfo_bad_name[charms.testcharm.v3.testlib.py] tests/commands/test_store_commands.py::test_getlibinfo_bad_name[charms.testcharm.testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_name[testcharm.v2.testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_name[mycharms.testcharm.v2.testlib] tests/commands/test_store_commands.py::test_getlibinfo_not_importable_charm_name tests/commands/test_store_commands.py::test_getlibinfo_bad_path[charms/testcharm/v3/testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_path[charms/testcharm/v3/testlib.html] tests/commands/test_store_commands.py::test_getlibinfo_bad_path[charms/testcharm/v3/testlib.] tests/commands/test_store_commands.py::test_getlibinfo_bad_path[charms/testcharm/testlib.py] tests/commands/test_store_commands.py::test_getlibinfo_bad_path[testcharm/v2/testlib.py] tests/commands/test_store_commands.py::test_getlibinfo_bad_path[mycharms/testcharm/v2/testlib.py] tests/commands/test_store_commands.py::test_getlibinfo_bad_api[charms.testcharm.v-three.testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_api[charms.testcharm.v-3.testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_api[charms.testcharm.3.testlib] tests/commands/test_store_commands.py::test_getlibinfo_bad_api[charms.testcharm.vX.testlib] tests/commands/test_store_commands.py::test_getlibinfo_missing_library_from_name tests/commands/test_store_commands.py::test_getlibinfo_missing_library_from_path tests/commands/test_store_commands.py::test_getlibinfo_malformed_metadata_field tests/commands/test_store_commands.py::test_getlibinfo_missing_metadata_field tests/commands/test_store_commands.py::test_getlibinfo_api_not_int tests/commands/test_store_commands.py::test_getlibinfo_api_negative tests/commands/test_store_commands.py::test_getlibinfo_patch_not_int tests/commands/test_store_commands.py::test_getlibinfo_patch_negative tests/commands/test_store_commands.py::test_getlibinfo_api_patch_both_zero tests/commands/test_store_commands.py::test_getlibinfo_metadata_api_different_path_api tests/commands/test_store_commands.py::test_getlibinfo_libid_non_string tests/commands/test_store_commands.py::test_getlibinfo_libid_non_ascii tests/commands/test_store_commands.py::test_getlibinfo_libid_empty tests/commands/test_store_commands.py::test_fetchlib_simple_downloaded[None] tests/commands/test_store_commands.py::test_fetchlib_simple_downloaded[json] tests/commands/test_store_commands.py::test_fetchlib_simple_dash_in_name tests/commands/test_store_commands.py::test_fetchlib_simple_dash_in_name_on_disk tests/commands/test_store_commands.py::test_fetchlib_simple_updated tests/commands/test_store_commands.py::test_fetchlib_all[None] tests/commands/test_store_commands.py::test_fetchlib_all[json] tests/commands/test_store_commands.py::test_fetchlib_store_not_found[None] tests/commands/test_store_commands.py::test_fetchlib_store_not_found[json] tests/commands/test_store_commands.py::test_fetchlib_store_is_old[None] tests/commands/test_store_commands.py::test_fetchlib_store_is_old[json] tests/commands/test_store_commands.py::test_fetchlib_store_same_versions_same_hash[None] tests/commands/test_store_commands.py::test_fetchlib_store_same_versions_same_hash[json] tests/commands/test_store_commands.py::test_fetchlib_store_same_versions_different_hash[None] tests/commands/test_store_commands.py::test_fetchlib_store_same_versions_different_hash[json] tests/commands/test_store_commands.py::test_listlib_simple[None] tests/commands/test_store_commands.py::test_listlib_simple[json] tests/commands/test_store_commands.py::test_listlib_charm_from_metadata tests/commands/test_store_commands.py::test_listlib_name_from_metadata_problem tests/commands/test_store_commands.py::test_listlib_empty[None] tests/commands/test_store_commands.py::test_listlib_empty[json] tests/commands/test_store_commands.py::test_listlib_properly_sorted[None] tests/commands/test_store_commands.py::test_listlib_properly_sorted[json] tests/commands/test_store_commands.py::test_resources_simple[None] tests/commands/test_store_commands.py::test_resources_simple[json] tests/commands/test_store_commands.py::test_resources_empty[None] tests/commands/test_store_commands.py::test_resources_empty[json] tests/commands/test_store_commands.py::test_resources_ordered_and_grouped[None] tests/commands/test_store_commands.py::test_resources_ordered_and_grouped[json] tests/commands/test_store_commands.py::test_uploadresource_options_filepath_type tests/commands/test_store_commands.py::test_uploadresource_options_image_type tests/commands/test_store_commands.py::test_uploadresource_options_good_combinations[sysargs0] tests/commands/test_store_commands.py::test_uploadresource_options_good_combinations[sysargs1] tests/commands/test_store_commands.py::test_uploadresource_options_bad_combinations[sysargs0] tests/commands/test_store_commands.py::test_uploadresource_options_bad_combinations[sysargs1] tests/commands/test_store_commands.py::test_uploadresource_filepath_call_ok[None] tests/commands/test_store_commands.py::test_uploadresource_filepath_call_ok[json] tests/commands/test_store_commands.py::test_uploadresource_image_digest_already_uploaded[None] tests/commands/test_store_commands.py::test_uploadresource_image_digest_already_uploaded[json] tests/commands/test_store_commands.py::test_uploadresource_image_digest_upload_from_local tests/commands/test_store_commands.py::test_uploadresource_image_id_upload_from_local tests/commands/test_store_commands.py::test_uploadresource_image_digest_missing_everywhere tests/commands/test_store_commands.py::test_uploadresource_image_id_missing tests/commands/test_store_commands.py::test_uploadresource_call_error[None] tests/commands/test_store_commands.py::test_uploadresource_call_error[json] tests/commands/test_store_commands.py::test_resourcerevisions_simple[None] tests/commands/test_store_commands.py::test_resourcerevisions_simple[json] tests/commands/test_store_commands.py::test_resourcerevisions_empty[None] tests/commands/test_store_commands.py::test_resourcerevisions_empty[json] tests/commands/test_store_commands.py::test_resourcerevisions_ordered_by_revision[None] tests/commands/test_store_commands.py::test_resourcerevisions_ordered_by_revision[json]