mmt-mcp 1.46.2-pre → 1.46.3-pre

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 (112) hide show
  1. package/dist/examples/README.md +6 -0
  2. package/dist/examples/examples-index.json +581 -0
  3. package/dist/examples/real-projects/README.md +18 -0
  4. package/dist/examples/real-projects/open-meteo-mmt/README.md +79 -0
  5. package/dist/examples/real-projects/open-meteo-mmt/multimeter/README.md +89 -0
  6. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/air_quality.mmt +23 -0
  7. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/archive.mmt +25 -0
  8. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/climate.mmt +22 -0
  9. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/elevation.mmt +14 -0
  10. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/ensemble.mmt +20 -0
  11. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/flood.mmt +18 -0
  12. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/forecast_current.mmt +19 -0
  13. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/forecast_hourly_daily.mmt +23 -0
  14. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/geocode_get.mmt +16 -0
  15. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/geocode_search.mmt +18 -0
  16. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/historical_forecast.mmt +21 -0
  17. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/marine.mmt +20 -0
  18. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_bom.mmt +21 -0
  19. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_cma.mmt +21 -0
  20. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_dwd_icon.mmt +21 -0
  21. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_ecmwf.mmt +21 -0
  22. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_gem.mmt +21 -0
  23. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_gfs.mmt +21 -0
  24. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_jma.mmt +21 -0
  25. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_meteofrance.mmt +21 -0
  26. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/model_metno.mmt +21 -0
  27. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/previous_runs.mmt +21 -0
  28. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/satellite_radiation.mmt +21 -0
  29. package/dist/examples/real-projects/open-meteo-mmt/multimeter/api/seasonal.mmt +16 -0
  30. package/dist/examples/real-projects/open-meteo-mmt/multimeter/multimeter.mmt +51 -0
  31. package/dist/examples/real-projects/open-meteo-mmt/multimeter/suite.mmt +16 -0
  32. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/air_quality/suite.mmt +7 -0
  33. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/air_quality/test_berlin.mmt +19 -0
  34. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/air_quality/test_paris_3day.mmt +18 -0
  35. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/air_quality/test_tokyo.mmt +17 -0
  36. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/climate/suite.mmt +7 -0
  37. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/climate/test_berlin_2050.mmt +20 -0
  38. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/climate/test_sydney_2050_short.mmt +19 -0
  39. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/climate/test_tokyo_2050.mmt +20 -0
  40. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/elevation/suite.mmt +7 -0
  41. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/elevation/test_berlin.mmt +17 -0
  42. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/elevation/test_everest_approx.mmt +16 -0
  43. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/elevation/test_tokyo.mmt +16 -0
  44. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/ensemble/suite.mmt +7 -0
  45. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/ensemble/test_berlin_1day.mmt +18 -0
  46. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/ensemble/test_berlin_2day.mmt +18 -0
  47. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/ensemble/test_paris_1day.mmt +18 -0
  48. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/flood/suite.mmt +7 -0
  49. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/flood/test_berlin_1day.mmt +16 -0
  50. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/flood/test_berlin_3day.mmt +16 -0
  51. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/flood/test_paris.mmt +16 -0
  52. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/suite.mmt +10 -0
  53. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_berlin.mmt +21 -0
  54. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_sydney.mmt +19 -0
  55. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_tokyo.mmt +19 -0
  56. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_1day.mmt +26 -0
  57. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_3day.mmt +24 -0
  58. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_paris.mmt +19 -0
  59. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/suite.mmt +10 -0
  60. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_city_forecast_berlin.mmt +28 -0
  61. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_city_forecast_paris.mmt +27 -0
  62. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_get_berlin.mmt +18 -0
  63. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_berlin.mmt +20 -0
  64. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_paris.mmt +19 -0
  65. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_tokyo_count3.mmt +19 -0
  66. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/suite.mmt +10 -0
  67. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_archive_jan2024_tokyo.mmt +21 -0
  68. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_archive_june2024.mmt +27 -0
  69. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_historical_forecast_june.mmt +19 -0
  70. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_historical_forecast_paris.mmt +19 -0
  71. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_previous_runs_june.mmt +19 -0
  72. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/historical/test_previous_runs_sydney.mmt +17 -0
  73. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/marine/suite.mmt +7 -0
  74. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/marine/test_baltic_1day.mmt +19 -0
  75. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/marine/test_baltic_3day.mmt +19 -0
  76. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/marine/test_north_sea.mmt +19 -0
  77. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/suite.mmt +30 -0
  78. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_bom_sydney_1day.mmt +22 -0
  79. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_bom_sydney_3day.mmt +22 -0
  80. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_cma_beijing_1day.mmt +22 -0
  81. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_cma_beijing_3day.mmt +22 -0
  82. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_dwd_icon_berlin_1day.mmt +22 -0
  83. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_dwd_icon_paris_3day.mmt +22 -0
  84. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_ecmwf_berlin_1day.mmt +22 -0
  85. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_ecmwf_sydney_3day.mmt +22 -0
  86. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_gem_montreal_1day.mmt +22 -0
  87. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_gem_montreal_3day.mmt +22 -0
  88. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_gfs_berlin_1day.mmt +22 -0
  89. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_gfs_tokyo_3day.mmt +22 -0
  90. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_jma_tokyo_1day.mmt +22 -0
  91. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_jma_tokyo_3day.mmt +22 -0
  92. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_meteofrance_berlin_1day.mmt +22 -0
  93. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_meteofrance_paris_3day.mmt +22 -0
  94. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_metno_oslo_1day.mmt +22 -0
  95. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/models/test_metno_oslo_3day.mmt +22 -0
  96. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/satellite/suite.mmt +6 -0
  97. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/satellite/test_berlin_june.mmt +17 -0
  98. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/satellite/test_paris_june.mmt +17 -0
  99. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/seasonal/suite.mmt +7 -0
  100. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/seasonal/test_berlin.mmt +17 -0
  101. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/seasonal/test_sydney.mmt +17 -0
  102. package/dist/examples/real-projects/open-meteo-mmt/multimeter/test/seasonal/test_tokyo.mmt +17 -0
  103. package/dist/guides/general.md +2 -0
  104. package/dist/guides/generate-env.md +110 -30
  105. package/dist/guides/generate-test.md +28 -3
  106. package/dist/guides/generate.md +2 -0
  107. package/dist/guides/min/env.md +10 -5
  108. package/dist/guides/min/test.md +2 -1
  109. package/dist/guides/project-layout.md +61 -0
  110. package/dist/server.cjs +1241 -431
  111. package/dist/server.js +1241 -431
  112. package/package.json +1 -1
