Skip to content

Add Python tree-sitter-grammer#204

Draft
thejcannon wants to merge 2 commits intoaspect-build:mainfrom
thejcannon:jcannon/py-lang
Draft

Add Python tree-sitter-grammer#204
thejcannon wants to merge 2 commits intoaspect-build:mainfrom
thejcannon:jcannon/py-lang

Conversation

@thejcannon
Copy link
Contributor

Fix #203 by adding all the plumbing to get Python AstQuery working.


Changes are visible to end-users: yes

  • Searched for relevant documentation and updated as needed: yes
  • Breaking change (forces users to change their own code or config): no
  • Suggested release notes appear below: yes

Test plan

  • Manual testing; please provide instructions so we can reproduce: TBD, (still trying to get it to build)

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@aspect-workflows
Copy link

aspect-workflows bot commented Feb 27, 2026

Test

All tests were cache hits

4 tests (100.0%) were fully cached saving 321ms.


Test

language/js

120 test targets passed

Targets
//:js_test [k8-fastbuild]58ms
//parser:parser_test [k8-fastbuild]405ms
//tests:bad_build_test [k8-fastbuild]55ms
//tests:bad_lockfile_test [k8-fastbuild]98ms
//tests:bad_package_json-invalid_test [k8-fastbuild]186ms
//tests:bad_package_json_test [k8-fastbuild]110ms
//tests:bad_ts_syntax_test [k8-fastbuild]163ms
//tests:declare_module_types_test [k8-fastbuild]178ms
//tests:gazelle_disable_conflict_test [k8-fastbuild]72ms
//tests:gazelle_exclude_directive_test [k8-fastbuild]146ms
//tests:gazelle_generate_build_test [k8-fastbuild]205ms
//tests:gazelle_generation_mode_legacy_test [k8-fastbuild]81ms
//tests:gazelle_generation_mode_test [k8-fastbuild]262ms
//tests:gazelle_ignore_directive_test [k8-fastbuild]134ms
//tests:gazelle_keep_test [k8-fastbuild]178ms
//tests:gazelle_map_kind_directive_test [k8-fastbuild]169ms
//tests:groups_add_remove_rules_test [k8-fastbuild]146ms
//tests:groups_configs_test [k8-fastbuild]183ms
//tests:groups_deps_test [k8-fastbuild]177ms
//tests:ignore_import_directive_test [k8-fastbuild]501ms
//tests:incremental_lazy_lockdir_test [k8-fastbuild]138ms
//tests:incremental_lazy_test [k8-fastbuild]195ms
//tests:isolated_typecheck_test [k8-fastbuild]144ms
//tests:node_native_test [k8-fastbuild]181ms
//tests:npm_link_all_packages_test [k8-fastbuild]45ms
//tests:npm_package_deps_lib_test [k8-fastbuild]191ms
//tests:npm_package_deps_test [k8-fastbuild]224ms
//tests:npm_package_deps_tsconfig_test [k8-fastbuild]139ms
//tests:npm_package_lib_target_name_test [k8-fastbuild]187ms
//tests:npm_package_target_name_test [k8-fastbuild]163ms
//tests:npm_package_target_referenced_test [k8-fastbuild]143ms
//tests:npm_simple_deps_cjs_test [k8-fastbuild]182ms
//tests:npm_simple_deps_test [k8-fastbuild]277ms
//tests:pnpm_project_refs_lock5_test [k8-fastbuild]163ms
//tests:pnpm_project_refs_lock6_test [k8-fastbuild]187ms
//tests:pnpm_project_refs_lock9_test [k8-fastbuild]150ms
//tests:pnpm_workspace-incremental_test [k8-fastbuild]149ms
//tests:pnpm_workspace_rerooted_subdir_test [k8-fastbuild]161ms
//tests:pnpm_workspace_rerooted_test [k8-fastbuild]185ms
//tests:pnpm_workspace_test [k8-fastbuild]194ms
//tests:resolve_directive_test [k8-fastbuild]228ms
//tests:resolve_order_test [k8-fastbuild]139ms
//tests:rules_conflicting_name_mapped_kind_test [k8-fastbuild]43ms
//tests:rules_conflicting_name_nojs_test [k8-fastbuild]69ms
//tests:rules_conflicting_name_test [k8-fastbuild]69ms
//tests:simple_dts_only_dep_test [k8-fastbuild]200ms
//tests:simple_dts_only_test [k8-fastbuild]187ms
//tests:simple_empty_test [k8-fastbuild]87ms
//tests:simple_extra_files_test [k8-fastbuild]142ms
//tests:simple_file_exts_test [k8-fastbuild]269ms
//tests:simple_file_test [k8-fastbuild]138ms
//tests:simple_globs_keep_test [k8-fastbuild]139ms
//tests:simple_globs_test [k8-fastbuild]212ms
//tests:simple_import_disabled_test [k8-fastbuild]180ms
//tests:simple_import_generated_test [k8-fastbuild]171ms
//tests:simple_imports_dynamic_test [k8-fastbuild]173ms
//tests:simple_imports_test [k8-fastbuild]300ms
//tests:simple_json_import_test [k8-fastbuild]197ms
//tests:simple_module_repo_name_test [k8-fastbuild]110ms
//tests:simple_module_test [k8-fastbuild]165ms
//tests:simple_new_file_test [k8-fastbuild]199ms
//tests:tests_initial_test [k8-fastbuild]148ms
//tests:tests_new_test [k8-fastbuild]194ms
//tests:tests_nolib_test [k8-fastbuild]132ms
//tests:tests_simple_test [k8-fastbuild]113ms
//tests:tests_subdir_test [k8-fastbuild]133ms
//tests:tests_subproject_test [k8-fastbuild]157ms
//tests:ts_proto_library_deps_test [k8-fastbuild]55ms
//tests:ts_proto_library_error_test [k8-fastbuild]110ms
//tests:ts_proto_library_ignore_test [k8-fastbuild]123ms
//tests:ts_proto_library_imported_test [k8-fastbuild]190ms
//tests:ts_proto_library_test [k8-fastbuild]155ms
//tests:tsconfig_baseurl_test [k8-fastbuild]133ms
//tests:tsconfig_composite_test [k8-fastbuild]144ms
//tests:tsconfig_deps_test [k8-fastbuild]159ms
//tests:tsconfig_disabled_manual_test [k8-fastbuild]175ms
//tests:tsconfig_emit_declaration_only_test [k8-fastbuild]168ms
//tests:tsconfig_incremental_test [k8-fastbuild]173ms
//tests:tsconfig_invalid_test [k8-fastbuild]181ms
//tests:tsconfig_jsx_test [k8-fastbuild]251ms
//tests:tsconfig_lax_json_test [k8-fastbuild]125ms
//tests:tsconfig_manual_test [k8-fastbuild]66ms
//tests:tsconfig_noEmit_test [k8-fastbuild]206ms
//tests:tsconfig_nomore_configs_test [k8-fastbuild]136ms
//tests:tsconfig_optout_test [k8-fastbuild]177ms
//tests:tsconfig_outdir_genfiles_test [k8-fastbuild]179ms
//tests:tsconfig_outdir_test [k8-fastbuild]108ms
//tests:tsconfig_paths_test [k8-fastbuild]275ms
//tests:tsconfig_pnpm_ref_rerooted_test [k8-fastbuild]59ms
//tests:tsconfig_pnpm_ref_test [k8-fastbuild]101ms
//tests:tsconfig_rootdirs_test [k8-fastbuild]161ms
//tests:tsconfig_tsbuildinfo_configdir_test [k8-fastbuild]114ms
//tests:tsconfig_tsbuildinfo_test [k8-fastbuild]139ms
//tests:tsconfig_tslib_test [k8-fastbuild]143ms
//tests:tsx_css_opt-out_test [k8-fastbuild]178ms
//tests:tsx_css_outdir_test [k8-fastbuild]249ms
//tests:tsx_css_test [k8-fastbuild]173ms
//tests:validate_import_statements_off_test [k8-fastbuild]159ms
//tests:validate_import_statements_test [k8-fastbuild]138ms
//tests:visibility_test [k8-fastbuild]168ms
+ 20 other targets

Total test execution time was 20s. 4 tests (3.2%) were fully cached saving 1s.


Test

language/kotlin

19 test targets passed

Targets
//:kotlin_test [k8-fastbuild]103ms
//parser:parser_test [k8-fastbuild]394ms
//tests:bin_test [k8-fastbuild]306ms
//tests:deep_import_test [k8-fastbuild]311ms
//tests:gazelle_disable_conflict_test [k8-fastbuild]119ms
//tests:gazelle_disable_test [k8-fastbuild]212ms
//tests:gazelle_exclude_directive_test [k8-fastbuild]245ms
//tests:gcsutil_test [k8-fastbuild]275ms
//tests:local_deps_test [k8-fastbuild]97ms
//tests:native_deps_test [k8-fastbuild]263ms
//tests:rules_conflicting_name_mapped_kind_test [k8-fastbuild]222ms
//tests:rules_conflicting_name_test [k8-fastbuild]191ms
//tests:rules_jvm-maven_test [k8-fastbuild]299ms
//tests:simple_empty_maven_test [k8-fastbuild]240ms
//tests:simple_file2_test [k8-fastbuild]214ms
//tests:simple_file_test [k8-fastbuild]584ms
//tests:simple_module_repo_name_test [k8-fastbuild]587ms
//tests:simple_module_test [k8-fastbuild]301ms
//tests:unknown_imports_test [k8-fastbuild]590ms

Test

language/orion

49 test targets passed

Targets
//tests/kotlin:bin_test [k8-fastbuild]312ms
//tests/kotlin:gazelle_disable_conflict_test [k8-fastbuild]129ms
//tests/kotlin:gazelle_disable_test [k8-fastbuild]190ms
//tests/kotlin:gazelle_exclude_directive_test [k8-fastbuild]384ms
//tests/kotlin:ignore_config_files_test [k8-fastbuild]249ms
//tests/kotlin:local_deps_test [k8-fastbuild]325ms
//tests/kotlin:native_deps_test [k8-fastbuild]312ms
//tests/kotlin:rules_conflicting_name_mapped_kind_test [k8-fastbuild]255ms
//tests/kotlin:rules_conflicting_name_test [k8-fastbuild]181ms
//tests/kotlin:rules_jvm-maven_test [k8-fastbuild]407ms
//tests/kotlin:simple_empty_maven_test [k8-fastbuild]334ms
//tests/kotlin:simple_file_test [k8-fastbuild]154ms
//tests/kotlin:unknown_imports_test [k8-fastbuild]173ms
//tests/starzelle:attr-types_test [k8-fastbuild]61ms
//tests/starzelle:bad_axl_test [k8-fastbuild]51ms
//tests/starzelle:bad_build_test [k8-fastbuild]60ms
//tests/starzelle:bad_prepareresult_test [k8-fastbuild]102ms
//tests/starzelle:builtins_test [k8-fastbuild]146ms
//tests/starzelle:deprecated_names_test [k8-fastbuild]90ms
//tests/starzelle:fail_test [k8-fastbuild]89ms
//tests/starzelle:imports-missing_test [k8-fastbuild]50ms
//tests/starzelle:imports-mixed_test [k8-fastbuild]140ms
//tests/starzelle:imports-optional_test [k8-fastbuild]79ms
//tests/starzelle:incremental-0_test [k8-fastbuild]120ms
//tests/starzelle:incremental-1_test [k8-fastbuild]45ms
//tests/starzelle:incremental_lazy-0_test [k8-fastbuild]110ms
//tests/starzelle:load-error_test [k8-fastbuild]122ms
//tests/starzelle:noop_test [k8-fastbuild]101ms
//tests/starzelle:property-types_test [k8-fastbuild]100ms
//tests/starzelle:query-bad-def_test [k8-fastbuild]103ms
//tests/starzelle:query-bad-syntax_test [k8-fastbuild]74ms
//tests/starzelle:query-java_test [k8-fastbuild]123ms
//tests/starzelle:query-js_test [k8-fastbuild]97ms
//tests/starzelle:query-json_test [k8-fastbuild]64ms
//tests/starzelle:query-raw_test [k8-fastbuild]109ms
//tests/starzelle:query-regex_test [k8-fastbuild]122ms
//tests/starzelle:query-ruby_test [k8-fastbuild]173ms
//tests/starzelle:query-rust_test [k8-fastbuild]96ms
//tests/starzelle:query-templ_test [k8-fastbuild]95ms
//tests/starzelle:query-yaml_test [k8-fastbuild]47ms
//tests/starzelle:rule-kinds_test [k8-fastbuild]71ms
//tests/starzelle:rule-removal_test [k8-fastbuild]127ms
//tests/starzelle:source-collecting_test [k8-fastbuild]86ms
//tests/starzelle:starlark_load_test [k8-fastbuild]86ms
//tests:bzl-import_test [k8-fastbuild]58ms
//tests:bzl-nobuildfiles_test [k8-fastbuild]88ms
//tests:bzl-private_test [k8-fastbuild]131ms
//tests:bzl-simple_test [k8-fastbuild]86ms
//tests:bzl-workspace_name_test [k8-fastbuild]81ms

Total test execution time was 7s. 2 tests (3.9%) were fully cached saving 97ms.


Test

runner

14 test targets passed

Targets
//pkg/git/tests:ignore_config_files_test [k8-fastbuild]774ms
//tests:bad_build_test [k8-fastbuild]194ms
//tests:branded-directives_test [k8-fastbuild]308ms
//tests:buf_test [k8-fastbuild]339ms
//tests:cc_test [k8-fastbuild]286ms
//tests:crossresolve-js_test [k8-fastbuild]395ms
//tests:crossresolve-pnpm-names-lazy_test [k8-fastbuild]334ms
//tests:crossresolve-pnpm-names_test [k8-fastbuild]245ms
//tests:crossresolve-pnpm_test [k8-fastbuild]331ms
//tests:golang_test [k8-fastbuild]274ms
//tests:imports-missing_test [k8-fastbuild]306ms
//tests:js_binary-main_test [k8-fastbuild]253ms
//tests:npm_bin_wrapper_test [k8-fastbuild]388ms
//tests:python-simple_test_test [k8-fastbuild]211ms

Total test execution time was 5s. 16 tests (53.3%) were fully cached saving 1s.


Test

runner/e2e/bin

All tests were cache hits

1 test (100.0%) was fully cached saving 93ms.


Buildifier      Gazelle      Gazelle [language/js]      Gazelle [language/kotlin]      Gazelle [language/orion]      Gazelle [runner]      Gazelle [runner/e2e/bin]

@thejcannon
Copy link
Contributor Author

I recently found language/orion/tests/starzelle/query-ruby (and friends) so I should add a test there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FR]: Add python tree-sitter grammar?

2 participants