hypergumbo-lang-common 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. hypergumbo_lang_common-2.0.0/.gitignore +43 -0
  2. hypergumbo_lang_common-2.0.0/PKG-INFO +56 -0
  3. hypergumbo_lang_common-2.0.0/README.md +29 -0
  4. hypergumbo_lang_common-2.0.0/pyproject.toml +59 -0
  5. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/__init__.py +68 -0
  6. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/astro.py +497 -0
  7. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/clojure.py +575 -0
  8. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/commonlisp.py +550 -0
  9. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/cuda.py +419 -0
  10. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/dart.py +859 -0
  11. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/elixir.py +803 -0
  12. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/elm.py +555 -0
  13. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/erlang.py +640 -0
  14. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/fortran.py +659 -0
  15. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/fsharp.py +693 -0
  16. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/glsl.py +429 -0
  17. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/graphql.py +370 -0
  18. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/haskell.py +557 -0
  19. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/hcl.py +547 -0
  20. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/hlsl.py +381 -0
  21. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/julia.py +705 -0
  22. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/latex.py +431 -0
  23. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/matlab.py +341 -0
  24. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/meson.py +404 -0
  25. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/nix.py +574 -0
  26. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/ocaml.py +539 -0
  27. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/proto.py +392 -0
  28. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/puppet.py +493 -0
  29. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/purescript.py +495 -0
  30. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/r_lang.py +537 -0
  31. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/racket.py +423 -0
  32. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/robot.py +623 -0
  33. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/rst.py +447 -0
  34. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/scheme.py +356 -0
  35. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/scss.py +486 -0
  36. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/starlark.py +546 -0
  37. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/svelte.py +472 -0
  38. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/thrift.py +365 -0
  39. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/vue.py +762 -0
  40. hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/wgsl.py +521 -0
  41. hypergumbo_lang_common-2.0.0/tests/test_astro.py +396 -0
  42. hypergumbo_lang_common-2.0.0/tests/test_clojure.py +434 -0
  43. hypergumbo_lang_common-2.0.0/tests/test_commonlisp.py +514 -0
  44. hypergumbo_lang_common-2.0.0/tests/test_cuda_analyzer.py +274 -0
  45. hypergumbo_lang_common-2.0.0/tests/test_dart.py +747 -0
  46. hypergumbo_lang_common-2.0.0/tests/test_elixir.py +814 -0
  47. hypergumbo_lang_common-2.0.0/tests/test_elm.py +404 -0
  48. hypergumbo_lang_common-2.0.0/tests/test_erlang.py +456 -0
  49. hypergumbo_lang_common-2.0.0/tests/test_fortran_analyzer.py +413 -0
  50. hypergumbo_lang_common-2.0.0/tests/test_fsharp.py +540 -0
  51. hypergumbo_lang_common-2.0.0/tests/test_glsl_analyzer.py +356 -0
  52. hypergumbo_lang_common-2.0.0/tests/test_graphql_analyzer.py +385 -0
  53. hypergumbo_lang_common-2.0.0/tests/test_haskell.py +433 -0
  54. hypergumbo_lang_common-2.0.0/tests/test_hcl.py +469 -0
  55. hypergumbo_lang_common-2.0.0/tests/test_hlsl.py +297 -0
  56. hypergumbo_lang_common-2.0.0/tests/test_julia.py +529 -0
  57. hypergumbo_lang_common-2.0.0/tests/test_latex.py +293 -0
  58. hypergumbo_lang_common-2.0.0/tests/test_matlab.py +256 -0
  59. hypergumbo_lang_common-2.0.0/tests/test_meson.py +215 -0
  60. hypergumbo_lang_common-2.0.0/tests/test_nix_analyzer.py +430 -0
  61. hypergumbo_lang_common-2.0.0/tests/test_ocaml.py +362 -0
  62. hypergumbo_lang_common-2.0.0/tests/test_proto.py +329 -0
  63. hypergumbo_lang_common-2.0.0/tests/test_puppet.py +309 -0
  64. hypergumbo_lang_common-2.0.0/tests/test_purescript.py +259 -0
  65. hypergumbo_lang_common-2.0.0/tests/test_r_analyzer.py +343 -0
  66. hypergumbo_lang_common-2.0.0/tests/test_racket.py +279 -0
  67. hypergumbo_lang_common-2.0.0/tests/test_robot.py +439 -0
  68. hypergumbo_lang_common-2.0.0/tests/test_rst.py +413 -0
  69. hypergumbo_lang_common-2.0.0/tests/test_scheme.py +258 -0
  70. hypergumbo_lang_common-2.0.0/tests/test_scss.py +429 -0
  71. hypergumbo_lang_common-2.0.0/tests/test_starlark.py +336 -0
  72. hypergumbo_lang_common-2.0.0/tests/test_svelte.py +414 -0
  73. hypergumbo_lang_common-2.0.0/tests/test_thrift.py +264 -0
  74. hypergumbo_lang_common-2.0.0/tests/test_vue.py +571 -0
  75. hypergumbo_lang_common-2.0.0/tests/test_wgsl_analyzer.py +311 -0
