Skip to content

[core] Place bazel targets into separate directories #51969

@dentiny

Description

@dentiny

Description

Followup issue for #50586

The general practice for bazel is to place targets under each directory (or package in bazel's term), it has several benefits:

  • namespace scoped. we have several targets which are named too general (i.e. allocator), which could be easily confused with other targets. See PR for example.

    • Putting bazel targets into separate build files make them naturally namespace scoped
  • Visivility. Bazel supports package-level visibility

  • plasma:

    ray/BUILD.bazel

    Lines 349 to 398 in bdeeaa6

    ray_cc_library(
    name = "plasma_client",
    srcs = [
    "src/ray/object_manager/common.cc",
    "src/ray/object_manager/plasma/client.cc",
    "src/ray/object_manager/plasma/connection.cc",
    "src/ray/object_manager/plasma/malloc.cc",
    "src/ray/object_manager/plasma/plasma.cc",
    "src/ray/object_manager/plasma/protocol.cc",
    "src/ray/object_manager/plasma/shared_memory.cc",
    ] + select({
    "@platforms//os:windows": [
    ],
    "//conditions:default": [
    "src/ray/object_manager/plasma/fling.cc",
    ],
    }),
    hdrs = [
    "src/ray/object_manager/common.h",
    "src/ray/object_manager/plasma/client.h",
    "src/ray/object_manager/plasma/common.h",
    "src/ray/object_manager/plasma/connection.h",
    "src/ray/object_manager/plasma/malloc.h",
    "src/ray/object_manager/plasma/plasma.h",
    "src/ray/object_manager/plasma/plasma_generated.h",
    "src/ray/object_manager/plasma/protocol.h",
    "src/ray/object_manager/plasma/shared_memory.h",
    ] + select({
    "@platforms//os:windows": [
    ],
    "//conditions:default": [
    "src/ray/object_manager/plasma/fling.h",
    ],
    }),
    copts = PLASMA_COPTS,
    defines = select({
    "@platforms//os:windows": PROPAGATED_WINDOWS_DEFINES,
    "//conditions:default": [],
    }),
    linkopts = PLASMA_LINKOPTS,
    deps = [
    ":plasma_fbs",
    ":ray_common",
    "//src/ray/protobuf:common_cc_proto",
    "//src/ray/util",
    "//src/ray/util:compat",
    "//src/ray/util:counter_map",
    "@msgpack",
    ],
    )

  • plasma store:

    ray/BUILD.bazel

    Lines 400 to 435 in bdeeaa6

    ray_cc_library(
    name = "plasma_store_server_lib",
    srcs = [
    "src/ray/object_manager/plasma/create_request_queue.cc",
    "src/ray/object_manager/plasma/dlmalloc.cc",
    "src/ray/object_manager/plasma/eviction_policy.cc",
    "src/ray/object_manager/plasma/get_request_queue.cc",
    "src/ray/object_manager/plasma/object_lifecycle_manager.cc",
    "src/ray/object_manager/plasma/object_store.cc",
    "src/ray/object_manager/plasma/plasma_allocator.cc",
    "src/ray/object_manager/plasma/stats_collector.cc",
    "src/ray/object_manager/plasma/store.cc",
    "src/ray/object_manager/plasma/store_runner.cc",
    ],
    hdrs = [
    "src/ray/object_manager/common.h",
    "src/ray/object_manager/plasma/allocator.h",
    "src/ray/object_manager/plasma/create_request_queue.h",
    "src/ray/object_manager/plasma/eviction_policy.h",
    "src/ray/object_manager/plasma/get_request_queue.h",
    "src/ray/object_manager/plasma/object_lifecycle_manager.h",
    "src/ray/object_manager/plasma/object_store.h",
    "src/ray/object_manager/plasma/plasma_allocator.h",
    "src/ray/object_manager/plasma/stats_collector.h",
    "src/ray/object_manager/plasma/store.h",
    "src/ray/object_manager/plasma/store_runner.h",
    "src/ray/thirdparty/dlmalloc.c",
    ],
    copts = PLASMA_COPTS,
    linkopts = PLASMA_LINKOPTS,
    deps = [
    ":plasma_client",
    ":stats_lib",
    "//src/ray/common:network",
    ],
    )

  • (assigned) GCS server:

    ray/BUILD.bazel

    Lines 661 to 723 in bdeeaa6

    ray_cc_library(
    name = "gcs_server_lib",
    srcs = [
    "src/ray/gcs/gcs_server/gcs_actor_manager.cc",
    "src/ray/gcs/gcs_server/gcs_actor_scheduler.cc",
    "src/ray/gcs/gcs_server/gcs_autoscaler_state_manager.cc",
    "src/ray/gcs/gcs_server/gcs_health_check_manager.cc",
    "src/ray/gcs/gcs_server/gcs_job_manager.cc",
    "src/ray/gcs/gcs_server/gcs_node_manager.cc",
    "src/ray/gcs/gcs_server/gcs_placement_group_manager.cc",
    "src/ray/gcs/gcs_server/gcs_placement_group_scheduler.cc",
    "src/ray/gcs/gcs_server/gcs_resource_manager.cc",
    "src/ray/gcs/gcs_server/gcs_server.cc",
    "src/ray/gcs/gcs_server/gcs_task_manager.cc",
    ],
    hdrs = [
    "src/ray/gcs/gcs_server/gcs_actor_manager.h",
    "src/ray/gcs/gcs_server/gcs_actor_scheduler.h",
    "src/ray/gcs/gcs_server/gcs_autoscaler_state_manager.h",
    "src/ray/gcs/gcs_server/gcs_health_check_manager.h",
    "src/ray/gcs/gcs_server/gcs_job_manager.h",
    "src/ray/gcs/gcs_server/gcs_node_manager.h",
    "src/ray/gcs/gcs_server/gcs_placement_group_manager.h",
    "src/ray/gcs/gcs_server/gcs_placement_group_scheduler.h",
    "src/ray/gcs/gcs_server/gcs_resource_manager.h",
    "src/ray/gcs/gcs_server/gcs_server.h",
    "src/ray/gcs/gcs_server/gcs_server_io_context_policy.h",
    "src/ray/gcs/gcs_server/gcs_task_manager.h",
    ],
    deps = [
    ":gcs_runtime_env_handler",
    ":gcs_redis_failure_detector",
    ":gcs_state_util",
    ":gcs_pubsub_handler",
    ":gcs_store_client_kv",
    ":gcs_usage_stats_client",
    ":gcs_worker_manager",
    ":gcs_function_manager",
    ":gcs_kv_manager",
    ":gcs_init_data",
    ":gcs_table_storage",
    ":autoscaler_rpc",
    ":gcs",
    ":gcs_pub_sub_lib",
    ":gcs_service_cc_grpc",
    ":gcs_service_rpc",
    ":gcs_table_storage_lib",
    ":node_manager_rpc",
    ":observable_store_client",
    ":pubsub_lib",
    ":raylet_client_lib",
    ":scheduler",
    ":worker_rpc",
    "//src/ray/protobuf:agent_manager_cc_proto",
    "//src/ray/util:counter_map",
    "//src/ray/util:thread_checker",
    "//src/ray/util:throttler",
    "//src/ray/util:type_traits",
    "@boost//:bimap",
    "@com_github_grpc_grpc//src/proto/grpc/health/v1:health_proto",
    "@com_google_absl//absl/container:btree",
    ],
    )

  • (assigned) pubsub:

    ray/BUILD.bazel

    Lines 740 to 758 in bdeeaa6

    # Ray native pubsub module.
    ray_cc_library(
    name = "pubsub_lib",
    srcs = [
    "src/ray/pubsub/publisher.cc",
    "src/ray/pubsub/subscriber.cc",
    ],
    hdrs = [
    "src/ray/pubsub/publisher.h",
    "src/ray/pubsub/subscriber.h",
    ],
    deps = [
    ":pubsub_rpc",
    "@boost//:any",
    "@com_google_absl//absl/container:flat_hash_map",
    "@com_google_absl//absl/container:flat_hash_set",
    "@com_google_absl//absl/synchronization",
    ],
    )

  • (assigned) stats:

    ray/BUILD.bazel

    Lines 760 to 787 in bdeeaa6

    ray_cc_library(
    name = "stats_metric",
    srcs = [
    "src/ray/stats/metric.cc",
    "src/ray/stats/metric_defs.cc",
    "src/ray/stats/tag_defs.cc",
    ],
    hdrs = [
    "src/ray/stats/metric.h",
    "src/ray/stats/metric_defs.h",
    "src/ray/stats/tag_defs.h",
    ],
    deps = [
    "//src/ray/util",
    "//src/ray/util:logging",
    "//src/ray/util:size_literals",
    "@com_github_jupp0r_prometheus_cpp//pull",
    "@com_google_absl//absl/base:core_headers",
    "@com_google_absl//absl/container:flat_hash_map",
    "@com_google_absl//absl/memory",
    "@com_google_absl//absl/strings",
    "@com_google_googletest//:gtest",
    "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter",
    "@io_opencensus_cpp//opencensus/exporters/stats/stdout:stdout_exporter",
    "@io_opencensus_cpp//opencensus/stats",
    "@io_opencensus_cpp//opencensus/tags",
    ],
    )

  • scheduler:

    ray/BUILD.bazel

    Lines 815 to 887 in bdeeaa6

    ray_cc_library(
    name = "scheduler",
    srcs = [
    "src/ray/raylet/scheduling/cluster_resource_manager.cc",
    "src/ray/raylet/scheduling/cluster_resource_scheduler.cc",
    "src/ray/raylet/scheduling/cluster_task_manager.cc",
    "src/ray/raylet/scheduling/local_resource_manager.cc",
    "src/ray/raylet/scheduling/policy/affinity_with_bundle_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/bundle_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/composite_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/hybrid_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/node_affinity_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/node_label_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/random_scheduling_policy.cc",
    "src/ray/raylet/scheduling/policy/scorer.cc",
    "src/ray/raylet/scheduling/policy/spread_scheduling_policy.cc",
    "src/ray/raylet/scheduling/scheduler_resource_reporter.cc",
    "src/ray/raylet/scheduling/scheduler_stats.cc",
    "src/ray/raylet/scheduling/scheduling_policy.cc",
    ],
    hdrs = [
    "src/ray/core_worker/common.h",
    "src/ray/raylet/scheduling/cluster_resource_manager.h",
    "src/ray/raylet/scheduling/cluster_resource_scheduler.h",
    "src/ray/raylet/scheduling/cluster_task_manager.h",
    "src/ray/raylet/scheduling/cluster_task_manager_interface.h",
    "src/ray/raylet/scheduling/internal.h",
    "src/ray/raylet/scheduling/local_resource_manager.h",
    "src/ray/raylet/scheduling/local_task_manager_interface.h",
    "src/ray/raylet/scheduling/policy/affinity_with_bundle_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/bundle_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/composite_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/hybrid_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/node_affinity_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/node_label_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/random_scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/scheduling_context.h",
    "src/ray/raylet/scheduling/policy/scheduling_options.h",
    "src/ray/raylet/scheduling/policy/scheduling_policy.h",
    "src/ray/raylet/scheduling/policy/scorer.h",
    "src/ray/raylet/scheduling/policy/spread_scheduling_policy.h",
    "src/ray/raylet/scheduling/scheduler_resource_reporter.h",
    "src/ray/raylet/scheduling/scheduler_stats.h",
    "src/ray/raylet/scheduling/scheduling_policy.h",
    ],
    linkopts = select({
    "@platforms//os:windows": [
    ],
    "//conditions:default": [
    "-lpthread",
    ],
    }),
    deps = [
    ":gcs_client_lib",
    ":ray_common",
    ":stats_lib",
    "//src/ray/protobuf:common_cc_proto",
    "//src/ray/util",
    "@boost//:asio",
    "@boost//:system",
    "@com_github_jupp0r_prometheus_cpp//pull",
    "@com_google_absl//absl/base:core_headers",
    "@com_google_absl//absl/container:flat_hash_set",
    "@com_google_absl//absl/memory",
    "@com_google_absl//absl/random",
    "@com_google_absl//absl/random:bit_gen_ref",
    "@com_google_absl//absl/strings",
    "@com_google_googletest//:gtest",
    "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter",
    "@io_opencensus_cpp//opencensus/stats",
    "@io_opencensus_cpp//opencensus/tags",
    ],
    )

  • raylet:

    ray/BUILD.bazel

    Lines 889 to 961 in bdeeaa6

    ray_cc_library(
    name = "raylet_lib",
    srcs = [
    "src/ray/raylet/agent_manager.cc",
    "src/ray/raylet/dependency_manager.cc",
    "src/ray/raylet/local_object_manager.cc",
    "src/ray/raylet/local_task_manager.cc",
    "src/ray/raylet/node_manager.cc",
    "src/ray/raylet/placement_group_resource_manager.cc",
    "src/ray/raylet/raylet.cc",
    "src/ray/raylet/runtime_env_agent_client.cc",
    "src/ray/raylet/wait_manager.cc",
    "src/ray/raylet/worker.cc",
    "src/ray/raylet/worker_killing_policy.cc",
    "src/ray/raylet/worker_killing_policy_group_by_owner.cc",
    "src/ray/raylet/worker_killing_policy_retriable_fifo.cc",
    "src/ray/raylet/worker_pool.cc",
    ],
    hdrs = [
    "src/ray/raylet/agent_manager.h",
    "src/ray/raylet/dependency_manager.h",
    "src/ray/raylet/local_object_manager.h",
    "src/ray/raylet/local_task_manager.h",
    "src/ray/raylet/node_manager.h",
    "src/ray/raylet/placement_group_resource_manager.h",
    "src/ray/raylet/raylet.h",
    "src/ray/raylet/runtime_env_agent_client.h",
    "src/ray/raylet/test/util.h",
    "src/ray/raylet/wait_manager.h",
    "src/ray/raylet/worker.h",
    "src/ray/raylet/worker_killing_policy.h",
    "src/ray/raylet/worker_killing_policy_group_by_owner.h",
    "src/ray/raylet/worker_killing_policy_retriable_fifo.h",
    "src/ray/raylet/worker_pool.h",
    ],
    linkopts = select({
    "@platforms//os:windows": [
    ],
    "//conditions:default": [
    "-lpthread",
    ],
    }),
    deps = [
    ":gcs",
    ":gcs_client_lib",
    ":node_manager_fbs",
    ":node_manager_rpc",
    ":object_manager",
    ":plasma_client",
    ":pubsub_lib",
    ":scheduler",
    ":stats_lib",
    ":worker_rpc",
    "//src/ray/protobuf:agent_manager_cc_proto",
    "//src/ray/protobuf:common_cc_proto",
    "//src/ray/protobuf:runtime_env_agent_cc_proto",
    "//src/ray/util:cmd_line_utils",
    "//src/ray/util:container_util",
    "//src/ray/util:throttler",
    "@boost//:asio",
    "@boost//:beast",
    "@boost//:system",
    "@com_github_jupp0r_prometheus_cpp//pull",
    "@com_google_absl//absl/base:core_headers",
    "@com_google_absl//absl/container:flat_hash_set",
    "@com_google_absl//absl/memory",
    "@com_google_absl//absl/strings",
    "@com_google_googletest//:gtest",
    "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter",
    "@io_opencensus_cpp//opencensus/stats",
    "@io_opencensus_cpp//opencensus/tags",
    ],
    )

  • (assigned) raylet client:

    ray/BUILD.bazel

    Lines 963 to 989 in bdeeaa6

    ray_cc_library(
    name = "raylet_client_lib",
    srcs = [
    "src/ray/raylet_client/raylet_client.cc",
    "src/ray/raylet_client/raylet_connection.cc",
    ],
    hdrs = [
    "src/ray/raylet_client/raylet_client.h",
    "src/ray/raylet_client/raylet_connection.h",
    ],
    linkopts = select({
    "@platforms//os:windows": [
    ],
    "//conditions:default": [
    "-lpthread",
    ],
    }),
    deps = [
    ":node_manager_fbs",
    ":node_manager_rpc",
    ":ray_common",
    "//src/ray/common:network",
    "//src/ray/protobuf:gcs_cc_proto",
    "//src/ray/util",
    "@boost//:asio",
    ],
    )

  • core worker:

    ray/BUILD.bazel

    Lines 991 to 1081 in bdeeaa6

    ray_cc_library(
    name = "core_worker_lib",
    srcs = [
    "src/ray/core_worker/actor_handle.cc", "src/ray/core_worker/actor_manager.cc",
    "src/ray/core_worker/common.cc",
    "src/ray/core_worker/context.cc", "src/ray/core_worker/core_worker.cc",
    "src/ray/core_worker/core_worker_process.cc",
    "src/ray/core_worker/experimental_mutable_object_manager.cc",
    "src/ray/core_worker/experimental_mutable_object_provider.cc",
    "src/ray/core_worker/future_resolver.cc",
    "src/ray/core_worker/generator_waiter.cc",
    "src/ray/core_worker/lease_policy.cc",
    "src/ray/core_worker/object_recovery_manager.cc",
    "src/ray/core_worker/profile_event.cc",
    "src/ray/core_worker/reference_count.cc",
    "src/ray/core_worker/store_provider/memory_store/memory_store.cc",
    "src/ray/core_worker/store_provider/plasma_store_provider.cc",
    "src/ray/core_worker/task_event_buffer.cc", "src/ray/core_worker/task_manager.cc",
    "src/ray/core_worker/transport/actor_scheduling_queue.cc",
    "src/ray/core_worker/transport/actor_task_submitter.cc",
    "src/ray/core_worker/transport/concurrency_group_manager.cc",
    "src/ray/core_worker/transport/dependency_resolver.cc",
    "src/ray/core_worker/transport/normal_scheduling_queue.cc",
    "src/ray/core_worker/transport/normal_task_submitter.cc",
    "src/ray/core_worker/transport/out_of_order_actor_scheduling_queue.cc",
    "src/ray/core_worker/transport/out_of_order_actor_submit_queue.cc",
    "src/ray/core_worker/transport/scheduling_util.cc",
    "src/ray/core_worker/transport/sequential_actor_submit_queue.cc",
    "src/ray/core_worker/transport/task_receiver.cc",
    "src/ray/core_worker/transport/thread_pool.cc",
    ],
    hdrs = [
    "src/ray/core_worker/actor_creator.h",
    "src/ray/core_worker/actor_handle.h",
    "src/ray/core_worker/actor_manager.h",
    "src/ray/core_worker/common.h",
    "src/ray/core_worker/context.h",
    "src/ray/core_worker/core_worker.h",
    "src/ray/core_worker/core_worker_options.h",
    "src/ray/core_worker/core_worker_process.h",
    "src/ray/core_worker/experimental_mutable_object_manager.h",
    "src/ray/core_worker/experimental_mutable_object_provider.h",
    "src/ray/core_worker/fiber.h",
    "src/ray/core_worker/future_resolver.h",
    "src/ray/core_worker/generator_waiter.h",
    "src/ray/core_worker/lease_policy.h",
    "src/ray/core_worker/object_recovery_manager.h",
    "src/ray/core_worker/profile_event.h",
    "src/ray/core_worker/reference_count.h",
    "src/ray/core_worker/store_provider/memory_store/memory_store.h",
    "src/ray/core_worker/store_provider/plasma_store_provider.h",
    "src/ray/core_worker/task_event_buffer.h",
    "src/ray/core_worker/task_manager.h",
    "src/ray/core_worker/transport/actor_scheduling_queue.h",
    "src/ray/core_worker/transport/actor_submit_queue.h",
    "src/ray/core_worker/transport/actor_task_submitter.h",
    "src/ray/core_worker/transport/concurrency_group_manager.h",
    "src/ray/core_worker/transport/dependency_resolver.h",
    "src/ray/core_worker/transport/normal_scheduling_queue.h",
    "src/ray/core_worker/transport/normal_task_submitter.h",
    "src/ray/core_worker/transport/out_of_order_actor_scheduling_queue.h",
    "src/ray/core_worker/transport/out_of_order_actor_submit_queue.h",
    "src/ray/core_worker/transport/scheduling_queue.h",
    "src/ray/core_worker/transport/scheduling_util.h",
    "src/ray/core_worker/transport/sequential_actor_submit_queue.h",
    "src/ray/core_worker/transport/task_receiver.h",
    "src/ray/core_worker/transport/thread_pool.h",
    ],
    deps = [
    ":gcs",
    ":gcs_client_lib",
    ":plasma_client",
    ":ray_common",
    ":raylet_client_lib",
    ":stats_lib",
    ":worker_rpc",
    "//src/ray/protobuf:worker_cc_proto",
    "//src/ray/util",
    "//src/ray/util:container_util",
    "//src/ray/util:mutex_protected",
    "//src/ray/util:shared_lru",
    "@boost//:circular_buffer",
    "@boost//:fiber",
    "@com_google_absl//absl/cleanup",
    "@com_google_absl//absl/container:btree",
    "@com_google_absl//absl/container:flat_hash_map",
    "@com_google_absl//absl/container:flat_hash_set",
    "@com_google_absl//absl/container:node_hash_map",
    "@nlohmann_json",
    ],
    )

  • (object manager) object manager:

    ray/BUILD.bazel

    Lines 2373 to 2408 in bdeeaa6

    ray_cc_library(
    name = "object_manager",
    srcs = [
    "src/ray/object_manager/chunk_object_reader.cc",
    "src/ray/object_manager/common.cc",
    "src/ray/object_manager/memory_object_reader.cc",
    "src/ray/object_manager/object_buffer_pool.cc",
    "src/ray/object_manager/object_manager.cc",
    "src/ray/object_manager/ownership_based_object_directory.cc",
    "src/ray/object_manager/pull_manager.cc",
    "src/ray/object_manager/push_manager.cc",
    "src/ray/object_manager/spilled_object_reader.cc",
    ],
    hdrs = [
    "src/ray/object_manager/chunk_object_reader.h",
    "src/ray/object_manager/common.h",
    "src/ray/object_manager/memory_object_reader.h",
    "src/ray/object_manager/object_buffer_pool.h",
    "src/ray/object_manager/object_directory.h",
    "src/ray/object_manager/object_manager.h",
    "src/ray/object_manager/object_reader.h",
    "src/ray/object_manager/ownership_based_object_directory.h",
    "src/ray/object_manager/pull_manager.h",
    "src/ray/object_manager/push_manager.h",
    "src/ray/object_manager/spilled_object_reader.h",
    ],
    deps = [
    ":core_worker_lib",
    ":gcs",
    ":object_manager_rpc",
    ":plasma_store_server_lib",
    ":ray_common",
    "//src/ray/util",
    "@boost//:asio",
    ],
    )

  • (assigned) GCS:

    ray/BUILD.bazel

    Lines 2659 to 2688 in bdeeaa6

    ray_cc_library(
    name = "gcs",
    srcs = [
    "//:src/ray/gcs/pb_utils.cc",
    "//:src/ray/gcs/redis_async_context.cc",
    "//:src/ray/gcs/redis_client.cc",
    "//:src/ray/gcs/redis_context.cc",
    ],
    hdrs = [
    "//:src/ray/gcs/pb_util.h",
    "//:src/ray/gcs/redis_async_context.h",
    "//:src/ray/gcs/redis_client.h",
    "//:src/ray/gcs/redis_context.h",
    ],
    deps = [
    ":gcs_callback",
    ":hiredis",
    ":node_manager_fbs",
    ":node_manager_rpc",
    ":ray_common",
    ":stats_lib",
    "//src/ray/protobuf:agent_manager_cc_proto",
    "//src/ray/protobuf:gcs_cc_proto",
    "//src/ray/protobuf:gcs_service_cc_proto",
    "//src/ray/util",
    "//src/ray/util:exponential_backoff",
    "@boost//:asio",
    ],
    )

Use case

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    community-backlogcoreIssues that should be addressed in Ray CoreenhancementRequest for new feature and/or capabilitygood-first-issueGreat starter issue for someone just starting to contribute to Rayhelp-wanted

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions