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.
- hypergumbo_lang_common-2.0.0/.gitignore +43 -0
- hypergumbo_lang_common-2.0.0/PKG-INFO +56 -0
- hypergumbo_lang_common-2.0.0/README.md +29 -0
- hypergumbo_lang_common-2.0.0/pyproject.toml +59 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/__init__.py +68 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/astro.py +497 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/clojure.py +575 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/commonlisp.py +550 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/cuda.py +419 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/dart.py +859 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/elixir.py +803 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/elm.py +555 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/erlang.py +640 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/fortran.py +659 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/fsharp.py +693 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/glsl.py +429 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/graphql.py +370 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/haskell.py +557 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/hcl.py +547 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/hlsl.py +381 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/julia.py +705 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/latex.py +431 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/matlab.py +341 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/meson.py +404 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/nix.py +574 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/ocaml.py +539 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/proto.py +392 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/puppet.py +493 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/purescript.py +495 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/r_lang.py +537 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/racket.py +423 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/robot.py +623 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/rst.py +447 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/scheme.py +356 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/scss.py +486 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/starlark.py +546 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/svelte.py +472 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/thrift.py +365 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/vue.py +762 -0
- hypergumbo_lang_common-2.0.0/src/hypergumbo_lang_common/wgsl.py +521 -0
- hypergumbo_lang_common-2.0.0/tests/test_astro.py +396 -0
- hypergumbo_lang_common-2.0.0/tests/test_clojure.py +434 -0
- hypergumbo_lang_common-2.0.0/tests/test_commonlisp.py +514 -0
- hypergumbo_lang_common-2.0.0/tests/test_cuda_analyzer.py +274 -0
- hypergumbo_lang_common-2.0.0/tests/test_dart.py +747 -0
- hypergumbo_lang_common-2.0.0/tests/test_elixir.py +814 -0
- hypergumbo_lang_common-2.0.0/tests/test_elm.py +404 -0
- hypergumbo_lang_common-2.0.0/tests/test_erlang.py +456 -0
- hypergumbo_lang_common-2.0.0/tests/test_fortran_analyzer.py +413 -0
- hypergumbo_lang_common-2.0.0/tests/test_fsharp.py +540 -0
- hypergumbo_lang_common-2.0.0/tests/test_glsl_analyzer.py +356 -0
- hypergumbo_lang_common-2.0.0/tests/test_graphql_analyzer.py +385 -0
- hypergumbo_lang_common-2.0.0/tests/test_haskell.py +433 -0
- hypergumbo_lang_common-2.0.0/tests/test_hcl.py +469 -0
- hypergumbo_lang_common-2.0.0/tests/test_hlsl.py +297 -0
- hypergumbo_lang_common-2.0.0/tests/test_julia.py +529 -0
- hypergumbo_lang_common-2.0.0/tests/test_latex.py +293 -0
- hypergumbo_lang_common-2.0.0/tests/test_matlab.py +256 -0
- hypergumbo_lang_common-2.0.0/tests/test_meson.py +215 -0
- hypergumbo_lang_common-2.0.0/tests/test_nix_analyzer.py +430 -0
- hypergumbo_lang_common-2.0.0/tests/test_ocaml.py +362 -0
- hypergumbo_lang_common-2.0.0/tests/test_proto.py +329 -0
- hypergumbo_lang_common-2.0.0/tests/test_puppet.py +309 -0
- hypergumbo_lang_common-2.0.0/tests/test_purescript.py +259 -0
- hypergumbo_lang_common-2.0.0/tests/test_r_analyzer.py +343 -0
- hypergumbo_lang_common-2.0.0/tests/test_racket.py +279 -0
- hypergumbo_lang_common-2.0.0/tests/test_robot.py +439 -0
- hypergumbo_lang_common-2.0.0/tests/test_rst.py +413 -0
- hypergumbo_lang_common-2.0.0/tests/test_scheme.py +258 -0
- hypergumbo_lang_common-2.0.0/tests/test_scss.py +429 -0
- hypergumbo_lang_common-2.0.0/tests/test_starlark.py +336 -0
- hypergumbo_lang_common-2.0.0/tests/test_svelte.py +414 -0
- hypergumbo_lang_common-2.0.0/tests/test_thrift.py +264 -0
- hypergumbo_lang_common-2.0.0/tests/test_vue.py +571 -0
- 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__"]
|