weaveforge 0.6.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.
Files changed (79) hide show
  1. weaveforge-0.6.0/.env.example +13 -0
  2. weaveforge-0.6.0/.gitignore +123 -0
  3. weaveforge-0.6.0/LICENSE +661 -0
  4. weaveforge-0.6.0/PKG-INFO +175 -0
  5. weaveforge-0.6.0/README.md +130 -0
  6. weaveforge-0.6.0/examples/custom_source.py +43 -0
  7. weaveforge-0.6.0/examples/figures.py +29 -0
  8. weaveforge-0.6.0/examples/keras_callback.py +17 -0
  9. weaveforge-0.6.0/examples/lightning_callback.py +20 -0
  10. weaveforge-0.6.0/examples/live_dummy_run.py +382 -0
  11. weaveforge-0.6.0/examples/minimal.py +29 -0
  12. weaveforge-0.6.0/examples/tensorboard_sync.py +23 -0
  13. weaveforge-0.6.0/examples/wandb_sync.py +21 -0
  14. weaveforge-0.6.0/pyproject.toml +71 -0
  15. weaveforge-0.6.0/scripts/verify_sharing.py +356 -0
  16. weaveforge-0.6.0/tests/test_api_client.py +72 -0
  17. weaveforge-0.6.0/tests/test_api_metric_repository.py +55 -0
  18. weaveforge-0.6.0/tests/test_cli.py +26 -0
  19. weaveforge-0.6.0/tests/test_integration_api.py +56 -0
  20. weaveforge-0.6.0/tests/test_integration_supabase.py +28 -0
  21. weaveforge-0.6.0/tests/test_integrations.py +30 -0
  22. weaveforge-0.6.0/tests/test_manage_experiment.py +101 -0
  23. weaveforge-0.6.0/tests/test_metric_point.py +39 -0
  24. weaveforge-0.6.0/tests/test_project_reader.py +56 -0
  25. weaveforge-0.6.0/tests/test_repositories.py +18 -0
  26. weaveforge-0.6.0/tests/test_run.py +189 -0
  27. weaveforge-0.6.0/tests/test_supabase_mapping.py +41 -0
  28. weaveforge-0.6.0/tests/test_sync_registry.py +43 -0
  29. weaveforge-0.6.0/tests/test_sync_sources.py +118 -0
  30. weaveforge-0.6.0/weaveforge/__init__.py +72 -0
  31. weaveforge-0.6.0/weaveforge/cli.py +73 -0
  32. weaveforge-0.6.0/weaveforge/config.py +68 -0
  33. weaveforge-0.6.0/weaveforge/container.py +89 -0
  34. weaveforge-0.6.0/weaveforge/features/__init__.py +3 -0
  35. weaveforge-0.6.0/weaveforge/features/experiments/__init__.py +38 -0
  36. weaveforge-0.6.0/weaveforge/features/experiments/application/__init__.py +5 -0
  37. weaveforge-0.6.0/weaveforge/features/experiments/application/git.py +46 -0
  38. weaveforge-0.6.0/weaveforge/features/experiments/application/manage_experiment.py +109 -0
  39. weaveforge-0.6.0/weaveforge/features/experiments/application/run.py +174 -0
  40. weaveforge-0.6.0/weaveforge/features/experiments/domain/__init__.py +30 -0
  41. weaveforge-0.6.0/weaveforge/features/experiments/domain/experiment.py +101 -0
  42. weaveforge-0.6.0/weaveforge/features/experiments/domain/experiment_repository.py +19 -0
  43. weaveforge-0.6.0/weaveforge/features/experiments/domain/metric_point.py +74 -0
  44. weaveforge-0.6.0/weaveforge/features/experiments/domain/metric_repository.py +26 -0
  45. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/__init__.py +5 -0
  46. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/api_artifact_storage.py +29 -0
  47. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/api_experiment_repository.py +74 -0
  48. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/api_metric_repository.py +34 -0
  49. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/supabase_artifact_storage.py +50 -0
  50. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/supabase_experiment_repository.py +91 -0
  51. weaveforge-0.6.0/weaveforge/features/experiments/infrastructure/supabase_metric_repository.py +49 -0
  52. weaveforge-0.6.0/weaveforge/features/projects/__init__.py +10 -0
  53. weaveforge-0.6.0/weaveforge/features/projects/domain/__init__.py +3 -0
  54. weaveforge-0.6.0/weaveforge/features/projects/domain/project_reader.py +16 -0
  55. weaveforge-0.6.0/weaveforge/features/projects/infrastructure/__init__.py +1 -0
  56. weaveforge-0.6.0/weaveforge/features/projects/infrastructure/api_project_reader.py +14 -0
  57. weaveforge-0.6.0/weaveforge/features/projects/infrastructure/supabase_project_reader.py +25 -0
  58. weaveforge-0.6.0/weaveforge/infrastructure/api_client.py +54 -0
  59. weaveforge-0.6.0/weaveforge/integrations/__init__.py +13 -0
  60. weaveforge-0.6.0/weaveforge/integrations/_common.py +55 -0
  61. weaveforge-0.6.0/weaveforge/integrations/keras.py +59 -0
  62. weaveforge-0.6.0/weaveforge/integrations/lightning.py +81 -0
  63. weaveforge-0.6.0/weaveforge/py.typed +0 -0
  64. weaveforge-0.6.0/weaveforge/shared/__init__.py +26 -0
  65. weaveforge-0.6.0/weaveforge/shared/clock.py +43 -0
  66. weaveforge-0.6.0/weaveforge/shared/repository.py +59 -0
  67. weaveforge-0.6.0/weaveforge/sync/__init__.py +38 -0
  68. weaveforge-0.6.0/weaveforge/sync/matplotlib.py +69 -0
  69. weaveforge-0.6.0/weaveforge/sync/registry.py +42 -0
  70. weaveforge-0.6.0/weaveforge/sync/source.py +93 -0
  71. weaveforge-0.6.0/weaveforge/sync/tensorboard.py +64 -0
  72. weaveforge-0.6.0/weaveforge/sync/wandb.py +136 -0
  73. weaveforge-0.6.0/weaveforge/testing/__init__.py +20 -0
  74. weaveforge-0.6.0/weaveforge/testing/contracts.py +78 -0
  75. weaveforge-0.6.0/weaveforge/testing/fakes.py +21 -0
  76. weaveforge-0.6.0/weaveforge/testing/in_memory_experiment_repository.py +37 -0
  77. weaveforge-0.6.0/weaveforge/testing/in_memory_metric_repository.py +26 -0
  78. weaveforge-0.6.0/weaveforge/testing/memory_container.py +43 -0
  79. weaveforge-0.6.0/weaveforge/tracking.py +171 -0