@@ -0,0 +1,43 @@
1
+ # python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .venv/
8
+ .env
9
+
10
+ # tooling
11
+ .pytest_cache/
12
+ .mypy_cache/
13
+ .ruff_cache/
14
+
15
+ # hypergumbo
16
+ .hypergumbo/
17
+ hypergumbo_capsule/
18
+ hypergumbo.results.json
19
+ hypergumbo.results.*.json
20
+ slice.json
21
+
22
+ # Agent configuration
23
+ **/*.local.json
24
+ **/*.local.md
25
+ **/.claude/cache/
26
+ **/.gemini/cache/
27
+ **/.cursor/state/
28
+ **/*-session/
29
+ AUTONOMOUS_MODE.txt
30
+
31
+ # Coverage
32
+ .coverage
33
+ .coverage.*
34
+ htmlcov/
35
+ coverage-report.txt
36
+
37
+ # Node (bats testing)
38
+ node_modules/
39
+ package.json
40
+ package-lock.json
41
+
42
+ # Hypergumbo cache
43
+ .hypergumbo_cache/
@@ -0,0 +1,56 @@
1
+ Metadata-Version: 2.4
2
+ Name: hypergumbo-lang-common
3
+ Version: 2.0.0
4
+ Summary: Common domain-specific language analyzers for hypergumbo
5
+ Author: Hypergumbo contributors
6
+ License: AGPL-3.0-or-later
7
+ Keywords: code-graph,language-support,static-analysis
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3 :: Only
12
+ Requires-Python: >=3.10
13
+ Requires-Dist: hypergumbo-core==2.0.0
14
+ Requires-Dist: tree-sitter-commonlisp>=0.4
15
+ Requires-Dist: tree-sitter-cuda>=0.20
16
+ Requires-Dist: tree-sitter-fortran>=0.1
17
+ Requires-Dist: tree-sitter-glsl>=0.1
18
+ Requires-Dist: tree-sitter-graphql>=0.1
19
+ Requires-Dist: tree-sitter-haskell>=0.21
20
+ Requires-Dist: tree-sitter-hcl>=1.2
21
+ Requires-Dist: tree-sitter-julia>=0.23
22
+ Requires-Dist: tree-sitter-language-pack>=0.13
23
+ Requires-Dist: tree-sitter-nix>=0.1
24
+ Requires-Dist: tree-sitter-ocaml>=0.21
25
+ Requires-Dist: tree-sitter-robot>=1.1
26
+ Description-Content-Type: text/markdown
27
+
28
+ # hypergumbo-lang-common
29
+
30
+ Domain-specific language analyzers for hypergumbo.
31
+
32
+ ## Supported Languages
33
+
34
+ Haskell, OCaml, Elixir, Erlang, Clojure, F#, Julia, R, MATLAB, Fortran, Dart, Vue, Svelte, Astro, SCSS, GraphQL, Proto, Thrift, Nix, HCL, LaTeX, RST, Robot, Puppet, Starlark, Meson, CUDA, GLSL, HLSL, WGSL, Elm, PureScript, Racket, Scheme, Common Lisp
35
+
36
+ ## Installation
37
+
38
+ ```bash
39
+ # With core
40
+ pip install hypergumbo-core hypergumbo-lang-common
41
+
42
+ # Full installation (recommended)
43
+ pip install hypergumbo
44
+ ```
45
+
46
+ ## Usage
47
+
48
+ ```python
49
+ from hypergumbo_lang_common.haskell import analyze_haskell
50
+ from hypergumbo_lang_common.elixir import analyze_elixir
51
+ from hypergumbo_lang_common.graphql import analyze_graphql
52
+ ```
53
+
54
+ ## Documentation
55
+
56
+ See https://codeberg.org/iterabloom/hypergumbo for full documentation.
@@ -0,0 +1,29 @@
1
+ # hypergumbo-lang-common
2
+
3
+ Domain-specific language analyzers for hypergumbo.
4
+
5
+ ## Supported Languages
6
+
7
+ Haskell, OCaml, Elixir, Erlang, Clojure, F#, Julia, R, MATLAB, Fortran, Dart, Vue, Svelte, Astro, SCSS, GraphQL, Proto, Thrift, Nix, HCL, LaTeX, RST, Robot, Puppet, Starlark, Meson, CUDA, GLSL, HLSL, WGSL, Elm, PureScript, Racket, Scheme, Common Lisp
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ # With core
13
+ pip install hypergumbo-core hypergumbo-lang-common
14
+
15
+ # Full installation (recommended)
16
+ pip install hypergumbo
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```python
22
+ from hypergumbo_lang_common.haskell import analyze_haskell
23
+ from hypergumbo_lang_common.elixir import analyze_elixir
24
+ from hypergumbo_lang_common.graphql import analyze_graphql
25
+ ```
26
+
27
+ ## Documentation
28
+
29
+ See https://codeberg.org/iterabloom/hypergumbo for full documentation.
@@ -0,0 +1,59 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.24"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "hypergumbo-lang-common"
7
+ version = "2.0.0"
8
+ description = "Common domain-specific language analyzers for hypergumbo"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = { text = "AGPL-3.0-or-later" }
12
+ authors = [{ name = "Hypergumbo contributors" }]
13
+ keywords = ["static-analysis", "code-graph", "language-support"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3 :: Only",
19
+ ]
20
+ dependencies = [
21
+ "hypergumbo-core==2.0.0",
22
+ # Tree-sitter grammars for common languages
23
+ "tree-sitter-haskell>=0.21",
24
+ "tree-sitter-ocaml>=0.21",
25
+ "tree-sitter-language-pack>=0.13", # Elixir, Dart, LaTeX, R, COBOL
26
+ "tree-sitter-commonlisp>=0.4",
27
+ # Additional common language grammars (separate packages, not in language-pack)
28
+ "tree-sitter-cuda>=0.20",
29
+ "tree-sitter-fortran>=0.1",
30
+ "tree-sitter-glsl>=0.1",
31
+ "tree-sitter-graphql>=0.1",
32
+ "tree-sitter-hcl>=1.2",
33
+ "tree-sitter-julia>=0.23",
34
+ "tree-sitter-nix>=0.1",
35
+ "tree-sitter-robot>=1.1",
36
+ # Note: scss, hlsl, wgsl, proto use tree-sitter-language-pack (get_language()),
37
+ # not separate packages
38
+ # Note: Some grammars may need to be built from source
39
+ # (see scripts/build-source-grammars)
40
+ ]
41
+
42
+ [project.entry-points."hypergumbo.analyzers"]
43
+ common = "hypergumbo_lang_common:ANALYZER_SPECS"
44
+
45
+ [tool.hatch.build.targets.wheel]
46
+ packages = ["src/hypergumbo_lang_common"]
47
+
48
+ [tool.ruff]
49
+ target-version = "py310"
50
+ line-length = 100
51
+ src = ["src", "tests"]
52
+
53
+ [tool.ruff.lint]
54
+ select = ["E", "W", "F", "B", "C4", "S", "RUF"]
55
+ ignore = ["E501", "S101", "S105", "S106", "S110", "RUF059", "RUF005", "B028"]
56
+
57
+ [tool.ruff.lint.per-file-ignores]
58
+ "tests/**/*.py" = ["S101", "S105", "S106", "S603", "S108", "E741", "F401", "F841", "RUF005"]
59
+ "src/hypergumbo_lang_common/*.py" = ["E402"]
@@ -0,0 +1,68 @@
1
+ """Hypergumbo common language analyzers.
2
+
3
+ This package provides analyzers for languages that are popular in specific
4
+ domains - functional programming, data science, web frameworks, DevOps, etc.
5
+
6
+ These languages are commonly encountered but more domain-specific than
7
+ the mainstream package.
8
+ """
9
+ from hypergumbo_core.analyze.all_analyzers import AnalyzerSpec
10
+
11
+ __version__ = "2.0.0"
12
+
13
+ # Analyzer specifications for common languages
14
+ # These are registered via entry_points in pyproject.toml
15
+ ANALYZER_SPECS = [
16
+ # Functional languages
17
+ AnalyzerSpec("haskell", "hypergumbo_lang_common.haskell", "analyze_haskell"),
18
+ AnalyzerSpec("ocaml", "hypergumbo_lang_common.ocaml", "analyze_ocaml"),
19
+ AnalyzerSpec("elixir", "hypergumbo_lang_common.elixir", "analyze_elixir"),
20
+ AnalyzerSpec("erlang", "hypergumbo_lang_common.erlang", "analyze_erlang"),
21
+ AnalyzerSpec("clojure", "hypergumbo_lang_common.clojure", "analyze_clojure"),
22
+ AnalyzerSpec("fsharp", "hypergumbo_lang_common.fsharp", "analyze_fsharp"),
23
+ AnalyzerSpec("elm", "hypergumbo_lang_common.elm", "analyze_elm"),
24
+ AnalyzerSpec("purescript", "hypergumbo_lang_common.purescript", "analyze_purescript"),
25
+ AnalyzerSpec("racket", "hypergumbo_lang_common.racket", "analyze_racket"),
26
+ AnalyzerSpec("scheme", "hypergumbo_lang_common.scheme", "analyze_scheme"),
27
+ AnalyzerSpec("commonlisp", "hypergumbo_lang_common.commonlisp", "analyze_commonlisp"),
28
+
29
+ # Data science and scientific computing
30
+ AnalyzerSpec("julia", "hypergumbo_lang_common.julia", "analyze_julia"),
31
+ AnalyzerSpec("r", "hypergumbo_lang_common.r_lang", "analyze_r_files"),
32
+ AnalyzerSpec("matlab", "hypergumbo_lang_common.matlab", "analyze_matlab"),
33
+ AnalyzerSpec("fortran", "hypergumbo_lang_common.fortran", "analyze_fortran_files"),
34
+
35
+ # Web frontend frameworks
36
+ AnalyzerSpec("dart", "hypergumbo_lang_common.dart", "analyze_dart"),
37
+ AnalyzerSpec("vue", "hypergumbo_lang_common.vue", "analyze_vue"),
38
+ AnalyzerSpec("svelte", "hypergumbo_lang_common.svelte", "analyze_svelte"),
39
+ AnalyzerSpec("astro", "hypergumbo_lang_common.astro", "analyze_astro"),
40
+ AnalyzerSpec("scss", "hypergumbo_lang_common.scss", "analyze_scss"),
41
+
42
+ # Interface definitions and schemas
43
+ AnalyzerSpec("graphql", "hypergumbo_lang_common.graphql", "analyze_graphql_files"),
44
+ AnalyzerSpec("proto", "hypergumbo_lang_common.proto", "analyze_proto"),
45
+ AnalyzerSpec("thrift", "hypergumbo_lang_common.thrift", "analyze_thrift"),
46
+
47
+ # Infrastructure and config
48
+ AnalyzerSpec("nix", "hypergumbo_lang_common.nix", "analyze_nix_files"),
49
+ AnalyzerSpec("hcl", "hypergumbo_lang_common.hcl", "analyze_hcl"),
50
+ AnalyzerSpec("puppet", "hypergumbo_lang_common.puppet", "analyze_puppet"),
51
+ AnalyzerSpec("starlark", "hypergumbo_lang_common.starlark", "analyze_starlark"),
52
+ AnalyzerSpec("meson", "hypergumbo_lang_common.meson", "analyze_meson"),
53
+
54
+ # Documentation
55
+ AnalyzerSpec("latex", "hypergumbo_lang_common.latex", "analyze_latex"),
56
+ AnalyzerSpec("rst", "hypergumbo_lang_common.rst", "analyze_rst"),
57
+
58
+ # Testing
59
+ AnalyzerSpec("robot", "hypergumbo_lang_common.robot", "analyze_robot"),
60
+
61
+ # GPU and graphics
62
+ AnalyzerSpec("cuda", "hypergumbo_lang_common.cuda", "analyze_cuda_files"),
63
+ AnalyzerSpec("glsl", "hypergumbo_lang_common.glsl", "analyze_glsl_files"),
64
+ AnalyzerSpec("hlsl", "hypergumbo_lang_common.hlsl", "analyze_hlsl"),
65
+ AnalyzerSpec("wgsl", "hypergumbo_lang_common.wgsl", "analyze_wgsl_files"),
66
+ ]
67
+
68
+ __all__ = ["ANALYZER_SPECS", "__version__"]