@@ -2,6 +2,12 @@
2
2
 
3
3
  The examples are grouped by complexity so new users can start simple and add power only when they need it.
4
4
 
5
+ ## Real projects
6
+
7
+ Suites against well-known **public** APIs (no Multimeter echo server). See [`real-projects/`](./real-projects/).
8
+
9
+ - `real-projects/open-meteo-mmt` — Open-Meteo public APIs ([`multimeter/`](./real-projects/open-meteo-mmt/multimeter/); optional Postman compare beside it)
10
+
5
11
  ## Basic
6
12
 
7
13
  - `basic/01_simple_api` - run one simple GET API and simple POST APIs.
@@ -2348,5 +2348,586 @@
2348
2348
  "type": "test",
2349
2349
  "category": "professional",
2350
2350
  "title": "Random token resolution (XML body)"
2351
+ },
2352
+ {
2353
+ "path": "real-projects/open-meteo-mmt/multimeter/api/air_quality.mmt",
2354
+ "type": "api",
2355
+ "category": "real-projects",
2356
+ "title": "Air quality"
2357
+ },
2358
+ {
2359
+ "path": "real-projects/open-meteo-mmt/multimeter/api/archive.mmt",
2360
+ "type": "api",
2361
+ "category": "real-projects",
2362
+ "title": "Historical weather archive"
2363
+ },
2364
+ {
2365
+ "path": "real-projects/open-meteo-mmt/multimeter/api/climate.mmt",
2366
+ "type": "api",
2367
+ "category": "real-projects",
2368
+ "title": "Climate projection"
2369
+ },
2370
+ {
2371
+ "path": "real-projects/open-meteo-mmt/multimeter/api/elevation.mmt",
2372
+ "type": "api",
2373
+ "category": "real-projects",
2374
+ "title": "Elevation"
2375
+ },
2376
+ {
2377
+ "path": "real-projects/open-meteo-mmt/multimeter/api/ensemble.mmt",
2378
+ "type": "api",
2379
+ "category": "real-projects",
2380
+ "title": "Ensemble forecast"
2381
+ },
2382
+ {
2383
+ "path": "real-projects/open-meteo-mmt/multimeter/api/flood.mmt",
2384
+ "type": "api",
2385
+ "category": "real-projects",
2386
+ "title": "Flood / river discharge"
2387
+ },
2388
+ {
2389
+ "path": "real-projects/open-meteo-mmt/multimeter/api/forecast_current.mmt",
2390
+ "type": "api",
2391
+ "category": "real-projects",
2392
+ "title": "Forecast current"
2393
+ },
2394
+ {
2395
+ "path": "real-projects/open-meteo-mmt/multimeter/api/forecast_hourly_daily.mmt",
2396
+ "type": "api",
2397
+ "category": "real-projects",
2398
+ "title": "Forecast hourly and daily"
2399
+ },
2400
+ {
2401
+ "path": "real-projects/open-meteo-mmt/multimeter/api/geocode_get.mmt",
2402
+ "type": "api",
2403
+ "category": "real-projects",
2404
+ "title": "Geocode get by id"
2405
+ },
2406
+ {
2407
+ "path": "real-projects/open-meteo-mmt/multimeter/api/geocode_search.mmt",
2408
+ "type": "api",
2409
+ "category": "real-projects",
2410
+ "title": "Geocode search"
2411
+ },
2412
+ {
2413
+ "path": "real-projects/open-meteo-mmt/multimeter/api/historical_forecast.mmt",
2414
+ "type": "api",
2415
+ "category": "real-projects",
2416
+ "title": "Historical forecast"
2417
+ },
2418
+ {
2419
+ "path": "real-projects/open-meteo-mmt/multimeter/api/marine.mmt",
2420
+ "type": "api",
2421
+ "category": "real-projects",
2422
+ "title": "Marine weather"
2423
+ },
2424
+ {
2425
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_bom.mmt",
2426
+ "type": "api",
2427
+ "category": "real-projects",
2428
+ "title": "BOM model forecast"
2429
+ },
2430
+ {
2431
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_cma.mmt",
2432
+ "type": "api",
2433
+ "category": "real-projects",
2434
+ "title": "CMA model forecast"
2435
+ },
2436
+ {
2437
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_dwd_icon.mmt",
2438
+ "type": "api",
2439
+ "category": "real-projects",
2440
+ "title": "DWD_ICON model forecast"
2441
+ },
2442
+ {
2443
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_ecmwf.mmt",
2444
+ "type": "api",
2445
+ "category": "real-projects",
2446
+ "title": "ECMWF model forecast"
2447
+ },
2448
+ {
2449
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_gem.mmt",
2450
+ "type": "api",
2451
+ "category": "real-projects",
2452
+ "title": "GEM model forecast"
2453
+ },
2454
+ {
2455
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_gfs.mmt",
2456
+ "type": "api",
2457
+ "category": "real-projects",
2458
+ "title": "GFS model forecast"
2459
+ },
2460
+ {
2461
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_jma.mmt",
2462
+ "type": "api",
2463
+ "category": "real-projects",
2464
+ "title": "JMA model forecast"
2465
+ },
2466
+ {
2467
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_meteofrance.mmt",
2468
+ "type": "api",
2469
+ "category": "real-projects",
2470
+ "title": "METEOFRANCE model forecast"
2471
+ },
2472
+ {
2473
+ "path": "real-projects/open-meteo-mmt/multimeter/api/model_metno.mmt",
2474
+ "type": "api",
2475
+ "category": "real-projects",
2476
+ "title": "METNO model forecast"
2477
+ },
2478
+ {
2479
+ "path": "real-projects/open-meteo-mmt/multimeter/api/previous_runs.mmt",
2480
+ "type": "api",
2481
+ "category": "real-projects",
2482
+ "title": "Previous model runs"
2483
+ },
2484
+ {
2485
+ "path": "real-projects/open-meteo-mmt/multimeter/api/satellite_radiation.mmt",
2486
+ "type": "api",
2487
+ "category": "real-projects",
2488
+ "title": "Satellite radiation"
2489
+ },
2490
+ {
2491
+ "path": "real-projects/open-meteo-mmt/multimeter/api/seasonal.mmt",
2492
+ "type": "api",
2493
+ "category": "real-projects",
2494
+ "title": "Seasonal forecast"
2495
+ },
2496
+ {
2497
+ "path": "real-projects/open-meteo-mmt/multimeter/multimeter.mmt",
2498
+ "type": "env",
2499
+ "category": "real-projects"
2500
+ },
2501
+ {
2502
+ "path": "real-projects/open-meteo-mmt/multimeter/suite.mmt",
2503
+ "type": "suite",
2504
+ "category": "real-projects",
2505
+ "title": "Open-Meteo (all)"
2506
+ },
2507
+ {
2508
+ "path": "real-projects/open-meteo-mmt/multimeter/test/air_quality/suite.mmt",
2509
+ "type": "suite",
2510
+ "category": "real-projects",
2511
+ "title": "Air quality"
2512
+ },
2513
+ {
2514
+ "path": "real-projects/open-meteo-mmt/multimeter/test/air_quality/test_berlin.mmt",
2515
+ "type": "test",
2516
+ "category": "real-projects",
2517
+ "title": "Air quality — Berlin"
2518
+ },
2519
+ {
2520
+ "path": "real-projects/open-meteo-mmt/multimeter/test/air_quality/test_paris_3day.mmt",
2521
+ "type": "test",
2522
+ "category": "real-projects",
2523
+ "title": "Air quality — Paris 3 day"
2524
+ },
2525
+ {
2526
+ "path": "real-projects/open-meteo-mmt/multimeter/test/air_quality/test_tokyo.mmt",
2527
+ "type": "test",
2528
+ "category": "real-projects",
2529
+ "title": "Air quality — Tokyo"
2530
+ },
2531
+ {
2532
+ "path": "real-projects/open-meteo-mmt/multimeter/test/climate/suite.mmt",
2533
+ "type": "suite",
2534
+ "category": "real-projects",
2535
+ "title": "Climate"
2536
+ },
2537
+ {
2538
+ "path": "real-projects/open-meteo-mmt/multimeter/test/climate/test_berlin_2050.mmt",
2539
+ "type": "test",
2540
+ "category": "real-projects",
2541
+ "title": "Climate — Berlin 2050 week"
2542
+ },
2543
+ {
2544
+ "path": "real-projects/open-meteo-mmt/multimeter/test/climate/test_sydney_2050_short.mmt",
2545
+ "type": "test",
2546
+ "category": "real-projects",
2547
+ "title": "Climate — Sydney 2050 short window"
2548
+ },
2549
+ {
2550
+ "path": "real-projects/open-meteo-mmt/multimeter/test/climate/test_tokyo_2050.mmt",
2551
+ "type": "test",
2552
+ "category": "real-projects",
2553
+ "title": "Climate — Tokyo 2050 week"
2554
+ },
2555
+ {
2556
+ "path": "real-projects/open-meteo-mmt/multimeter/test/elevation/suite.mmt",
2557
+ "type": "suite",
2558
+ "category": "real-projects",
2559
+ "title": "Elevation"
2560
+ },
2561
+ {
2562
+ "path": "real-projects/open-meteo-mmt/multimeter/test/elevation/test_berlin.mmt",
2563
+ "type": "test",
2564
+ "category": "real-projects",
2565
+ "title": "Elevation — Berlin"
2566
+ },
2567
+ {
2568
+ "path": "real-projects/open-meteo-mmt/multimeter/test/elevation/test_everest_approx.mmt",
2569
+ "type": "test",
2570
+ "category": "real-projects",
2571
+ "title": "Elevation — near Everest"
2572
+ },
2573
+ {
2574
+ "path": "real-projects/open-meteo-mmt/multimeter/test/elevation/test_tokyo.mmt",
2575
+ "type": "test",
2576
+ "category": "real-projects",
2577
+ "title": "Elevation — Tokyo"
2578
+ },
2579
+ {
2580
+ "path": "real-projects/open-meteo-mmt/multimeter/test/ensemble/suite.mmt",
2581
+ "type": "suite",
2582
+ "category": "real-projects",
2583
+ "title": "Ensemble"
2584
+ },
2585
+ {
2586
+ "path": "real-projects/open-meteo-mmt/multimeter/test/ensemble/test_berlin_1day.mmt",
2587
+ "type": "test",
2588
+ "category": "real-projects",
2589
+ "title": "Ensemble — Berlin 1 day"
2590
+ },
2591
+ {
2592
+ "path": "real-projects/open-meteo-mmt/multimeter/test/ensemble/test_berlin_2day.mmt",
2593
+ "type": "test",
2594
+ "category": "real-projects",
2595
+ "title": "Ensemble — Berlin 2 day"
2596
+ },
2597
+ {
2598
+ "path": "real-projects/open-meteo-mmt/multimeter/test/ensemble/test_paris_1day.mmt",
2599
+ "type": "test",
2600
+ "category": "real-projects",
2601
+ "title": "Ensemble — Paris 1 day"
2602
+ },
2603
+ {
2604
+ "path": "real-projects/open-meteo-mmt/multimeter/test/flood/suite.mmt",
2605
+ "type": "suite",
2606
+ "category": "real-projects",
2607
+ "title": "Flood"
2608
+ },
2609
+ {
2610
+ "path": "real-projects/open-meteo-mmt/multimeter/test/flood/test_berlin_1day.mmt",
2611
+ "type": "test",
2612
+ "category": "real-projects",
2613
+ "title": "Flood — Berlin 1 day"
2614
+ },
2615
+ {
2616
+ "path": "real-projects/open-meteo-mmt/multimeter/test/flood/test_berlin_3day.mmt",
2617
+ "type": "test",
2618
+ "category": "real-projects",
2619
+ "title": "Flood — Berlin 3 day"
2620
+ },
2621
+ {
2622
+ "path": "real-projects/open-meteo-mmt/multimeter/test/flood/test_paris.mmt",
2623
+ "type": "test",
2624
+ "category": "real-projects",
2625
+ "title": "Flood — Paris"
2626
+ },
2627
+ {
2628
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/suite.mmt",
2629
+ "type": "suite",
2630
+ "category": "real-projects",
2631
+ "title": "Forecast"
2632
+ },
2633
+ {
2634
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_berlin.mmt",
2635
+ "type": "test",
2636
+ "category": "real-projects",
2637
+ "title": "Forecast current — Berlin"
2638
+ },
2639
+ {
2640
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_sydney.mmt",
2641
+ "type": "test",
2642
+ "category": "real-projects",
2643
+ "title": "Forecast current — Sydney"
2644
+ },
2645
+ {
2646
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_current_tokyo.mmt",
2647
+ "type": "test",
2648
+ "category": "real-projects",
2649
+ "title": "Forecast current — Tokyo"
2650
+ },
2651
+ {
2652
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_1day.mmt",
2653
+ "type": "test",
2654
+ "category": "real-projects",
2655
+ "title": "Forecast hourly/daily — 1 day"
2656
+ },
2657
+ {
2658
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_3day.mmt",
2659
+ "type": "test",
2660
+ "category": "real-projects",
2661
+ "title": "Forecast hourly/daily — 3 days"
2662
+ },
2663
+ {
2664
+ "path": "real-projects/open-meteo-mmt/multimeter/test/forecast/test_hourly_paris.mmt",
2665
+ "type": "test",
2666
+ "category": "real-projects",
2667
+ "title": "Forecast hourly/daily — Paris coords"
2668
+ },
2669
+ {
2670
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/suite.mmt",
2671
+ "type": "suite",
2672
+ "category": "real-projects",
2673
+ "title": "Geocoding"
2674
+ },
2675
+ {
2676
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_city_forecast_berlin.mmt",
2677
+ "type": "test",
2678
+ "category": "real-projects",
2679
+ "title": "Geocode then forecast — Berlin"
2680
+ },
2681
+ {
2682
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_city_forecast_paris.mmt",
2683
+ "type": "test",
2684
+ "category": "real-projects",
2685
+ "title": "Geocode then forecast — Paris"
2686
+ },
2687
+ {
2688
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_get_berlin.mmt",
2689
+ "type": "test",
2690
+ "category": "real-projects",
2691
+ "title": "Geocode get — Berlin id"
2692
+ },
2693
+ {
2694
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_berlin.mmt",
2695
+ "type": "test",
2696
+ "category": "real-projects",
2697
+ "title": "Geocode search — Berlin"
2698
+ },
2699
+ {
2700
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_paris.mmt",
2701
+ "type": "test",
2702
+ "category": "real-projects",
2703
+ "title": "Geocode search — Paris"
2704
+ },
2705
+ {
2706
+ "path": "real-projects/open-meteo-mmt/multimeter/test/geocoding/test_search_tokyo_count3.mmt",
2707
+ "type": "test",
2708
+ "category": "real-projects",
2709
+ "title": "Geocode search — Tokyo count 3"
2710
+ },
2711
+ {
2712
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/suite.mmt",
2713
+ "type": "suite",
2714
+ "category": "real-projects",
2715
+ "title": "Historical"
2716
+ },
2717
+ {
2718
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_archive_jan2024_tokyo.mmt",
2719
+ "type": "test",
2720
+ "category": "real-projects",
2721
+ "title": "Archive — Jan 2024 Tokyo"
2722
+ },
2723
+ {
2724
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_archive_june2024.mmt",
2725
+ "type": "test",
2726
+ "category": "real-projects",
2727
+ "title": "Archive — June 2024 Berlin"
2728
+ },
2729
+ {
2730
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_historical_forecast_june.mmt",
2731
+ "type": "test",
2732
+ "category": "real-projects",
2733
+ "title": "Historical forecast — June 2024"
2734
+ },
2735
+ {
2736
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_historical_forecast_paris.mmt",
2737
+ "type": "test",
2738
+ "category": "real-projects",
2739
+ "title": "Historical forecast — Paris June 2024"
2740
+ },
2741
+ {
2742
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_previous_runs_june.mmt",
2743
+ "type": "test",
2744
+ "category": "real-projects",
2745
+ "title": "Previous runs — June 2024"
2746
+ },
2747
+ {
2748
+ "path": "real-projects/open-meteo-mmt/multimeter/test/historical/test_previous_runs_sydney.mmt",
2749
+ "type": "test",
2750
+ "category": "real-projects",
2751
+ "title": "Previous runs — Sydney June 2024"
2752
+ },
2753
+ {
2754
+ "path": "real-projects/open-meteo-mmt/multimeter/test/marine/suite.mmt",
2755
+ "type": "suite",
2756
+ "category": "real-projects",
2757
+ "title": "Marine"
2758
+ },
2759
+ {
2760
+ "path": "real-projects/open-meteo-mmt/multimeter/test/marine/test_baltic_1day.mmt",
2761
+ "type": "test",
2762
+ "category": "real-projects",
2763
+ "title": "Marine — Baltic 1 day"
2764
+ },
2765
+ {
2766
+ "path": "real-projects/open-meteo-mmt/multimeter/test/marine/test_baltic_3day.mmt",
2767
+ "type": "test",
2768
+ "category": "real-projects",
2769
+ "title": "Marine — Baltic 3 day"
2770
+ },
2771
+ {
2772
+ "path": "real-projects/open-meteo-mmt/multimeter/test/marine/test_north_sea.mmt",
2773
+ "type": "test",
2774
+ "category": "real-projects",
2775
+ "title": "Marine — North Sea"
2776
+ },
2777
+ {
2778
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/suite.mmt",
2779
+ "type": "suite",
2780
+ "category": "real-projects",
2781
+ "title": "Models"
2782
+ },
2783
+ {
2784
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_bom_sydney_1day.mmt",
2785
+ "type": "test",
2786
+ "category": "real-projects",
2787
+ "title": "BOM — Sydney 1 day"
2788
+ },
2789
+ {
2790
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_bom_sydney_3day.mmt",
2791
+ "type": "test",
2792
+ "category": "real-projects",
2793
+ "title": "BOM — Sydney 3 days"
2794
+ },
2795
+ {
2796
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_cma_beijing_1day.mmt",
2797
+ "type": "test",
2798
+ "category": "real-projects",
2799
+ "title": "CMA — Beijing 1 day"
2800
+ },
2801
+ {
2802
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_cma_beijing_3day.mmt",
2803
+ "type": "test",
2804
+ "category": "real-projects",
2805
+ "title": "CMA — Beijing 3 days"
2806
+ },
2807
+ {
2808
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_dwd_icon_berlin_1day.mmt",
2809
+ "type": "test",
2810
+ "category": "real-projects",
2811
+ "title": "DWD ICON — Berlin 1 day"
2812
+ },
2813
+ {
2814
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_dwd_icon_paris_3day.mmt",
2815
+ "type": "test",
2816
+ "category": "real-projects",
2817
+ "title": "DWD ICON — Paris 3 days"
2818
+ },
2819
+ {
2820
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_ecmwf_berlin_1day.mmt",
2821
+ "type": "test",
2822
+ "category": "real-projects",
2823
+ "title": "ECMWF — Berlin 1 day"
2824
+ },
2825
+ {
2826
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_ecmwf_sydney_3day.mmt",
2827
+ "type": "test",
2828
+ "category": "real-projects",
2829
+ "title": "ECMWF — Sydney 3 days"
2830
+ },
2831
+ {
2832
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_gem_montreal_1day.mmt",
2833
+ "type": "test",
2834
+ "category": "real-projects",
2835
+ "title": "GEM — Montreal 1 day"
2836
+ },
2837
+ {
2838
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_gem_montreal_3day.mmt",
2839
+ "type": "test",
2840
+ "category": "real-projects",
2841
+ "title": "GEM — Montreal 3 days"
2842
+ },
2843
+ {
2844
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_gfs_berlin_1day.mmt",
2845
+ "type": "test",
2846
+ "category": "real-projects",
2847
+ "title": "GFS — Berlin 1 day"
2848
+ },
2849
+ {
2850
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_gfs_tokyo_3day.mmt",
2851
+ "type": "test",
2852
+ "category": "real-projects",
2853
+ "title": "GFS — Tokyo 3 days"
2854
+ },
2855
+ {
2856
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_jma_tokyo_1day.mmt",
2857
+ "type": "test",
2858
+ "category": "real-projects",
2859
+ "title": "JMA — Tokyo 1 day"
2860
+ },
2861
+ {
2862
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_jma_tokyo_3day.mmt",
2863
+ "type": "test",
2864
+ "category": "real-projects",
2865
+ "title": "JMA — Tokyo 3 days"
2866
+ },
2867
+ {
2868
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_meteofrance_berlin_1day.mmt",
2869
+ "type": "test",
2870
+ "category": "real-projects",
2871
+ "title": "Météo-France — Berlin 1 day"
2872
+ },
2873
+ {
2874
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_meteofrance_paris_3day.mmt",
2875
+ "type": "test",
2876
+ "category": "real-projects",
2877
+ "title": "Météo-France — Paris 3 days"
2878
+ },
2879
+ {
2880
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_metno_oslo_1day.mmt",
2881
+ "type": "test",
2882
+ "category": "real-projects",
2883
+ "title": "MET Norway — Oslo 1 day"
2884
+ },
2885
+ {
2886
+ "path": "real-projects/open-meteo-mmt/multimeter/test/models/test_metno_oslo_3day.mmt",
2887
+ "type": "test",
2888
+ "category": "real-projects",
2889
+ "title": "MET Norway — Oslo 3 days"
2890
+ },
2891
+ {
2892
+ "path": "real-projects/open-meteo-mmt/multimeter/test/satellite/suite.mmt",
2893
+ "type": "suite",
2894
+ "category": "real-projects",
2895
+ "title": "Satellite"
2896
+ },
2897
+ {
2898
+ "path": "real-projects/open-meteo-mmt/multimeter/test/satellite/test_berlin_june.mmt",
2899
+ "type": "test",
2900
+ "category": "real-projects",
2901
+ "title": "Satellite radiation — Berlin June 2024"
2902
+ },
2903
+ {
2904
+ "path": "real-projects/open-meteo-mmt/multimeter/test/satellite/test_paris_june.mmt",
2905
+ "type": "test",
2906
+ "category": "real-projects",
2907
+ "title": "Satellite radiation — Paris June 2024"
2908
+ },
2909
+ {
2910
+ "path": "real-projects/open-meteo-mmt/multimeter/test/seasonal/suite.mmt",
2911
+ "type": "suite",
2912
+ "category": "real-projects",
2913
+ "title": "Seasonal"
2914
+ },
2915
+ {
2916
+ "path": "real-projects/open-meteo-mmt/multimeter/test/seasonal/test_berlin.mmt",
2917
+ "type": "test",
2918
+ "category": "real-projects",
2919
+ "title": "Seasonal — Berlin"
2920
+ },
2921
+ {
2922
+ "path": "real-projects/open-meteo-mmt/multimeter/test/seasonal/test_sydney.mmt",
2923
+ "type": "test",
2924
+ "category": "real-projects",
2925
+ "title": "Seasonal — Sydney"
2926
+ },
2927
+ {
2928
+ "path": "real-projects/open-meteo-mmt/multimeter/test/seasonal/test_tokyo.mmt",
2929
+ "type": "test",
2930
+ "category": "real-projects",
2931
+ "title": "Seasonal — Tokyo"
2351
2932
  }
2352
2933
  ]
@@ -0,0 +1,18 @@
1
+ # Real projects
2
+
3
+ Sample Multimeter suites that hit **real public APIs** (not the Multimeter echo server). Each folder is meant to stand alone as a `{product}-mmt` test project.
4
+
5
+ | Project | API | Notes |
6
+ |---|---|---|
7
+ | [open-meteo-mmt](./open-meteo-mmt/) | [Open-Meteo](https://open-meteo.com/) | Weather, air quality, marine, climate, models, … — no API key |
8
+
9
+ Pedagogical Multimeter tutorials stay under `basic/`, `intermediate/`, and `professional/`.
10
+
11
+ ## Run
12
+
13
+ ```sh
14
+ npx testlight run examples/real-projects/open-meteo-mmt/multimeter/suite.mmt \
15
+ --env-file examples/real-projects/open-meteo-mmt/multimeter/multimeter.mmt
16
+ ```
17
+
18
+ Or open that project’s `suite.mmt` in the Multimeter extension after applying its `multimeter.mmt`.