@@ -0,0 +1,13 @@
1
+ # WeaveForge — Python SDK configuration.
2
+ # Copy to .env and fill in (this file is safe to commit; .env is git-ignored).
3
+ # Auth: personal access token from Settings → Python SDK access tokens (shown once on create).
4
+ # Format: tt_<random> — never commit real tokens.
5
+ # The SDK talks to your web app instance (default http://localhost:3000).
6
+
7
+ WEAVEFORGE_TOKEN=tt_your_token_here
8
+ WEAVEFORGE_API_URL=http://localhost:3000
9
+
10
+ # Scope runs to a project so they show under it in the dashboard.
11
+ # Use the name (resolved at connect time) OR the explicit id:
12
+ WEAVEFORGE_PROJECT=My Thesis
13
+ # WEAVEFORGE_PROJECT_ID=00000000-0000-0000-0000-000000000000
@@ -0,0 +1,123 @@
1
+ # dependencies
2
+ node_modules/
3
+ .pnp
4
+ .pnp.js
5
+
6
+ # builds
7
+ dist/
8
+ .next/
9
+ # The desktop build's own output directory, so it cannot collide with a dev server.
10
+ .next-desktop/
11
+ out/
12
+ build/
13
+ *.tsbuildinfo
14
+
15
+ # --- secrets ---------------------------------------------------------------
16
+ #
17
+ # One folder for everything credential-shaped that has to live in the checkout:
18
+ # `.env.migration`, `.env.oci`, and any key a cloud console downloaded here.
19
+ # See secrets/README.md.
20
+ #
21
+ # `.env.local` cannot move — Next.js only reads it from the app directory — and
22
+ # neither can ~/.oci or ~/.ssh, so the patterns below stay as a second layer.
23
+ # A single directory rule is one edit away from being wrong.
24
+ #
25
+ # Contents rather than the directory itself (`/secrets/*`, not `/secrets/`), so
26
+ # the README can be un-ignored: git does not descend into an excluded directory,
27
+ # and a negation inside one never matches.
28
+ /secrets/*
29
+ !/secrets/README.md
30
+
31
+ .env
32
+ .env.local
33
+ .env*.local
34
+ .env.migration
35
+ .env.oci
36
+ oci-launch-retry.log
37
+
38
+ # Private keys. Cloud consoles download these straight to whatever directory the
39
+ # browser last used, which is often a checkout — and an OCI API key or SSH key
40
+ # committed to a public repo is a full account compromise, not a near miss.
41
+ *.pem
42
+ *.key
43
+ *_rsa
44
+ *_ed25519
45
+ id_*
46
+ # Public halves are not secret — they exist to be published — but they still do
47
+ # not belong in a checkout, and an un-ignore rule for them re-included a key
48
+ # from secrets/ that the directory rule had correctly excluded.
49
+ *.pub
50
+ local-dev/
51
+
52
+ # demo captures (regenerate locally; README embeds added later)
53
+ docs/demo/
54
+
55
+ # graphify build artifacts
56
+ graphify-out/
57
+
58
+ # playwright
59
+ apps/web/test-results/
60
+ apps/web/e2e/.auth/
61
+
62
+ # Serwist (generated at next build)
63
+ apps/web/public/sw.js
64
+
65
+ # Pitch site assets (copied from apps/web/public at build)
66
+ apps/pitch/public/
67
+ apps/web/public/sw.js.map
68
+ apps/web/public/swe-worker*
69
+
70
+ # pdf.js worker (copied from pdfjs-dist by scripts/copy-pdf-worker.mjs)
71
+ apps/web/public/pdf.worker.min.mjs
72
+
73
+ # python
74
+ __pycache__/
75
+ *.py[cod]
76
+ .venv/
77
+ venv/
78
+ *.egg-info/
79
+ .pytest_cache/
80
+
81
+ # os / editor
82
+ .DS_Store
83
+ .idea/
84
+ .vscode/
85
+ *.log
86
+
87
+ # supabase
88
+ supabase/.branches
89
+ supabase/.temp
90
+ .conda-plugin-tools
91
+ # Phase-5 E2EE pre-drop backups (contain key material — never commit)
92
+ backups/
93
+
94
+ # Android TWA signing keys — never commit
95
+ *.jks
96
+ *.keystore
97
+ apps/web/twa/android-keystore.jks
98
+ # TWA local Gradle / Bubblewrap outputs
99
+ apps/web/twa/.gradle/
100
+ apps/web/twa/app/
101
+ apps/web/twa/*.apk
102
+ apps/web/twa/*.apk.idsig
103
+ apps/web/twa/gradle/
104
+ apps/web/twa/gradlew
105
+ apps/web/twa/gradlew.bat
106
+ apps/web/twa/build.gradle
107
+ apps/web/twa/settings.gradle
108
+ apps/web/twa/gradle.properties
109
+ apps/web/twa/manifest-checksum.txt
110
+ apps/web/twa/store_icon.png
111
+
112
+ # playwright (root)
113
+ test-results/
114
+ .design-sync
115
+
116
+ # OS junk
117
+ desktop.ini
118
+ Thumbs.db
119
+ .DS_Store
120
+ .vercel
121
+
122
+ # W&B offline runs land beside whatever started them.
123
+ wandb/