class_docstr: A class for storing information and managing Neptune project.
  
  Args:
      backend (:class:`~neptune.ApiClient`, required): A ApiClient object.
      internal_id (:obj:`str`, required): ID of the project.
      namespace (:obj:`str`, required): It can either be your workspace or user name.
      name (:obj:`str`, required): project name.
  
  Note:
      ``namespace`` and ``name`` joined together with ``/`` form ``project_qualified_name``.
code: def _sort_leaderboard_columns(column_names):
      user_defined_weights = {
          "channel": 1,
          "parameter": 2,
          "property": 3,
      }
  
      system_properties_weights = {
          "id": 0,
          "name": 1,
          "created": 2,
          "finished": 3,
          "owner": 4,
          "worker_type": 5,
          "environment": 6,
      }
  
      def key(c):
          """A sorting key for a column name.
  
          Sorts by the system properties first, then channels, parameters, user-defined properties.
  
          Within each group columns are sorted alphabetically, except for system properties,
          where order is custom.
          """
          parts = c.split("_", 1)
          if parts[0] in user_defined_weights.keys():
              name = parts[1]
              weight = user_defined_weights.get(parts[0], 99)
              system_property_weight = None
          else:
              name = c
              weight = 0
              system_property_weight = system_properties_weights.get(
                  name, 99
              )
  
          return weight, system_property_weight, name
  
      return sorted(column_names, key=key)
  
imports: import atexit
  import logging
  import os
  import os.path
  import threading
  from platform import node
  import click
  import pandas
  import six
  from neptune.common.utils import as_list, discover_git_repo_location, get_git_info, map_keys
  from neptune.legacy.envs import NOTEBOOK_ID_ENV_NAME, NOTEBOOK_PATH_ENV_NAME
  from neptune.legacy.exceptions import NeptuneNoExperimentContextException
  from neptune.legacy.experiments import Experiment
  from neptune.legacy.internal.abort import DefaultAbortImpl
  from neptune.legacy.internal.notebooks.notebooks import create_checkpoint
  from neptune.legacy.internal.utils.deprecation import legacy_client_deprecation
  from neptune.legacy.internal.utils.source_code import get_source_code_to_upload
label_desc: Use image node_id 15 for calling the Project obj's underlying member method code with example usage: obj._sort_leaderboard_columns(column_names) and returns: sorted, weight,  system_property_weight,  name