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.
- thermoshift-0.1.0/CONTRIBUTING.md +69 -0
- thermoshift-0.1.0/LICENSE +21 -0
- thermoshift-0.1.0/MANIFEST.in +12 -0
- thermoshift-0.1.0/PKG-INFO +600 -0
- thermoshift-0.1.0/README.md +568 -0
- thermoshift-0.1.0/benchmarks/README.md +30 -0
- thermoshift-0.1.0/benchmarks/generation.py +91 -0
- thermoshift-0.1.0/constraints.txt +17 -0
- thermoshift-0.1.0/docs/api.md +153 -0
- thermoshift-0.1.0/docs/architecture.md +92 -0
- thermoshift-0.1.0/docs/generation.md +134 -0
- thermoshift-0.1.0/docs/publishing.md +124 -0
- thermoshift-0.1.0/docs/schema.md +78 -0
- thermoshift-0.1.0/examples/evaluate_policy.py +30 -0
- thermoshift-0.1.0/examples/stream_hf.py +32 -0
- thermoshift-0.1.0/examples/train_baseline.py +31 -0
- thermoshift-0.1.0/notebooks/quickstart.ipynb +788 -0
- thermoshift-0.1.0/pyproject.toml +50 -0
- thermoshift-0.1.0/scripts/check_distribution.py +175 -0
- thermoshift-0.1.0/scripts/run_notebook.py +23 -0
- thermoshift-0.1.0/scripts/update_schema.py +66 -0
- thermoshift-0.1.0/setup.cfg +4 -0
- thermoshift-0.1.0/src/thermoshift/__init__.py +28 -0
- thermoshift-0.1.0/src/thermoshift/__main__.py +10 -0
- thermoshift-0.1.0/src/thermoshift/_checks.py +25 -0
- thermoshift-0.1.0/src/thermoshift/_version.py +9 -0
- thermoshift-0.1.0/src/thermoshift/baseline.py +98 -0
- thermoshift-0.1.0/src/thermoshift/cards.py +78 -0
- thermoshift-0.1.0/src/thermoshift/cli.py +147 -0
- thermoshift-0.1.0/src/thermoshift/config.py +97 -0
- thermoshift-0.1.0/src/thermoshift/evaluation.py +152 -0
- thermoshift-0.1.0/src/thermoshift/filesystem.py +68 -0
- thermoshift-0.1.0/src/thermoshift/hub.py +217 -0
- thermoshift-0.1.0/src/thermoshift/lifecycle.py +40 -0
- thermoshift-0.1.0/src/thermoshift/notebook.py +109 -0
- thermoshift-0.1.0/src/thermoshift/provenance.py +101 -0
- thermoshift-0.1.0/src/thermoshift/random.py +40 -0
- thermoshift-0.1.0/src/thermoshift/reading.py +139 -0
- thermoshift-0.1.0/src/thermoshift/resources/CARD.md +71 -0
- thermoshift-0.1.0/src/thermoshift/resources/DATASHEET.md +177 -0
- thermoshift-0.1.0/src/thermoshift/resources/LICENSE.md +21 -0
- thermoshift-0.1.0/src/thermoshift/schema.py +251 -0
- thermoshift-0.1.0/src/thermoshift/shards.py +92 -0
- thermoshift-0.1.0/src/thermoshift/simulator.py +244 -0
- thermoshift-0.1.0/src/thermoshift/storage.py +302 -0
- thermoshift-0.1.0/src/thermoshift/validation/__init__.py +121 -0
- thermoshift-0.1.0/src/thermoshift/validation/records.py +334 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/PKG-INFO +600 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/SOURCES.txt +58 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/dependency_links.txt +1 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/entry_points.txt +2 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/requires.txt +24 -0
- thermoshift-0.1.0/src/thermoshift.egg-info/top_level.txt +1 -0
- thermoshift-0.1.0/tests/test_cli.py +93 -0
- thermoshift-0.1.0/tests/test_evaluation.py +74 -0
- thermoshift-0.1.0/tests/test_failure_handling.py +366 -0
- thermoshift-0.1.0/tests/test_publish.py +299 -0
- thermoshift-0.1.0/tests/test_release.py +154 -0
- thermoshift-0.1.0/tests/test_scientific_checks.py +287 -0
- 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__
|