blasttrace 1.0.2__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.

Potentially problematic release.


This version of blasttrace might be problematic. Click here for more details.

Files changed (45) hide show
  1. blasttrace-1.0.2/CMakeLists.txt +31 -0
  2. blasttrace-1.0.2/MANIFEST.in +4 -0
  3. blasttrace-1.0.2/PKG-INFO +125 -0
  4. blasttrace-1.0.2/README.md +104 -0
  5. blasttrace-1.0.2/blasttrace/__init__.py +7 -0
  6. blasttrace-1.0.2/blasttrace/classifier.c +27135 -0
  7. blasttrace-1.0.2/blasttrace/classifier.py +415 -0
  8. blasttrace-1.0.2/blasttrace/license.c +20385 -0
  9. blasttrace-1.0.2/blasttrace/license.py +293 -0
  10. blasttrace-1.0.2/blasttrace/parsers/__init__.py +4 -0
  11. blasttrace-1.0.2/blasttrace/parsers/api_route_parser.c +17395 -0
  12. blasttrace-1.0.2/blasttrace/parsers/api_route_parser.py +318 -0
  13. blasttrace-1.0.2/blasttrace/parsers/contract_linker.c +24472 -0
  14. blasttrace-1.0.2/blasttrace/parsers/contract_linker.py +490 -0
  15. blasttrace-1.0.2/blasttrace/parsers/python_ast_parser.c +18001 -0
  16. blasttrace-1.0.2/blasttrace/parsers/python_ast_parser.py +340 -0
  17. blasttrace-1.0.2/blasttrace/parsers/sql_schema_parser.c +17241 -0
  18. blasttrace-1.0.2/blasttrace/parsers/sql_schema_parser.py +376 -0
  19. blasttrace-1.0.2/blasttrace/parsers/test_mapper.c +16395 -0
  20. blasttrace-1.0.2/blasttrace/parsers/test_mapper.py +182 -0
  21. blasttrace-1.0.2/blasttrace/parsers/ts_react_parser.c +16009 -0
  22. blasttrace-1.0.2/blasttrace/parsers/ts_react_parser.py +299 -0
  23. blasttrace-1.0.2/blasttrace/remediation.c +13383 -0
  24. blasttrace-1.0.2/blasttrace/remediation.py +220 -0
  25. blasttrace-1.0.2/blasttrace/server.py +824 -0
  26. blasttrace-1.0.2/blasttrace/visualizer.c +15971 -0
  27. blasttrace-1.0.2/blasttrace/visualizer.py +165 -0
  28. blasttrace-1.0.2/blasttrace.egg-info/PKG-INFO +125 -0
  29. blasttrace-1.0.2/blasttrace.egg-info/SOURCES.txt +43 -0
  30. blasttrace-1.0.2/blasttrace.egg-info/dependency_links.txt +1 -0
  31. blasttrace-1.0.2/blasttrace.egg-info/entry_points.txt +3 -0
  32. blasttrace-1.0.2/blasttrace.egg-info/not-zip-safe +1 -0
  33. blasttrace-1.0.2/blasttrace.egg-info/requires.txt +2 -0
  34. blasttrace-1.0.2/blasttrace.egg-info/top_level.txt +1 -0
  35. blasttrace-1.0.2/cpp/blast_core.cpp +323 -0
  36. blasttrace-1.0.2/pyproject.toml +32 -0
  37. blasttrace-1.0.2/setup.cfg +4 -0
  38. blasttrace-1.0.2/setup.py +135 -0
  39. blasttrace-1.0.2/tests/test_chaos_fuzzing.py +162 -0
  40. blasttrace-1.0.2/tests/test_concurrency_stress.py +109 -0
  41. blasttrace-1.0.2/tests/test_fullstack_blast_radius.py +220 -0
  42. blasttrace-1.0.2/tests/test_git_precommit_live.py +107 -0
  43. blasttrace-1.0.2/tests/test_memory_endurance.py +115 -0
  44. blasttrace-1.0.2/tests/test_rea_security.py +164 -0
  45. blasttrace-1.0.2/tests/test_realworld_production.py +156 -0
