diff --git a/python/BUILD b/python/BUILD
index 6f98301..7e6622d 100644
--- a/python/BUILD
+++ b/python/BUILD
@@ -11,6 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+#
+# This file is automatically generated by tools/gen_bazel. Do not edit.
 
 load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG")
 load(
@@ -23,85 +25,91 @@
 
 package(default_visibility = ["//visibility:private"])
 
-perfetto_py_binary(
-    name = "trace_processor_py_example",
-    srcs = ["example.py"],
-    deps = [":trace_processor_py"] + PERFETTO_CONFIG.deps.pandas_py,
-    main = "example.py",
-    python_version = "PY3",
-)
-
+# GN target: //python:batch_trace_processor
 perfetto_py_library(
-    name = "trace_processor_py",
-    srcs = glob(["perfetto/trace_processor/*.py"]),
-    data = [
-        ":trace_uri_resolver",
-        "perfetto/trace_processor/trace_processor.descriptor",
-        "perfetto/trace_processor/metrics.descriptor",
-        PERFETTO_CONFIG.root + ":trace_processor_shell",
+    name = "batch_trace_processor",
+    srcs = [
+        "perfetto/batch_trace_processor/__init__.py",
+        "perfetto/batch_trace_processor/api.py",
+        "perfetto/batch_trace_processor/platform.py",
     ],
-    deps = PERFETTO_CONFIG.deps.tp_vendor_py +
-        PERFETTO_CONFIG.deps.protobuf_py +
-        PERFETTO_CONFIG.deps.pandas_py,
-    imports = [
-        ".",
-    ],
-    visibility = PERFETTO_CONFIG.public_visibility,
-)
-
-perfetto_py_library(
-    name = "trace_uri_resolver",
-    srcs = glob(["perfetto/trace_uri_resolver/*.py"]),
-    imports = [
-        ".",
-    ],
-)
-
-perfetto_py_library(
-    name = "experimental_slice_breakdown_lib",
-    srcs = glob(["perfetto/experimental/slice_breakdown/*.py"]),
     deps = [
-        ":trace_processor_py",
-    ],
-    imports = [
-        "tools/slice_breakdown",
-    ],
+               ":trace_processor_py",
+           ] + PERFETTO_CONFIG.deps.pandas_py +
+           PERFETTO_CONFIG.deps.tp_vendor_py,
 )
 
+# GN target: //python:experimental_slice_breakdown_bin
 perfetto_py_binary(
     name = "experimental_slice_breakdown_bin",
-    srcs = ["tools/slice_breakdown.py"],
-    main = "tools/slice_breakdown.py",
+    srcs = [
+        "tools/slice_breakdown.py",
+    ],
     deps = [
         ":experimental_slice_breakdown_lib",
         ":trace_processor_py",
     ] + PERFETTO_CONFIG.deps.pandas_py,
+    main = "tools/slice_breakdown.py",
     python_version = "PY3",
-    legacy_create_init = 0,
 )
 
-perfetto_py_library(
-    name = "batch_trace_processor",
-    srcs = glob([
-      "perfetto/batch_trace_processor/*.py"
-    ]),
+# GN target: //python:trace_processor_py_example
+perfetto_py_binary(
+    name = "trace_processor_py_example",
+    srcs = [
+        "example.py",
+    ],
     deps = [
         ":trace_processor_py",
-    ] + PERFETTO_CONFIG.deps.pandas_py +
-        PERFETTO_CONFIG.deps.tp_vendor_py,
-    imports = [
-        ".",
+    ] + PERFETTO_CONFIG.deps.pandas_py,
+    main = "example.py",
+    python_version = "PY3",
+)
+
+# GN target: //python:experimental_slice_breakdown_lib
+perfetto_py_library(
+    name = "experimental_slice_breakdown_lib",
+    srcs = [
+        "perfetto/experimental/slice_breakdown/__init__.py",
+        "perfetto/experimental/slice_breakdown/breakdown.py",
+    ],
+    deps = [
+        ":trace_processor_py",
     ],
 )
 
-perfetto_py_binary(
-    name = "batch_trace_processor_shell",
-    srcs = ["tools/batch_trace_processor_shell.py"],
-    main = "tools/batch_trace_processor_shell.py",
+# GN target: //python:trace_processor_py
+perfetto_py_library(
+    name = "trace_processor_py",
+    srcs = [
+        "perfetto/trace_processor/__init__.py",
+        "perfetto/trace_processor/api.py",
+        "perfetto/trace_processor/http.py",
+        "perfetto/trace_processor/platform.py",
+        "perfetto/trace_processor/protos.py",
+        "perfetto/trace_processor/shell.py",
+    ],
+    data = [
+        PERFETTO_CONFIG.root + ":trace_processor_shell",
+        "perfetto/trace_processor/metrics.descriptor",
+        "perfetto/trace_processor/trace_processor.descriptor",
+    ],
     deps = [
-        ":trace_processor_py",
-        ":batch_trace_processor",
-    ] + PERFETTO_CONFIG.deps.pandas_py,
-    python_version = "PY3",
-    legacy_create_init = 0,
+               ":trace_uri_resolver",
+           ] + PERFETTO_CONFIG.deps.pandas_py +
+           PERFETTO_CONFIG.deps.protobuf_py +
+           PERFETTO_CONFIG.deps.tp_vendor_py,
 )
+
+# GN target: //python:trace_uri_resolver
+perfetto_py_library(
+    name = "trace_uri_resolver",
+    srcs = [
+        "perfetto/trace_uri_resolver/__init__.py",
+        "perfetto/trace_uri_resolver/path.py",
+        "perfetto/trace_uri_resolver/registry.py",
+        "perfetto/trace_uri_resolver/resolver.py",
+        "perfetto/trace_uri_resolver/util.py",
+    ],
+)
+
diff --git a/python/BUILD.gn b/python/BUILD.gn
new file mode 100644
index 0000000..c4632b5
--- /dev/null
+++ b/python/BUILD.gn
@@ -0,0 +1,87 @@
+# Copyright (C) 2022 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("../gn/perfetto_python.gni")
+
+perfetto_py_binary("trace_processor_py_example") {
+  sources = [ "example.py" ]
+  deps = [
+    ":trace_processor_py",
+    "../gn:pandas_py",
+  ]
+  main = "example.py"
+}
+
+perfetto_py_library("trace_processor_py") {
+  sources = [
+    "perfetto/trace_processor/__init__.py",
+    "perfetto/trace_processor/api.py",
+    "perfetto/trace_processor/http.py",
+    "perfetto/trace_processor/platform.py",
+    "perfetto/trace_processor/protos.py",
+    "perfetto/trace_processor/shell.py",
+  ]
+  data = [
+    "perfetto/trace_processor/trace_processor.descriptor",
+    "perfetto/trace_processor/metrics.descriptor",
+    "..:trace_processor_shell",
+  ]
+  deps = [
+    ":trace_uri_resolver",
+    "../gn:pandas_py",
+    "../gn:protobuf_py",
+    "../gn:tp_vendor_py",
+  ]
+}
+
+perfetto_py_library("trace_uri_resolver") {
+  sources = [
+    "perfetto/trace_uri_resolver/__init__.py",
+    "perfetto/trace_uri_resolver/path.py",
+    "perfetto/trace_uri_resolver/registry.py",
+    "perfetto/trace_uri_resolver/resolver.py",
+    "perfetto/trace_uri_resolver/util.py",
+  ]
+}
+
+perfetto_py_library("experimental_slice_breakdown_lib") {
+  sources = [
+    "perfetto/experimental/slice_breakdown/__init__.py",
+    "perfetto/experimental/slice_breakdown/breakdown.py",
+  ]
+  deps = [ ":trace_processor_py" ]
+}
+
+perfetto_py_binary("experimental_slice_breakdown_bin") {
+  sources = [ "tools/slice_breakdown.py" ]
+  main = "tools/slice_breakdown.py"
+  deps = [
+    ":experimental_slice_breakdown_lib",
+    ":trace_processor_py",
+    "../gn:pandas_py",
+  ]
+}
+
+perfetto_py_library("batch_trace_processor") {
+  sources = [
+    "perfetto/batch_trace_processor/__init__.py",
+    "perfetto/batch_trace_processor/api.py",
+    "perfetto/batch_trace_processor/platform.py",
+  ]
+  deps = [
+    ":trace_processor_py",
+    "../gn:pandas_py",
+    "../gn:tp_vendor_py",
+  ]
+}
