thermoshift 0.1.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 (60) hide show
  1. thermoshift-0.1.0/CONTRIBUTING.md +69 -0
  2. thermoshift-0.1.0/LICENSE +21 -0
  3. thermoshift-0.1.0/MANIFEST.in +12 -0
  4. thermoshift-0.1.0/PKG-INFO +600 -0
  5. thermoshift-0.1.0/README.md +568 -0
  6. thermoshift-0.1.0/benchmarks/README.md +30 -0
  7. thermoshift-0.1.0/benchmarks/generation.py +91 -0
  8. thermoshift-0.1.0/constraints.txt +17 -0
  9. thermoshift-0.1.0/docs/api.md +153 -0
  10. thermoshift-0.1.0/docs/architecture.md +92 -0
  11. thermoshift-0.1.0/docs/generation.md +134 -0
  12. thermoshift-0.1.0/docs/publishing.md +124 -0
  13. thermoshift-0.1.0/docs/schema.md +78 -0
  14. thermoshift-0.1.0/examples/evaluate_policy.py +30 -0
  15. thermoshift-0.1.0/examples/stream_hf.py +32 -0
  16. thermoshift-0.1.0/examples/train_baseline.py +31 -0
  17. thermoshift-0.1.0/notebooks/quickstart.ipynb +788 -0
  18. thermoshift-0.1.0/pyproject.toml +50 -0
  19. thermoshift-0.1.0/scripts/check_distribution.py +175 -0
  20. thermoshift-0.1.0/scripts/run_notebook.py +23 -0
  21. thermoshift-0.1.0/scripts/update_schema.py +66 -0
  22. thermoshift-0.1.0/setup.cfg +4 -0
  23. thermoshift-0.1.0/src/thermoshift/__init__.py +28 -0
  24. thermoshift-0.1.0/src/thermoshift/__main__.py +10 -0
  25. thermoshift-0.1.0/src/thermoshift/_checks.py +25 -0
  26. thermoshift-0.1.0/src/thermoshift/_version.py +9 -0
  27. thermoshift-0.1.0/src/thermoshift/baseline.py +98 -0
  28. thermoshift-0.1.0/src/thermoshift/cards.py +78 -0
  29. thermoshift-0.1.0/src/thermoshift/cli.py +147 -0
  30. thermoshift-0.1.0/src/thermoshift/config.py +97 -0
  31. thermoshift-0.1.0/src/thermoshift/evaluation.py +152 -0
  32. thermoshift-0.1.0/src/thermoshift/filesystem.py +68 -0
  33. thermoshift-0.1.0/src/thermoshift/hub.py +217 -0
  34. thermoshift-0.1.0/src/thermoshift/lifecycle.py +40 -0
  35. thermoshift-0.1.0/src/thermoshift/notebook.py +109 -0
  36. thermoshift-0.1.0/src/thermoshift/provenance.py +101 -0
  37. thermoshift-0.1.0/src/thermoshift/random.py +40 -0
  38. thermoshift-0.1.0/src/thermoshift/reading.py +139 -0
  39. thermoshift-0.1.0/src/thermoshift/resources/CARD.md +71 -0
  40. thermoshift-0.1.0/src/thermoshift/resources/DATASHEET.md +177 -0
  41. thermoshift-0.1.0/src/thermoshift/resources/LICENSE.md +21 -0
  42. thermoshift-0.1.0/src/thermoshift/schema.py +251 -0
  43. thermoshift-0.1.0/src/thermoshift/shards.py +92 -0
  44. thermoshift-0.1.0/src/thermoshift/simulator.py +244 -0
  45. thermoshift-0.1.0/src/thermoshift/storage.py +302 -0
  46. thermoshift-0.1.0/src/thermoshift/validation/__init__.py +121 -0
  47. thermoshift-0.1.0/src/thermoshift/validation/records.py +334 -0
  48. thermoshift-0.1.0/src/thermoshift.egg-info/PKG-INFO +600 -0
  49. thermoshift-0.1.0/src/thermoshift.egg-info/SOURCES.txt +58 -0
  50. thermoshift-0.1.0/src/thermoshift.egg-info/dependency_links.txt +1 -0
  51. thermoshift-0.1.0/src/thermoshift.egg-info/entry_points.txt +2 -0
  52. thermoshift-0.1.0/src/thermoshift.egg-info/requires.txt +24 -0
  53. thermoshift-0.1.0/src/thermoshift.egg-info/top_level.txt +1 -0
  54. thermoshift-0.1.0/tests/test_cli.py +93 -0
  55. thermoshift-0.1.0/tests/test_evaluation.py +74 -0
  56. thermoshift-0.1.0/tests/test_failure_handling.py +366 -0
  57. thermoshift-0.1.0/tests/test_publish.py +299 -0
  58. thermoshift-0.1.0/tests/test_release.py +154 -0
  59. thermoshift-0.1.0/tests/test_scientific_checks.py +287 -0
  60. thermoshift-0.1.0/tests/test_simulator.py +79 -0
