hypergumbo-core 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_core-2.0.0/.gitignore +43 -0
- hypergumbo_core-2.0.0/PKG-INFO +64 -0
- hypergumbo_core-2.0.0/README.md +35 -0
- hypergumbo_core-2.0.0/pyproject.toml +101 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/__init__.py +23 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/__main__.py +4 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/_embedding_data.py +39 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/analyze/__init__.py +1 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/analyze/all_analyzers.py +230 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/analyze/base.py +279 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/analyze/registry.py +182 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/build_grammars.py +312 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/catalog.py +619 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/cli.py +3336 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/compact.py +1235 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/datamodels.py +381 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/discovery.py +130 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/entrypoints.py +571 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/framework_patterns.py +1221 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/adonisjs.yaml +114 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/aiohttp.yaml +72 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/akka-http.yaml +97 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/android.yaml +43 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/aspnet.yaml +99 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/bottle.yaml +46 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cakephp.yaml +112 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/celery.yaml +73 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cli-go.yaml +70 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cli-js.yaml +89 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cli-ruby.yaml +86 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cli-rust.yaml +53 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/cli.yaml +92 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/codeigniter.yaml +182 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/config-conventions.yaml +144 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/django.yaml +126 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/electron.yaml +92 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/express.yaml +129 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/falcon.yaml +66 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/fastapi.yaml +67 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/fastify.yaml +76 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/feathers.yaml +133 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/flask-appbuilder.yaml +73 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/flask.yaml +88 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/fuelphp.yaml +121 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/go-web.yaml +102 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/grape.yaml +77 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/graphql-python.yaml +105 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/graphql-ruby.yaml +83 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/graphql.yaml +104 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/hanami.yaml +122 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/hapi.yaml +86 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/http4k.yaml +127 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/http4s.yaml +150 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/javalin.yaml +178 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/jax-rs.yaml +41 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/koa.yaml +89 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/ktor.yaml +65 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/laminas.yaml +125 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/language-conventions.yaml +98 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/laravel.yaml +179 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/library-exports.yaml +48 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/litestar.yaml +60 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/lumen.yaml +180 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/main-functions.yaml +87 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/masonite.yaml +90 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/micronaut.yaml +108 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/naming-conventions.yaml +39 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/nestjs.yaml +60 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/nex.yaml +85 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/nextjs.yaml +86 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/nuxt.yaml +143 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/padrino.yaml +170 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/pedestal.yaml +145 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/phoenix.yaml +137 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/play.yaml +92 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/plug.yaml +70 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/pyramid.yaml +69 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/quarkus.yaml +165 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/quart.yaml +62 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/rails.yaml +128 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/remix.yaml +126 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/restify.yaml +197 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/ring-compojure.yaml +155 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/roda.yaml +148 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/rust-web.yaml +139 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/sanic.yaml +57 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/scalatra.yaml +170 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/scotty.yaml +169 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/servant.yaml +112 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/sinatra.yaml +58 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/slim.yaml +77 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/spring-boot.yaml +81 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/sveltekit.yaml +139 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/symfony.yaml +159 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/test-frameworks.yaml +171 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/tornado.yaml +76 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/vapor.yaml +70 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/vertx.yaml +168 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/frameworks/yii.yaml +125 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/ir.py +498 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/limits.py +188 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/__init__.py +5 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/database_query.py +484 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/dependency.py +232 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/event_sourcing.py +596 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/graphql.py +352 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/graphql_resolver.py +482 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/grpc.py +613 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/http.py +587 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/inheritance.py +187 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/ipc.py +451 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/jni.py +286 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/message_queue.py +543 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/openapi.py +450 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/phoenix_ipc.py +368 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/registry.py +710 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/route_handler.py +361 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/subprocess_cli.py +469 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/swift_objc.py +241 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/type_hierarchy.py +296 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/linkers/websocket.py +615 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/metrics.py +94 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/paths.py +238 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/profile.py +1011 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/ranking.py +755 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/schema.py +105 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/selection/__init__.py +68 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/selection/filters.py +168 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/selection/language_proportional.py +222 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/selection/token_budget.py +177 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/sketch.py +6030 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/sketch_embeddings.py +1587 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/slice.py +471 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/supply_chain.py +393 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/symbol_resolution.py +679 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/taxonomy.py +740 -0
- hypergumbo_core-2.0.0/src/hypergumbo_core/user_config.py +192 -0
- hypergumbo_core-2.0.0/tests/test_base.py +275 -0
- hypergumbo_core-2.0.0/tests/test_behavior_map_schema.py +26 -0
- hypergumbo_core-2.0.0/tests/test_build_grammars.py +374 -0
- hypergumbo_core-2.0.0/tests/test_catalog.py +315 -0
- hypergumbo_core-2.0.0/tests/test_cli_basic.py +46 -0
- hypergumbo_core-2.0.0/tests/test_cli_commands.py +2614 -0
- hypergumbo_core-2.0.0/tests/test_cli_explain.py +1750 -0
- hypergumbo_core-2.0.0/tests/test_cli_routes.py +493 -0
- hypergumbo_core-2.0.0/tests/test_cli_run_behavior_map.py +214 -0
- hypergumbo_core-2.0.0/tests/test_cli_search.py +394 -0
- hypergumbo_core-2.0.0/tests/test_cli_symbols.py +792 -0
- hypergumbo_core-2.0.0/tests/test_cli_test_coverage.py +957 -0
- hypergumbo_core-2.0.0/tests/test_compact.py +1954 -0
- hypergumbo_core-2.0.0/tests/test_database_query_linker.py +616 -0
- hypergumbo_core-2.0.0/tests/test_datamodels.py +456 -0
- hypergumbo_core-2.0.0/tests/test_dependency_linker.py +601 -0
- hypergumbo_core-2.0.0/tests/test_discovery.py +164 -0
- hypergumbo_core-2.0.0/tests/test_entrypoints.py +1889 -0
- hypergumbo_core-2.0.0/tests/test_event_sourcing_linker.py +653 -0
- hypergumbo_core-2.0.0/tests/test_fastapi_patterns.py +277 -0
- hypergumbo_core-2.0.0/tests/test_file_excludes.py +188 -0
- hypergumbo_core-2.0.0/tests/test_framework_patterns.py +13508 -0
- hypergumbo_core-2.0.0/tests/test_frameworks_flag.py +193 -0
- hypergumbo_core-2.0.0/tests/test_graphql_linker.py +265 -0
- hypergumbo_core-2.0.0/tests/test_graphql_resolver_linker.py +454 -0
- hypergumbo_core-2.0.0/tests/test_grpc_linker.py +732 -0
- hypergumbo_core-2.0.0/tests/test_http_linker.py +872 -0
- hypergumbo_core-2.0.0/tests/test_inheritance_linker.py +264 -0
- hypergumbo_core-2.0.0/tests/test_ipc_linker.py +684 -0
- hypergumbo_core-2.0.0/tests/test_ir.py +731 -0
- hypergumbo_core-2.0.0/tests/test_limits.py +133 -0
- hypergumbo_core-2.0.0/tests/test_linker_activation.py +188 -0
- hypergumbo_core-2.0.0/tests/test_linker_filtering.py +293 -0
- hypergumbo_core-2.0.0/tests/test_linker_registry.py +898 -0
- hypergumbo_core-2.0.0/tests/test_main_module.py +22 -0
- hypergumbo_core-2.0.0/tests/test_max_tier.py +262 -0
- hypergumbo_core-2.0.0/tests/test_message_queue_linker.py +699 -0
- hypergumbo_core-2.0.0/tests/test_metrics.py +146 -0
- hypergumbo_core-2.0.0/tests/test_no_first_party_priority.py +88 -0
- hypergumbo_core-2.0.0/tests/test_openapi_linker.py +643 -0
- hypergumbo_core-2.0.0/tests/test_paths.py +277 -0
- hypergumbo_core-2.0.0/tests/test_phoenix_ipc_linker.py +466 -0
- hypergumbo_core-2.0.0/tests/test_profile.py +1491 -0
- hypergumbo_core-2.0.0/tests/test_ranking.py +1230 -0
- hypergumbo_core-2.0.0/tests/test_route_handler_linker.py +713 -0
- hypergumbo_core-2.0.0/tests/test_run_behavior_map.py +315 -0
- hypergumbo_core-2.0.0/tests/test_schema.py +325 -0
- hypergumbo_core-2.0.0/tests/test_schema_compliance.py +121 -0
- hypergumbo_core-2.0.0/tests/test_selection_filters.py +187 -0
- hypergumbo_core-2.0.0/tests/test_selection_language_proportional.py +231 -0
- hypergumbo_core-2.0.0/tests/test_selection_token_budget.py +155 -0
- hypergumbo_core-2.0.0/tests/test_sketch.py +7388 -0
- hypergumbo_core-2.0.0/tests/test_sketch_sanity.py +669 -0
- hypergumbo_core-2.0.0/tests/test_slice.py +1125 -0
- hypergumbo_core-2.0.0/tests/test_slice_tier_filter.py +181 -0
- hypergumbo_core-2.0.0/tests/test_stable_shape_ids.py +308 -0
- hypergumbo_core-2.0.0/tests/test_subprocess_linker.py +499 -0
- hypergumbo_core-2.0.0/tests/test_supply_chain.py +781 -0
- hypergumbo_core-2.0.0/tests/test_symbol_resolution.py +666 -0
- hypergumbo_core-2.0.0/tests/test_taxonomy.py +413 -0
- hypergumbo_core-2.0.0/tests/test_type_hierarchy_linker.py +740 -0
- hypergumbo_core-2.0.0/tests/test_user_config.py +251 -0
- hypergumbo_core-2.0.0/tests/test_websocket.py +1139 -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,64 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hypergumbo-core
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Core infrastructure for hypergumbo repo behavior map generator
|
|
5
|
+
Author: Hypergumbo contributors
|
|
6
|
+
License: AGPL-3.0-or-later
|
|
7
|
+
Keywords: cli,code-graph,local-first,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: pyyaml>=6.0
|
|
14
|
+
Requires-Dist: rich>=13.0
|
|
15
|
+
Requires-Dist: tree-sitter>=0.21
|
|
16
|
+
Provides-Extra: dev
|
|
17
|
+
Requires-Dist: bandit>=1.8; extra == 'dev'
|
|
18
|
+
Requires-Dist: check-jsonschema>=0.29; extra == 'dev'
|
|
19
|
+
Requires-Dist: jsonschema>=4.18; extra == 'dev'
|
|
20
|
+
Requires-Dist: pip-audit>=2.7; extra == 'dev'
|
|
21
|
+
Requires-Dist: pytest-cov>=5; extra == 'dev'
|
|
22
|
+
Requires-Dist: pytest-xdist>=3; extra == 'dev'
|
|
23
|
+
Requires-Dist: pytest>=8; extra == 'dev'
|
|
24
|
+
Requires-Dist: ruff>=0.8; extra == 'dev'
|
|
25
|
+
Requires-Dist: yamllint>=1.35; extra == 'dev'
|
|
26
|
+
Provides-Extra: embeddings
|
|
27
|
+
Requires-Dist: sentence-transformers>=2.2; extra == 'embeddings'
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
# hypergumbo-core
|
|
31
|
+
|
|
32
|
+
Core infrastructure for hypergumbo repo behavior map generator.
|
|
33
|
+
|
|
34
|
+
## What's Included
|
|
35
|
+
|
|
36
|
+
- **CLI**: Command-line interface (`hypergumbo run`, `hypergumbo sketch`, etc.)
|
|
37
|
+
- **IR**: Data structures (Symbol, Edge, Span, AnalysisRun)
|
|
38
|
+
- **Analysis Framework**: Base classes and registry for language analyzers
|
|
39
|
+
- **Linkers**: Cross-language relationship detection (gRPC, HTTP, IPC, etc.)
|
|
40
|
+
- **Framework Patterns**: Route and handler detection for 150+ frameworks
|
|
41
|
+
- **Slice**: Forward and reverse dependency analysis
|
|
42
|
+
- **Sketch**: Token-budgeted codebase overview generation
|
|
43
|
+
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Core only (no language analyzers)
|
|
48
|
+
pip install hypergumbo-core
|
|
49
|
+
|
|
50
|
+
# Full installation (recommended)
|
|
51
|
+
pip install hypergumbo
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from hypergumbo_core.ir import Symbol, Edge, Span
|
|
58
|
+
from hypergumbo_core.sketch import generate_sketch
|
|
59
|
+
from hypergumbo_core.slice import forward_slice, reverse_slice
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Documentation
|
|
63
|
+
|
|
64
|
+
See https://codeberg.org/iterabloom/hypergumbo for full documentation.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# hypergumbo-core
|
|
2
|
+
|
|
3
|
+
Core infrastructure for hypergumbo repo behavior map generator.
|
|
4
|
+
|
|
5
|
+
## What's Included
|
|
6
|
+
|
|
7
|
+
- **CLI**: Command-line interface (`hypergumbo run`, `hypergumbo sketch`, etc.)
|
|
8
|
+
- **IR**: Data structures (Symbol, Edge, Span, AnalysisRun)
|
|
9
|
+
- **Analysis Framework**: Base classes and registry for language analyzers
|
|
10
|
+
- **Linkers**: Cross-language relationship detection (gRPC, HTTP, IPC, etc.)
|
|
11
|
+
- **Framework Patterns**: Route and handler detection for 150+ frameworks
|
|
12
|
+
- **Slice**: Forward and reverse dependency analysis
|
|
13
|
+
- **Sketch**: Token-budgeted codebase overview generation
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Core only (no language analyzers)
|
|
19
|
+
pip install hypergumbo-core
|
|
20
|
+
|
|
21
|
+
# Full installation (recommended)
|
|
22
|
+
pip install hypergumbo
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```python
|
|
28
|
+
from hypergumbo_core.ir import Symbol, Edge, Span
|
|
29
|
+
from hypergumbo_core.sketch import generate_sketch
|
|
30
|
+
from hypergumbo_core.slice import forward_slice, reverse_slice
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Documentation
|
|
34
|
+
|
|
35
|
+
See https://codeberg.org/iterabloom/hypergumbo for full documentation.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling>=1.24"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "hypergumbo-core"
|
|
7
|
+
version = "2.0.0"
|
|
8
|
+
description = "Core infrastructure for hypergumbo repo behavior map generator"
|
|
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", "cli", "local-first"]
|
|
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
|
+
# Core tree-sitter for parsing
|
|
22
|
+
"tree-sitter>=0.21",
|
|
23
|
+
# CLI formatting
|
|
24
|
+
"rich>=13.0",
|
|
25
|
+
# YAML parsing for framework patterns
|
|
26
|
+
"pyyaml>=6.0",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
[project.optional-dependencies]
|
|
30
|
+
dev = [
|
|
31
|
+
"pytest>=8",
|
|
32
|
+
"pytest-cov>=5",
|
|
33
|
+
"pytest-xdist>=3",
|
|
34
|
+
"ruff>=0.8",
|
|
35
|
+
"bandit>=1.8",
|
|
36
|
+
"pip-audit>=2.7",
|
|
37
|
+
"jsonschema>=4.18",
|
|
38
|
+
"yamllint>=1.35",
|
|
39
|
+
"check-jsonschema>=0.29",
|
|
40
|
+
]
|
|
41
|
+
embeddings = [
|
|
42
|
+
"sentence-transformers>=2.2",
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
[project.scripts]
|
|
46
|
+
hypergumbo = "hypergumbo_core.cli:main"
|
|
47
|
+
|
|
48
|
+
[project.entry-points."hypergumbo.analyzers"]
|
|
49
|
+
# Core analyzers are registered here (none for core package)
|
|
50
|
+
# Language packages will add their own entry points
|
|
51
|
+
|
|
52
|
+
[tool.hatch.build.targets.wheel]
|
|
53
|
+
packages = ["src/hypergumbo_core"]
|
|
54
|
+
|
|
55
|
+
[tool.pytest.ini_options]
|
|
56
|
+
filterwarnings = [
|
|
57
|
+
"ignore:tree-sitter-.*not available:UserWarning",
|
|
58
|
+
"ignore:.*analysis skipped.*requires tree-sitter:UserWarning",
|
|
59
|
+
"ignore:int argument support is deprecated:DeprecationWarning",
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
[tool.coverage.run]
|
|
63
|
+
omit = [
|
|
64
|
+
"*/sketch_embeddings.py",
|
|
65
|
+
"*/_embedding_data.py",
|
|
66
|
+
"*/__main__.py",
|
|
67
|
+
]
|
|
68
|
+
|
|
69
|
+
[tool.ruff]
|
|
70
|
+
target-version = "py310"
|
|
71
|
+
line-length = 100
|
|
72
|
+
src = ["src", "tests"]
|
|
73
|
+
|
|
74
|
+
[tool.ruff.lint]
|
|
75
|
+
select = [
|
|
76
|
+
"E",
|
|
77
|
+
"W",
|
|
78
|
+
"F",
|
|
79
|
+
"B",
|
|
80
|
+
"C4",
|
|
81
|
+
"S",
|
|
82
|
+
"RUF",
|
|
83
|
+
]
|
|
84
|
+
ignore = [
|
|
85
|
+
"E501",
|
|
86
|
+
"S101",
|
|
87
|
+
"S105",
|
|
88
|
+
"S106",
|
|
89
|
+
"S110",
|
|
90
|
+
"RUF059",
|
|
91
|
+
"RUF005",
|
|
92
|
+
"B028",
|
|
93
|
+
]
|
|
94
|
+
|
|
95
|
+
[tool.ruff.lint.per-file-ignores]
|
|
96
|
+
"tests/**/*.py" = ["S101", "S105", "S106", "S603", "S108", "E741", "F401", "F841", "RUF005"]
|
|
97
|
+
"src/hypergumbo_core/analyze/*.py" = ["E402"]
|
|
98
|
+
|
|
99
|
+
[tool.bandit]
|
|
100
|
+
exclude_dirs = ["tests", ".venv"]
|
|
101
|
+
skips = ["B101", "B105", "B110"]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Hypergumbo Core: Core infrastructure for repo behavior map generation.
|
|
2
|
+
|
|
3
|
+
This package provides the core infrastructure for static analysis, including:
|
|
4
|
+
- IR (Symbol, Edge, Span) data structures
|
|
5
|
+
- Analysis framework (base classes, registry)
|
|
6
|
+
- Linkers for cross-language/cross-component relationships
|
|
7
|
+
- Framework pattern detection
|
|
8
|
+
- CLI entry point
|
|
9
|
+
|
|
10
|
+
Version Note
|
|
11
|
+
------------
|
|
12
|
+
- **__version__**: The tool/package version. This version tracks CLI features,
|
|
13
|
+
analyzer additions, and bug fixes. Updated with each release.
|
|
14
|
+
|
|
15
|
+
- **SCHEMA_VERSION** (in schema.py): The output format version. This version
|
|
16
|
+
tracks breaking changes to the JSON output schema. Consumers should check
|
|
17
|
+
schema_version in output to ensure compatibility.
|
|
18
|
+
|
|
19
|
+
These versions are independent. The schema version only changes when the output
|
|
20
|
+
format has breaking changes, while the tool version changes with any release.
|
|
21
|
+
"""
|
|
22
|
+
__all__ = ["__version__"]
|
|
23
|
+
__version__ = "2.0.0"
|