@@ -0,0 +1,31 @@
1
+ cmake_minimum_required(VERSION 3.15)
2
+ project(blasttrace_cpp_core LANGUAGES CXX)
3
+
4
+ set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
+ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
7
+ set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
8
+
9
+ # Find Python interpreter and development modules
10
+ find_package(Python 3.10 REQUIRED COMPONENTS Interpreter Development.Module)
11
+
12
+ # Locate pybind11 cmake config
13
+ execute_process(
14
+ COMMAND ${Python_EXECUTABLE} -m pybind11 --cmakedir
15
+ OUTPUT_VARIABLE pybind11_DIR
16
+ OUTPUT_STRIP_TRAILING_WHITESPACE
17
+ )
18
+
19
+ find_package(pybind11 REQUIRED)
20
+
21
+ # Compile C++ native module with symbol stripping and RTTI/symbol hiding
22
+ pybind11_add_module(blasttrace_cpp_core cpp/blast_core.cpp)
23
+
24
+ if(UNIX AND NOT APPLE)
25
+ target_compile_options(blasttrace_cpp_core PRIVATE -O3 -fvisibility=hidden -fvisibility-inlines-hidden -g0)
26
+ target_link_options(blasttrace_cpp_core PRIVATE -Wl,-s -Wl,--exclude-libs,ALL)
27
+ endif()
28
+
29
+ if(MSVC)
30
+ target_compile_options(blasttrace_cpp_core PRIVATE /O2 /Gy /MD)
31
+ endif()
@@ -0,0 +1,4 @@
1
+ include CMakeLists.txt
2
+ include README.md
3
+ recursive-include cpp *.cpp *.h *.hpp
4
+ recursive-include blasttrace *.py
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.4
2
+ Name: blasttrace
3
+ Version: 1.0.2
4
+ Summary: Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine
5
+ Home-page: https://blasttrace.dev
6
+ Author: Moin Hasan
7
+ Author-email: Moin Hasan <moin_hasan@live.com>
8
+ License: Proprietary
9
+ Project-URL: Homepage, https://blasttrace.dev
10
+ Project-URL: Documentation, https://blasttrace.dev
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Topic :: Software Development :: Testing
15
+ Classifier: Topic :: Software Development :: Quality Assurance
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: fastmcp>=0.1.0
18
+ Requires-Dist: requests>=2.28.0
19
+ Dynamic: author
20
+ Dynamic: home-page
21
+
22
+ # BlastTrace
23
+
24
+ > **Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine**
25
+ > `Database` $\leftrightarrow$ `Backend ORM` $\leftrightarrow$ `API Route` $\leftrightarrow$ `Frontend UI` $\leftrightarrow$ `Tests`
26
+
27
+ [![PyPI Version](https://img.shields.io/badge/pypi-v1.0.0-orange.svg)](https://pypi.org/project/blasttrace/)
28
+ [![Engine](https://img.shields.io/badge/engine-BlastTrace%20Native%20Core-blue.svg)](https://blasttrace.dev)
29
+ [![License](https://img.shields.io/badge/license-Commercial%20%2F%20Community-green.svg)](https://blasttrace.dev)
30
+
31
+ ---
32
+
33
+ ## ⚡ What is BlastTrace?
34
+
35
+ BlastTrace is a high-performance **Model Context Protocol (MCP)** server and standalone CLI that prevents AI coding agents (and human developers) from silently breaking full-stack web applications.
36
+
37
+ Existing AST tools only trace single-language file imports (`File A -> File B`). They go **100% blind** when a schema edit crosses boundaries:
38
+ ```text
39
+ [Database Column: users.billing_balance]
40
+ ↓
41
+ [Backend ORM Model: User.billing_balance]
42
+ ↓
43
+ [API Endpoint: GET /api/v1/user/summary]
44
+ ↓
45
+ [Frontend UI Component: CheckoutModal.tsx (data.billing_balance)]
46
+ ↓
47
+ [Unit & E2E Tests: test_checkout.py, checkout.spec.ts]
48
+ ```
49
+
50
+ BlastTrace deterministically bridges this gap using the **BlastTrace Native Core**, catching breaking changes **before** the file is saved, before `git commit`, and before pull requests merge.
51
+
52
+ ---
53
+
54
+ ## 🚀 Quick Start
55
+
56
+ ### 1. Installation
57
+ ```bash
58
+ pip install blasttrace
59
+ ```
60
+ *Or run zero-install via uvx:*
61
+ ```bash
62
+ uvx blasttrace
63
+ ```
64
+
65
+ ### 2. Standalone CLI Usage (Zero AI Required)
66
+ ```bash
67
+ # Check if a proposed edit or signature change breaks downstream consumers
68
+ blasttrace check src/api/routes.py --symbol get_user_profile
69
+
70
+ # Inspect current git diff for breaking full-stack changes
71
+ blasttrace diff
72
+
73
+ # Install git pre-commit safety gate across your repo
74
+ blasttrace pre-commit --install
75
+ ```
76
+
77
+ ### 3. Connect to AI Agents & IDEs (Cursor, Claude Code, Windsurf, VS Code)
78
+ Add to your `claude_desktop_config.json` or `.cursor/mcp.json`:
79
+ ```json
80
+ {
81
+ "mcpServers": {
82
+ "blasttrace": {
83
+ "command": "blasttrace"
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ---
90
+
91
+ ## 🛡️ Supported Technology Stacks
92
+
93
+ - **Database & Schemas:** PostgreSQL, MySQL, SQLite migrations (`.sql`), Prisma (`schema.prisma`), Drizzle ORM, SQLAlchemy & Django ORM (`models.py`).
94
+ - **Backend & APIs:** Python (FastAPI, Flask, Django REST, async functions, classes), Node.js / TypeScript (Express, Next.js App Router `app/api/.../route.ts`, NestJS, OpenAPI / Swagger specs).
95
+ - **Frontend Consumers:** React, Next.js, Vue, TypeScript (`.tsx`, `.ts`) calling `fetch()`, `axios`, `useSWR()`, `useQuery()`, and property destructuring.
96
+ - **Test Discovery:** Pytest, Unittest, Jest, Vitest, Playwright, Cypress.
97
+
98
+ ---
99
+
100
+ ## 🔑 Licensing & Tiers
101
+
102
+ | Tier | Price | Features |
103
+ | :--- | :--- | :--- |
104
+ | **Community** | **$0** (Free) | Index topology, basic single-file symbol reachability, community support |
105
+ | **Pro** | **$19/mo** (or $180/yr) | Pre-Edit Breaking-Change Gate (PASS/WARN/BLOCK), full-stack contract chains, circular dependency interceptor, 2 seats |
106
+ | **Team / CI Gate** | **$99/mo** (or $990/yr) | Everything in Pro, 5 seats, git pre-commit hook enforcement, GitHub Actions / GitLab CI PR Gate integration |
107
+
108
+ Activate your Pro license:
109
+ ```bash
110
+ blasttrace activate YOUR-LICENSE-KEY
111
+ ```
112
+
113
+ ---
114
+
115
+ ## 🔒 Security & Privacy
116
+
117
+ BlastTrace runs **100% locally and air-gapped** on your machine.
118
+ - Zero telemetry.
119
+ - Zero remote code scanning.
120
+ - Zero cloud database uploads.
121
+ - Your code never leaves your workstation.
122
+
123
+ ---
124
+
125
+ © 2026 BlastTrace Inc. All rights reserved. Official website: [blasttrace.dev](https://blasttrace.dev)
@@ -0,0 +1,104 @@
1
+ # BlastTrace
2
+
3
+ > **Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine**
4
+ > `Database` $\leftrightarrow$ `Backend ORM` $\leftrightarrow$ `API Route` $\leftrightarrow$ `Frontend UI` $\leftrightarrow$ `Tests`
5
+
6
+ [![PyPI Version](https://img.shields.io/badge/pypi-v1.0.0-orange.svg)](https://pypi.org/project/blasttrace/)
7
+ [![Engine](https://img.shields.io/badge/engine-BlastTrace%20Native%20Core-blue.svg)](https://blasttrace.dev)
8
+ [![License](https://img.shields.io/badge/license-Commercial%20%2F%20Community-green.svg)](https://blasttrace.dev)
9
+
10
+ ---
11
+
12
+ ## ⚡ What is BlastTrace?
13
+
14
+ BlastTrace is a high-performance **Model Context Protocol (MCP)** server and standalone CLI that prevents AI coding agents (and human developers) from silently breaking full-stack web applications.
15
+
16
+ Existing AST tools only trace single-language file imports (`File A -> File B`). They go **100% blind** when a schema edit crosses boundaries:
17
+ ```text
18
+ [Database Column: users.billing_balance]
19
+ ↓
20
+ [Backend ORM Model: User.billing_balance]
21
+ ↓
22
+ [API Endpoint: GET /api/v1/user/summary]
23
+ ↓
24
+ [Frontend UI Component: CheckoutModal.tsx (data.billing_balance)]
25
+ ↓
26
+ [Unit & E2E Tests: test_checkout.py, checkout.spec.ts]
27
+ ```
28
+
29
+ BlastTrace deterministically bridges this gap using the **BlastTrace Native Core**, catching breaking changes **before** the file is saved, before `git commit`, and before pull requests merge.
30
+
31
+ ---
32
+
33
+ ## 🚀 Quick Start
34
+
35
+ ### 1. Installation
36
+ ```bash
37
+ pip install blasttrace
38
+ ```
39
+ *Or run zero-install via uvx:*
40
+ ```bash
41
+ uvx blasttrace
42
+ ```
43
+
44
+ ### 2. Standalone CLI Usage (Zero AI Required)
45
+ ```bash
46
+ # Check if a proposed edit or signature change breaks downstream consumers
47
+ blasttrace check src/api/routes.py --symbol get_user_profile
48
+
49
+ # Inspect current git diff for breaking full-stack changes
50
+ blasttrace diff
51
+
52
+ # Install git pre-commit safety gate across your repo
53
+ blasttrace pre-commit --install
54
+ ```
55
+
56
+ ### 3. Connect to AI Agents & IDEs (Cursor, Claude Code, Windsurf, VS Code)
57
+ Add to your `claude_desktop_config.json` or `.cursor/mcp.json`:
58
+ ```json
59
+ {
60
+ "mcpServers": {
61
+ "blasttrace": {
62
+ "command": "blasttrace"
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 🛡️ Supported Technology Stacks
71
+
72
+ - **Database & Schemas:** PostgreSQL, MySQL, SQLite migrations (`.sql`), Prisma (`schema.prisma`), Drizzle ORM, SQLAlchemy & Django ORM (`models.py`).
73
+ - **Backend & APIs:** Python (FastAPI, Flask, Django REST, async functions, classes), Node.js / TypeScript (Express, Next.js App Router `app/api/.../route.ts`, NestJS, OpenAPI / Swagger specs).
74
+ - **Frontend Consumers:** React, Next.js, Vue, TypeScript (`.tsx`, `.ts`) calling `fetch()`, `axios`, `useSWR()`, `useQuery()`, and property destructuring.
75
+ - **Test Discovery:** Pytest, Unittest, Jest, Vitest, Playwright, Cypress.
76
+
77
+ ---
78
+
79
+ ## 🔑 Licensing & Tiers
80
+
81
+ | Tier | Price | Features |
82
+ | :--- | :--- | :--- |
83
+ | **Community** | **$0** (Free) | Index topology, basic single-file symbol reachability, community support |
84
+ | **Pro** | **$19/mo** (or $180/yr) | Pre-Edit Breaking-Change Gate (PASS/WARN/BLOCK), full-stack contract chains, circular dependency interceptor, 2 seats |
85
+ | **Team / CI Gate** | **$99/mo** (or $990/yr) | Everything in Pro, 5 seats, git pre-commit hook enforcement, GitHub Actions / GitLab CI PR Gate integration |
86
+
87
+ Activate your Pro license:
88
+ ```bash
89
+ blasttrace activate YOUR-LICENSE-KEY
90
+ ```
91
+
92
+ ---
93
+
94
+ ## 🔒 Security & Privacy
95
+
96
+ BlastTrace runs **100% locally and air-gapped** on your machine.
97
+ - Zero telemetry.
98
+ - Zero remote code scanning.
99
+ - Zero cloud database uploads.
100
+ - Your code never leaves your workstation.
101
+
102
+ ---
103
+
104
+ © 2026 BlastTrace Inc. All rights reserved. Official website: [blasttrace.dev](https://blasttrace.dev)
@@ -0,0 +1,7 @@
1
+ """
2
+ BlastTrace — Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine.
3
+ """
4
+
5
+ __version__ = "1.0.2"
6
+ __engine__ = "BlastTrace Native Core"
7
+