@@ -0,0 +1,69 @@
1
+ # Development
2
+
3
+ ## Set up
4
+
5
+ Create and activate a Python virtual environment, then install the development
6
+ extras from the repository root:
7
+
8
+ ```bash
9
+ python -m pip install -e ".[dev,hub,analysis,notebook]"
10
+ ```
11
+
12
+ To use the recorded dependency versions, add `-c constraints.txt` to the install
13
+ command. The package version is defined once in `src/thermoshift/_version.py`.
14
+
15
+ ## Check a change
16
+
17
+ ```bash
18
+ python -m ruff check src tests examples scripts benchmarks
19
+ python -m ruff format --check src tests examples scripts benchmarks
20
+ python scripts/update_schema.py --check
21
+ python -m pytest
22
+ ```
23
+
24
+ Tests cover configuration, physical equations, trajectory continuity, sampling,
25
+ row coverage, file integrity, interruption recovery, process leases, policy
26
+ statistics, CLI behavior, and publication. Publication tests use an in-memory
27
+ service that enforces the installed SDK signatures and commit-parent semantics.
28
+
29
+ When changing numeric logic, compare outcomes with an independent equation or
30
+ reference calculation. Preserve the association between observed features, action
31
+ probabilities, factual outcomes, and oracle outcomes. Add a targeted regression
32
+ for a changed behavior or reproduced failure.
33
+
34
+ ## Update data documentation
35
+
36
+ `src/thermoshift/schema.py` owns the column definitions. Refresh the Markdown
37
+ column reference after editing it:
38
+
39
+ ```bash
40
+ python scripts/update_schema.py
41
+ ```
42
+
43
+ Dataset-facing text lives in `src/thermoshift/resources/`. Those resources are
44
+ included in the wheel and copied into generated releases. The source fingerprint
45
+ covers nested package modules and those templates.
46
+
47
+ The walkthrough uses the bundled sample:
48
+
49
+ ```bash
50
+ python scripts/run_notebook.py
51
+ ```
52
+
53
+ It executes trusted plain-Python cells and saves execution counts, displayed
54
+ expressions, output streams, and errors in the notebook.
55
+
56
+ ## Build distributions
57
+
58
+ ```bash
59
+ python -m build
60
+ python scripts/check_distribution.py
61
+ ```
62
+
63
+ The distribution check verifies packaged code and templates, installs the wheel
64
+ into a temporary target, then generates, validates, and replays a small dataset
65
+ from that installation. Build outputs go to `dist/`.
66
+
67
+ Keep runtime environments, caches, generated experiment directories, and test
68
+ reports outside versioned source files. The CI workflow runs linting, formatting,
69
+ schema checks, tests, and distribution checks on its configured Python versions.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Soumyadip Sarkar
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,12 @@
1
+ include LICENSE README.md CONTRIBUTING.md constraints.txt
2
+ recursive-include src/thermoshift/resources *.md
3
+ recursive-include docs *.md
4
+ recursive-include examples *.py
5
+ recursive-include scripts *.py
6
+ recursive-include tests *.py
7
+ recursive-include notebooks *.ipynb
8
+ recursive-include benchmarks *.py *.md
9
+ prune sample_dataset
10
+ prune build
11
+ prune dist
12
+ global-exclude *.py[cod] __pycache__