decodaitengu 1.0.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 (43) hide show
  1. decodaitengu-1.0.0/.github/workflows/ci.yml +39 -0
  2. decodaitengu-1.0.0/.github/workflows/docs.yml +46 -0
  3. decodaitengu-1.0.0/.github/workflows/publish.yml +45 -0
  4. decodaitengu-1.0.0/.gitignore +14 -0
  5. decodaitengu-1.0.0/COPYING +674 -0
  6. decodaitengu-1.0.0/PKG-INFO +112 -0
  7. decodaitengu-1.0.0/README.md +86 -0
  8. decodaitengu-1.0.0/decodaitengu/__init__.py +107 -0
  9. decodaitengu-1.0.0/decodaitengu/const.py +45 -0
  10. decodaitengu-1.0.0/decodaitengu/models/__init__.py +27 -0
  11. decodaitengu-1.0.0/decodaitengu/models/base.py +239 -0
  12. decodaitengu-1.0.0/decodaitengu/models/zhl16b.py +150 -0
  13. decodaitengu-1.0.0/decodaitengu/models/zhl16c.py +155 -0
  14. decodaitengu-1.0.0/decodaitengu/planning.py +307 -0
  15. decodaitengu-1.0.0/decodaitengu/py.typed +0 -0
  16. decodaitengu-1.0.0/decodaitengu/tests/__init__.py +21 -0
  17. decodaitengu-1.0.0/decodaitengu/tests/test_modern.py +303 -0
  18. decodaitengu-1.0.0/decodaitengu/tracking/__init__.py +25 -0
  19. decodaitengu-1.0.0/decodaitengu/tracking/cns.py +146 -0
  20. decodaitengu-1.0.0/decodaitengu/tracking/gas_usage.py +87 -0
  21. decodaitengu-1.0.0/decodaitengu/tracking/otu.py +47 -0
  22. decodaitengu-1.0.0/decodaitengu/types.py +200 -0
  23. decodaitengu-1.0.0/doc/algo.rst +211 -0
  24. decodaitengu-1.0.0/doc/alt.rst +10 -0
  25. decodaitengu-1.0.0/doc/api.rst +103 -0
  26. decodaitengu-1.0.0/doc/changelog.rst +123 -0
  27. decodaitengu-1.0.0/doc/cmd.rst +130 -0
  28. decodaitengu-1.0.0/doc/conf.py +32 -0
  29. decodaitengu-1.0.0/doc/decolessons.pdf +2983 -0
  30. decodaitengu-1.0.0/doc/deepstops.pdf +2252 -0
  31. decodaitengu-1.0.0/doc/design.rst +190 -0
  32. decodaitengu-1.0.0/doc/dive-cmp.png +0 -0
  33. decodaitengu-1.0.0/doc/dive.png +0 -0
  34. decodaitengu-1.0.0/doc/equations.ipynb +633 -0
  35. decodaitengu-1.0.0/doc/gfdeco.f +2112 -0
  36. decodaitengu-1.0.0/doc/index.rst +45 -0
  37. decodaitengu-1.0.0/doc/info.rst +59 -0
  38. decodaitengu-1.0.0/doc/model.rst +6 -0
  39. decodaitengu-1.0.0/doc/mvalues.pdf +2429 -0
  40. decodaitengu-1.0.0/doc/static/decotengu.css +20 -0
  41. decodaitengu-1.0.0/doc/tissue-pressure-plot.png +0 -0
  42. decodaitengu-1.0.0/doc/usage.rst +6 -0
  43. decodaitengu-1.0.0/pyproject.toml +69 -0
@@ -0,0 +1,39 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.12", "3.13", "3.14"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+
19
+ - name: Set up Python ${{ matrix.python-version }}
20
+ uses: actions/setup-python@v6
21
+ with:
22
+ python-version: ${{ matrix.python-version }}
23
+
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install -e ".[dev]"
28
+
29
+ - name: Lint with ruff
30
+ run: |
31
+ ruff check decodaitengu/
32
+ ruff format --check decodaitengu/
33
+
34
+ - name: Type check with mypy
35
+ run: mypy decodaitengu --ignore-missing-imports
36
+ if: matrix.python-version == '3.12'
37
+
38
+ - name: Run tests
39
+ run: pytest --cov=decodaitengu --cov-report=term-missing
@@ -0,0 +1,46 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: read
9
+ pages: write
10
+ id-token: write
11
+
12
+ concurrency:
13
+ group: pages
14
+ cancel-in-progress: true
15
+
16
+ jobs:
17
+ build:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: actions/checkout@v6
21
+
22
+ - uses: actions/setup-python@v6
23
+ with:
24
+ python-version: "3.12"
25
+
26
+ - name: Install dependencies
27
+ run: |
28
+ pip install -e ".[dev]"
29
+ pip install sphinx sphinx-rtd-theme
30
+
31
+ - name: Build docs
32
+ run: sphinx-build -b html doc/ doc/_build/html
33
+
34
+ - uses: actions/upload-pages-artifact@v4
35
+ with:
36
+ path: doc/_build/html
37
+
38
+ deploy:
39
+ needs: build
40
+ runs-on: ubuntu-latest
41
+ environment:
42
+ name: github-pages
43
+ url: ${{ steps.deployment.outputs.page_url }}
44
+ steps:
45
+ - id: deployment
46
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,45 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+ id-token: write # Required for trusted publishing
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+
17
+ - uses: actions/setup-python@v6
18
+ with:
19
+ python-version: "3.12"
20
+
21
+ - name: Install build tools
22
+ run: pip install build
23
+
24
+ - name: Build package
25
+ run: python -m build
26
+
27
+ - name: Upload artifact
28
+ uses: actions/upload-artifact@v5
29
+ with:
30
+ name: dist
31
+ path: dist/
32
+
33
+ publish:
34
+ needs: build
35
+ runs-on: ubuntu-latest
36
+ environment: pypi
37
+ steps:
38
+ - uses: actions/download-artifact@v5
39
+ with:
40
+ name: dist
41
+ path: dist/
42
+
43
+ - name: Publish to PyPI
44
+ uses: pypa/gh-action-pypi-publish@release/v1
45
+ # Uses trusted publishing (OIDC) — no API token needed in secrets
@@ -0,0 +1,14 @@
1
+ *~
2
+ *.pyc
3
+ *.pyo
4
+ *.swp
5
+ *.swo
6
+ __pycache__/
7
+ *.egg-info/
8
+ dist/
9
+ build/
10
+ .mypy_cache/
11
+ .ruff_cache/
12
+ .pytest_cache/
13
+ .coverage
14
+ htmlcov/