-
-
Notifications
You must be signed in to change notification settings - Fork 6
By The Numbers
Tomas Pflanzer edited this page Feb 27, 2026
·
1 revision
Comprehensive statistics for the Sandcastle project as of v0.17.0.
| Metric | Count |
|---|---|
| Total lines of code | ~89,000 |
| Python backend | 31,250 lines |
| TypeScript dashboard | 29,657 lines |
| JavaScript (connectors + runners) | 6,859 lines |
| Test code | 21,079 lines |
| Type | Count |
|---|---|
| Python source files | 46 |
| TypeScript/TSX files | 117 |
| JavaScript connector files | 58 |
| Test files | 57 |
| YAML template files | 118 (built-in) |
| Total source files | 396 |
| File | Lines | Purpose |
|---|---|---|
routes.py |
5,698 | API endpoints |
executor.py |
4,754 | Workflow execution engine |
registry.py |
3,168 | Tool registry |
__main__.py |
3,046 | CLI commands |
pdf.py |
1,257 | PDF report generation |
sdk.py |
1,226 | Python SDK |
dag.py |
1,211 | DAG builder |
backends.py |
813 | Sandbox backends |
schemas.py |
789 | API schemas |
memory.py |
727 | Agent memory |
generator.py |
718 | Workflow generator |
sandshore.py |
701 | Sandbox runtime |
| Metric | Count |
|---|---|
| Test functions | 1,463 |
| Test files | 57 |
| Test LOC | 21,079 |
| Test areas | 40+ distinct systems |
- Core API, authentication, authorization
- All 15 step types
- All 4 sandbox backends
- DAG building and validation
- Workflow executor (4 dedicated test files)
- Agent memory (3 test files)
- Tools system (6 test files)
- Security: crypto, key rotation, IP allowlists, seccomp, rate limiting, security headers
- Protocols: A2A, AG-UI, MCP
- License system, policy engine, cost optimizer
- SDK, CLI, webhook dispatcher
- Performance benchmarks, tenant isolation
| Feature | Count |
|---|---|
| Step types | 15 |
| Connectors | 56 (9 categories) |
| Built-in templates | 118 |
| Community templates | 118 (22 authors) |
| Total workflow templates | 236 |
| Community collections | 18 |
| API endpoints | 84 |
| Dashboard pages | 20 |
| CLI commands | 27 (top-level) |
| Sandbox backends | 4 |
| Model providers | 7 models / 4 providers |
| Protocols | 3 (A2A, AG-UI, MCP) |
| Category | Count |
|---|---|
| General | 10 |
| Data | 9 |
| Communication | 9 |
| AI | 8 |
| Project Management | 5 |
| ERP | 5 |
| DevOps | 4 |
| CRM | 3 |
| Payments | 2 |
| Method | Count |
|---|---|
| GET | 44 |
| POST | 27 |
| DELETE | 8 |
| PUT | 3 |
| PATCH | 2 |
| Total | 84 |
| Category | Count |
|---|---|
| Marketing | 26 |
| Engineering | 22 |
| Sales | 22 |
| Operations | 20 |
| HR/Legal | 16 |
| General | 12 |
| Total | 118 |
| Metric | Count |
|---|---|
| Community templates | 118 |
| Unique authors | 22 |
| Curated collections | 18 |
| General AI templates | 29 |
| Marketing templates | 25 |
| Engineering templates | 24 |
| Sales/CRM templates | 17 |
| HR/Legal templates | 13 |
| Support templates | 10 |
| Feature | Implementation |
|---|---|
| Credential encryption | Fernet (AES-128-CBC + HMAC-SHA256) |
| API key hashing | HMAC-SHA256 with pepper |
| Key rotation | Grace period (configurable hours) |
| Key expiry | Per-key with auto-401 |
| IP allowlisting | Per-key, IPv4 + IPv6, CIDR |
| Rate limiting | Sliding window, Redis or in-memory |
| Security headers | CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy |
| Docker isolation | seccomp profile, CapDrop ALL, PidsLimit, CPU quota |
| License verification | Ed25519 offline signature |
| SSRF prevention | URL validation on HTTP steps |
| Path traversal protection | Runner file validation |
| Version | Milestone |
|---|---|
| 0.1.0 | Initial release - basic executor, 7 step types |
| 0.5.0 | Dashboard, template gallery, visual builder |
| 0.8.0 | Phase 2 step types (race, sensor, gate) |
| 0.10.0 | 53 connectors, community hub |
| 0.12.0 | Agent memory v2, policy engine |
| 0.14.0 | Security hardening (crypto, seccomp, rate limiting) |
| 0.15.0 | A2A + AG-UI protocols, MCP server |
| 0.16.0 | Phase 3 step types (transform, notify, delegate) |
| 0.17.0 | License system, 56 connectors, 118 templates |
~89,000 lines of code, 1,463 tests, 236 templates, 56 connectors, 84 API endpoints, 20 dashboard pages, 27 CLI commands, 15 step types, 4 sandbox backends, 3 protocol standards - all from a single pip install.
Sandcastle v0.17.0 | BSL-1.1 License | Created by Tomas Pflanzer @gizmax