atomscale 0.7.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 (110) hide show
  1. atomscale-0.7.0/.github/workflows/release.yml +161 -0
  2. atomscale-0.7.0/.github/workflows/testing.yml +93 -0
  3. atomscale-0.7.0/.github/workflows/upgrade_dependencies.yml +87 -0
  4. atomscale-0.7.0/.gitignore +188 -0
  5. atomscale-0.7.0/.pre-commit-config.yaml +42 -0
  6. atomscale-0.7.0/CHANGELOG.md +11 -0
  7. atomscale-0.7.0/LICENSE +674 -0
  8. atomscale-0.7.0/MANIFEST.in +8 -0
  9. atomscale-0.7.0/PKG-INFO +65 -0
  10. atomscale-0.7.0/README.md +17 -0
  11. atomscale-0.7.0/atomicds-shim-dist/pyproject.toml +36 -0
  12. atomscale-0.7.0/docs/Makefile +20 -0
  13. atomscale-0.7.0/docs/_templates/custom-class-template.rst +32 -0
  14. atomscale-0.7.0/docs/_templates/custom-module-template.rst +66 -0
  15. atomscale-0.7.0/docs/conf.py +152 -0
  16. atomscale-0.7.0/docs/guides/index.rst +15 -0
  17. atomscale-0.7.0/docs/guides/inspect-results.rst +60 -0
  18. atomscale-0.7.0/docs/guides/poll-timeseries.rst +143 -0
  19. atomscale-0.7.0/docs/guides/quickstart.rst +51 -0
  20. atomscale-0.7.0/docs/guides/search-data.rst +68 -0
  21. atomscale-0.7.0/docs/guides/stream-rheed.rst +104 -0
  22. atomscale-0.7.0/docs/guides/upload-data.rst +46 -0
  23. atomscale-0.7.0/docs/index.rst +66 -0
  24. atomscale-0.7.0/docs/make.bat +35 -0
  25. atomscale-0.7.0/docs/modules.rst +21 -0
  26. atomscale-0.7.0/examples/general_use.ipynb +1022 -0
  27. atomscale-0.7.0/examples/rheed_streaming.ipynb +190 -0
  28. atomscale-0.7.0/examples/timeseries_polling.ipynb +218 -0
  29. atomscale-0.7.0/examples/vxwse2-placeholder/task1_films.ipynb +448 -0
  30. atomscale-0.7.0/examples/vxwse2-placeholder/task1_sapphire.ipynb +483 -0
  31. atomscale-0.7.0/examples/vxwse2-placeholder/task2_composition.ipynb +556 -0
  32. atomscale-0.7.0/pyproject.toml +170 -0
  33. atomscale-0.7.0/requirements/requirements-macos-latest_py3.10.txt +86 -0
  34. atomscale-0.7.0/requirements/requirements-macos-latest_py3.10_extras.txt +186 -0
  35. atomscale-0.7.0/requirements/requirements-macos-latest_py3.11.txt +86 -0
  36. atomscale-0.7.0/requirements/requirements-macos-latest_py3.11_extras.txt +178 -0
  37. atomscale-0.7.0/requirements/requirements-macos-latest_py3.12.txt +86 -0
  38. atomscale-0.7.0/requirements/requirements-macos-latest_py3.12_extras.txt +178 -0
  39. atomscale-0.7.0/requirements/requirements-macos-latest_py3.9.txt +80 -0
  40. atomscale-0.7.0/requirements/requirements-macos-latest_py3.9_extras.txt +127 -0
  41. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.10.txt +86 -0
  42. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.10_extras.txt +186 -0
  43. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.11.txt +86 -0
  44. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.11_extras.txt +178 -0
  45. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.12.txt +86 -0
  46. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.12_extras.txt +178 -0
  47. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.9.txt +80 -0
  48. atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.9_extras.txt +127 -0
  49. atomscale-0.7.0/requirements/requirements-windows-latest_py3.10.txt +86 -0
  50. atomscale-0.7.0/requirements/requirements-windows-latest_py3.10_extras.txt +190 -0
  51. atomscale-0.7.0/requirements/requirements-windows-latest_py3.11.txt +86 -0
  52. atomscale-0.7.0/requirements/requirements-windows-latest_py3.11_extras.txt +182 -0
  53. atomscale-0.7.0/requirements/requirements-windows-latest_py3.12.txt +86 -0
  54. atomscale-0.7.0/requirements/requirements-windows-latest_py3.12_extras.txt +182 -0
  55. atomscale-0.7.0/requirements/requirements-windows-latest_py3.9.txt +82 -0
  56. atomscale-0.7.0/requirements/requirements-windows-latest_py3.9_extras.txt +131 -0
  57. atomscale-0.7.0/setup.cfg +4 -0
  58. atomscale-0.7.0/src/atomicds/__init__.py +82 -0
  59. atomscale-0.7.0/src/atomscale/__init__.py +4 -0
  60. atomscale-0.7.0/src/atomscale/client.py +918 -0
  61. atomscale-0.7.0/src/atomscale/core/__init__.py +12 -0
  62. atomscale-0.7.0/src/atomscale/core/client.py +269 -0
  63. atomscale-0.7.0/src/atomscale/core/files.py +54 -0
  64. atomscale-0.7.0/src/atomscale/core/utils.py +274 -0
  65. atomscale-0.7.0/src/atomscale/results/__init__.py +24 -0
  66. atomscale-0.7.0/src/atomscale/results/group.py +38 -0
  67. atomscale-0.7.0/src/atomscale/results/metrology.py +22 -0
  68. atomscale-0.7.0/src/atomscale/results/optical.py +31 -0
  69. atomscale-0.7.0/src/atomscale/results/photoluminescence.py +48 -0
  70. atomscale-0.7.0/src/atomscale/results/raman.py +48 -0
  71. atomscale-0.7.0/src/atomscale/results/rheed_image.py +753 -0
  72. atomscale-0.7.0/src/atomscale/results/rheed_video.py +76 -0
  73. atomscale-0.7.0/src/atomscale/results/unknown.py +42 -0
  74. atomscale-0.7.0/src/atomscale/results/xps.py +63 -0
  75. atomscale-0.7.0/src/atomscale/streaming/Cargo.lock +3096 -0
  76. atomscale-0.7.0/src/atomscale/streaming/Cargo.toml +27 -0
  77. atomscale-0.7.0/src/atomscale/streaming/__init__.py +0 -0
  78. atomscale-0.7.0/src/atomscale/streaming/rheed_stream.pyi +40 -0
  79. atomscale-0.7.0/src/atomscale/streaming/src/initialize.rs +119 -0
  80. atomscale-0.7.0/src/atomscale/streaming/src/lib.rs +506 -0
  81. atomscale-0.7.0/src/atomscale/streaming/src/upload.rs +194 -0
  82. atomscale-0.7.0/src/atomscale/streaming/src/utils.rs +54 -0
  83. atomscale-0.7.0/src/atomscale/timeseries/__init__.py +15 -0
  84. atomscale-0.7.0/src/atomscale/timeseries/align.py +106 -0
  85. atomscale-0.7.0/src/atomscale/timeseries/metrology.py +54 -0
  86. atomscale-0.7.0/src/atomscale/timeseries/optical.py +120 -0
  87. atomscale-0.7.0/src/atomscale/timeseries/polling.py +301 -0
  88. atomscale-0.7.0/src/atomscale/timeseries/provider.py +72 -0
  89. atomscale-0.7.0/src/atomscale/timeseries/registry.py +19 -0
  90. atomscale-0.7.0/src/atomscale/timeseries/rheed.py +123 -0
  91. atomscale-0.7.0/src/atomscale/timeseries/sample.py +114 -0
  92. atomscale-0.7.0/src/atomscale.egg-info/PKG-INFO +65 -0
  93. atomscale-0.7.0/src/atomscale.egg-info/SOURCES.txt +108 -0
  94. atomscale-0.7.0/src/atomscale.egg-info/dependency_links.txt +1 -0
  95. atomscale-0.7.0/src/atomscale.egg-info/requires.txt +27 -0
  96. atomscale-0.7.0/src/atomscale.egg-info/top_level.txt +2 -0
  97. atomscale-0.7.0/tests/__init__.py +0 -0
  98. atomscale-0.7.0/tests/conftest.py +29 -0
  99. atomscale-0.7.0/tests/data/test_rheed.mp4 +0 -0
  100. atomscale-0.7.0/tests/test_atomicds_alias.py +37 -0
  101. atomscale-0.7.0/tests/test_client.py +279 -0
  102. atomscale-0.7.0/tests/test_core.py +64 -0
  103. atomscale-0.7.0/tests/test_metrology.py +31 -0
  104. atomscale-0.7.0/tests/test_optical.py +40 -0
  105. atomscale-0.7.0/tests/test_photoluminescence.py +32 -0
  106. atomscale-0.7.0/tests/test_polling.py +398 -0
  107. atomscale-0.7.0/tests/test_raman.py +32 -0
  108. atomscale-0.7.0/tests/test_rheed_image.py +78 -0
  109. atomscale-0.7.0/tests/test_rheed_video.py +49 -0
  110. atomscale-0.7.0/tests/test_xps.py +34 -0
@@ -0,0 +1,161 @@
1
+ name: Publish
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build_wheels:
10
+ name: Build wheels (${{ matrix.os }})
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest] # macos-latest provides Apple Silicon runners
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.11" # host Python; cibuildwheel builds for multiple Pythons
23
+
24
+ # QEMU only needed for cross-arch Linux wheels
25
+ - name: Set up QEMU (Linux only)
26
+ if: runner.os == 'Linux'
27
+ uses: docker/setup-qemu-action@v3
28
+ with:
29
+ platforms: arm64
30
+
31
+ - name: Install SSL
32
+ if: runner.os == 'Linux'
33
+ run: |
34
+ sudo apt-get update || true
35
+ sudo apt-get install -y libcurl4-openssl-dev libssl-dev --fix-missing
36
+
37
+ # Install Rust toolchain on host (macOS/Windows builds run on host)
38
+ - name: Install Rust toolchain (host)
39
+ if: runner.os != 'Linux'
40
+ uses: dtolnay/rust-toolchain@stable
41
+
42
+ - name: Upgrade pip & install build tooling
43
+ run: |
44
+ python -m pip install --upgrade pip
45
+ python -m pip install cibuildwheel==2.* setuptools setuptools-rust wheel build
46
+
47
+ - name: Build wheels with cibuildwheel
48
+ env:
49
+ # Build CPython for version 3.x . Adjust as needed.
50
+ CIBW_BUILD: "cp3{10,11,12}-*"
51
+ # Skip 32-bit, PyPy, and musllinux
52
+ CIBW_SKIP: "pp* *-manylinux_i686 *-musllinux_*"
53
+ # Architectures
54
+ CIBW_ARCHS_LINUX: "x86_64"
55
+ CIBW_ARCHS_MACOS: "arm64"
56
+ CIBW_ARCHS_WINDOWS: "AMD64"
57
+ # Ensure Rust is present inside manylinux Docker images
58
+ CIBW_BEFORE_ALL_LINUX: |
59
+ set -euo pipefail
60
+ if command -v dnf >/dev/null 2>&1; then
61
+ dnf -y update || true
62
+ dnf -y install openssl-devel pkgconfig perl make gcc
63
+ else
64
+ yum -y update || true
65
+ yum -y install openssl-devel pkgconfig perl make gcc
66
+ fi
67
+
68
+ # Install Rust inside the manylinux container
69
+ curl https://sh.rustup.rs -sSf | sh -s -- -y
70
+ CIBW_ENVIRONMENT_LINUX: 'PATH="$HOME/.cargo/bin:$PATH"'
71
+ CIBW_ENVIRONMENT_MACOS: >
72
+ MACOSX_DEPLOYMENT_TARGET=11.0
73
+ # Make sure setuptools-rust is available in the build env
74
+ CIBW_BEFORE_BUILD: "python -m pip install -U pip setuptools setuptools-rust wheel"
75
+ # (Optional) If extra system deps, use CIBW_BEFORE_ALL_* hooks per OS.
76
+ run: python -m cibuildwheel --output-dir dist
77
+
78
+ - name: Upload built wheels (artifact)
79
+ uses: actions/upload-artifact@v4
80
+ with:
81
+ # make the name unique per matrix entry
82
+ name: wheels-${{ matrix.os }}
83
+ path: dist/*.whl
84
+ if-no-files-found: error
85
+
86
+ sdist:
87
+ name: Build sdist
88
+ runs-on: ubuntu-latest
89
+ steps:
90
+ - uses: actions/checkout@v4
91
+
92
+ - uses: actions/setup-python@v5
93
+ with:
94
+ python-version: "3.11"
95
+
96
+ - name: Build sdist
97
+ run: |
98
+ python -m pip install --upgrade pip build
99
+ python -m build --sdist
100
+ env:
101
+ # If PEP 517 backend pulls in setuptools-rust, pip will handle it.
102
+ # Otherwise: PIP_PRE=1 and explicit deps as needed.
103
+ PIP_DISABLE_PIP_VERSION_CHECK: "1"
104
+
105
+ - name: Upload sdist (artifact)
106
+ uses: actions/upload-artifact@v4
107
+ with:
108
+ name: sdist
109
+ path: dist/*.tar.gz
110
+
111
+ publish:
112
+ needs: [build_wheels, sdist]
113
+ runs-on: ubuntu-latest
114
+ steps:
115
+ - name: Download wheels
116
+ uses: actions/download-artifact@v4
117
+ with:
118
+ pattern: wheels-*
119
+ merge-multiple: true # puts everything under ./
120
+ path: dist
121
+
122
+ - name: Download sdist
123
+ uses: actions/download-artifact@v4
124
+ with:
125
+ name: sdist
126
+ path: dist
127
+
128
+ - name: Publish package
129
+ uses: pypa/gh-action-pypi-publish@release/v1
130
+ with:
131
+ user: __token__
132
+ password: ${{ secrets.PYPI_TOKEN }}
133
+ packages_dir: dist
134
+
135
+ docs:
136
+ runs-on: ubuntu-latest
137
+ needs:
138
+ - publish
139
+ steps:
140
+ - uses: actions/checkout@v4
141
+
142
+ - uses: actions/setup-python@v5
143
+ with:
144
+ python-version: "3.11"
145
+
146
+ - name: Install dependencies
147
+ run: |
148
+ python -m pip install --upgrade pip
149
+ pip install -r requirements/requirements-ubuntu-latest_py3.11.txt
150
+ pip install -r requirements/requirements-ubuntu-latest_py3.11_extras.txt
151
+ pip install sphinx
152
+ pip install -e .
153
+
154
+ - name: Build docs
155
+ run: sphinx-build ./docs ./docs/_build
156
+
157
+ - name: Deploy docs
158
+ uses: peaceiris/actions-gh-pages@v3.8.0
159
+ with:
160
+ github_token: ${{ secrets.GH_TOKEN }}
161
+ publish_dir: ./docs/_build
@@ -0,0 +1,93 @@
1
+ name: Testing
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ pull_request:
8
+ branches: [main]
9
+
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ jobs:
15
+ lint:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: "3.11"
24
+
25
+ - name: Install Python dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install -r requirements/requirements-ubuntu-latest_py3.11.txt
29
+ pip install -r requirements/requirements-ubuntu-latest_py3.11_extras.txt
30
+
31
+ - name: Install dependencies
32
+ run: |
33
+ pip install pre-commit
34
+
35
+ - name: Run pre-commit
36
+ run: |
37
+ pre-commit run --all-files --show-diff-on-failure
38
+
39
+ - name: Run mypy
40
+ run: |
41
+ mypy --version
42
+ rm -rf .mypy_cache
43
+ mypy src/atomicds
44
+
45
+ test:
46
+ needs: lint
47
+ strategy:
48
+ max-parallel: 3
49
+ matrix:
50
+ os: [ubuntu-latest, windows-latest, macos-latest]
51
+ python-version: ["3.10", "3.11", "3.12"]
52
+
53
+ runs-on: ${{ matrix.os }}
54
+
55
+ steps:
56
+ - uses: actions/checkout@v4
57
+
58
+ - name: Set up Python ${{ matrix.python-version }}
59
+ uses: actions/setup-python@v5
60
+ with:
61
+ python-version: ${{ matrix.python-version }}
62
+
63
+ - name: Install Python dependencies
64
+ run: |
65
+ python -m pip install --upgrade pip
66
+ pip install -r requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}.txt
67
+ pip install -r requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt
68
+
69
+ - name: Set SSL_CERT_FILE (Linux/MacOS)
70
+ if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
71
+ run: echo "SSL_CERT_FILE=$(python -m certifi)" >> $GITHUB_ENV
72
+
73
+ - name: Set SSL_CERT_FILE (Windows)
74
+ if: matrix.os == 'windows-latest'
75
+ run: echo "SSL_CERT_FILE=$(python -m certifi)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
76
+
77
+ - name: Test with pytest
78
+ env:
79
+ AS_API_KEY: ${{ secrets.ADS_API_KEY }}
80
+ AS_API_ENDPOINT: "https://api.atomscale.ai"
81
+ run: |
82
+ pip install -e .
83
+ pytest -x
84
+
85
+ auto-gen-release:
86
+ needs: test
87
+ runs-on: ubuntu-latest
88
+ env:
89
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
90
+ steps:
91
+ - uses: rymndhng/release-on-push-action@v0.28.0
92
+ with:
93
+ bump_version_scheme: norelease
@@ -0,0 +1,87 @@
1
+ name: Upgrade Dependencies
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ upgrade:
8
+ name: ${{ matrix.package }} (${{ matrix.os }}/py${{ matrix.python-version }})
9
+ runs-on: ${{ matrix.os }}
10
+ strategy:
11
+ matrix:
12
+ os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
13
+ package: ["atomicds"]
14
+ python-version: ["3.10", "3.11", "3.12"]
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+ - uses: actions/setup-python@v5
20
+ with:
21
+ python-version: ${{ matrix.python-version }}
22
+ cache: 'pip'
23
+ - name: Upgrade Python dependencies
24
+ shell: bash
25
+ run: |
26
+ python -m pip install --upgrade pip pip-tools
27
+ python -m piptools compile -q --upgrade --resolver=backtracking -o requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}.txt pyproject.toml
28
+ python -m piptools compile -q --upgrade --resolver=backtracking --all-extras -o requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt pyproject.toml
29
+ - name: Detect changes
30
+ id: changes
31
+ shell: bash
32
+ run: |
33
+ echo "count=$(git diff-index HEAD | wc -l | xargs)" >> $GITHUB_OUTPUT
34
+ echo "files=$(git ls-files --exclude-standard --others | wc -l | xargs)" >> $GITHUB_OUTPUT
35
+ - name: commit & push changes
36
+ if: steps.changes.outputs.count > 0 || steps.changes.outputs.files > 0
37
+ shell: bash
38
+ run: |
39
+ git config user.name github-actions
40
+ git config user.email github-actions@github.com
41
+ git add requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}.txt
42
+ git add requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt
43
+ git commit -m "Update ${{ matrix.os }} dependencies for ${{ matrix.package }}"
44
+ git push -f origin ${{ github.ref_name }}:auto-dependency-upgrades-${{ matrix.package }}-${{ matrix.os }}-py${{ matrix.python-version }}
45
+
46
+ pull_request:
47
+ name: Merge all branches and open PR
48
+ runs-on: ubuntu-latest
49
+ needs: upgrade
50
+ strategy:
51
+ matrix:
52
+ python-version: ["3.11"]
53
+ steps:
54
+ - uses: actions/checkout@v4
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: actions/setup-python@v5
58
+ with:
59
+ python-version: ${{ matrix.python-version }}
60
+ - name: detect auto-upgrade-dependency branches
61
+ id: changes
62
+ run: echo "count=$(git branch -r | grep auto-dependency-upgrades- | wc -l | xargs)" >> $GITHUB_OUTPUT
63
+ - name: merge all auto-dependency-upgrades branches
64
+ if: steps.changes.outputs.count > 0
65
+ run: |
66
+ git config user.name github-actions
67
+ git config user.email github-actions@github.com
68
+ git checkout -b auto-dependency-upgrades
69
+ git branch -r | grep auto-dependency-upgrades- | xargs -I {} git merge {}
70
+ git rebase ${GITHUB_REF##*/}
71
+ git push -f origin auto-dependency-upgrades
72
+ git branch -r | grep auto-dependency-upgrades- | cut -d/ -f2 | xargs -I {} git push origin :{}
73
+ - name: Open pull request if needed
74
+ if: steps.changes.outputs.count > 0
75
+ env:
76
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
77
+ # Only open a PR if the branch is not attached to an existing one
78
+ run: |
79
+ PR=$(gh pr list --head auto-dependency-upgrades --json number -q '.[0].number')
80
+ if [ -z $PR ]; then
81
+ gh pr create \
82
+ --head auto-dependency-upgrades \
83
+ --title "Automated dependency upgrades" \
84
+ --body "Full log: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (THIS IS AN AUTOMATED COMMENT)"
85
+ else
86
+ echo "Pull request already exists, won't create a new one."
87
+ fi
@@ -0,0 +1,188 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # venvs
7
+ .venvs/
8
+
9
+ # development
10
+ .vscode/
11
+
12
+ # PROJECT SPECIFIC
13
+ mp4tojpg/
14
+ *local_overrides*
15
+ lightning_logs/
16
+ backend/migrations/local_dev/*
17
+
18
+ # Model Checkpoints and WandB
19
+ *.ckpt
20
+ wandb/
21
+ artifacts/
22
+
23
+ # Profiling outputs
24
+ profiling/*.bin
25
+
26
+ # C extensions
27
+ *.so
28
+
29
+ # cache
30
+ cache/*
31
+
32
+ # Linux trash
33
+ *.un~
34
+
35
+ # Mac stuff
36
+ *DS_Store
37
+
38
+ # Typescript
39
+ node_modules/
40
+ react-frontend/.next/
41
+ react-frontend/.yarn/*
42
+ !react-frontend/.yarn/patches/
43
+ !react-frontend/.yarn/plugins/
44
+ !react-frontend/.yarn/releases/
45
+ !react-frontend/.yarn/sdks/
46
+ !react-frontend/.yarn/versions/
47
+
48
+ # Distribution / packaging
49
+ .Python
50
+ build/
51
+ develop-eggs/
52
+ dist/
53
+ downloads/
54
+ eggs/
55
+ .eggs/
56
+ # lib/
57
+ # lib64/
58
+ parts/
59
+ sdist/
60
+ var/
61
+ wheels/
62
+ pip-wheel-metadata/
63
+ share/python-wheels/
64
+ *.egg-info/
65
+ .installed.cfg
66
+ *.egg
67
+ MANIFEST
68
+
69
+ # PyInstaller
70
+ # Usually these files are written by a python script from a template
71
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
72
+ *.manifest
73
+ *.spec
74
+
75
+ # Installer logs
76
+ pip-log.txt
77
+ pip-delete-this-directory.txt
78
+
79
+ # Unit test / coverage reports
80
+ htmlcov/
81
+ .tox/
82
+ .nox/
83
+ .coverage
84
+ .coverage.*
85
+ .cache
86
+ nosetests.xml
87
+ coverage.xml
88
+ *.cover
89
+ *.py,cover
90
+ .hypothesis/
91
+ .pytest_cache/
92
+ cover/
93
+ *.prof
94
+
95
+ # Translations
96
+ *.mo
97
+ *.pot
98
+
99
+ # Django stuff:
100
+ *.log
101
+ local_settings.py
102
+ db.sqlite3
103
+ db.sqlite3-journal
104
+
105
+ # Flask stuff:
106
+ instance/
107
+ .webassets-cache
108
+
109
+ # Scrapy stuff:
110
+ .scrapy
111
+
112
+ # Sphinx documentation
113
+ docs/_build/
114
+ docs/_autosummary/
115
+
116
+ # PyBuilder
117
+ .pybuilder/
118
+ target/
119
+
120
+ # Jupyter Notebook
121
+ .ipynb_checkpoints
122
+
123
+ # IPython
124
+ profile_default/
125
+ ipython_config.py
126
+
127
+ # pyenv
128
+ # For a library or package, you might want to ignore these files since the code is
129
+ # intended to run in multiple environments; otherwise, check them in:
130
+ # .python-version
131
+ .python-version
132
+
133
+ # pipenv
134
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
135
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
136
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
137
+ # install all needed dependencies.
138
+ #Pipfile.lock
139
+
140
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
141
+ __pypackages__/
142
+
143
+ # SageMath parsed files
144
+ *.sage.py
145
+
146
+ # Environments
147
+ .env
148
+ .env.*
149
+ .venv
150
+ env/
151
+ venv/
152
+ ENV/
153
+ env.bak/
154
+ venv.bak/
155
+ cypress.env.json
156
+
157
+ # Spyder project settings
158
+ .spyderproject
159
+ .spyproject
160
+
161
+ # Rope project settings
162
+ .ropeproject
163
+
164
+ # mkdocs documentation
165
+ /site
166
+
167
+ # mypy
168
+ .mypy_cache/
169
+ .dmypy.json
170
+ dmypy.json
171
+
172
+ # CDK Context & Staging files
173
+ cdk.context.json
174
+ .cdk.staging/
175
+ cdk.out/
176
+ *.tabl.json
177
+
178
+ # Pyre type checker
179
+ .pyre/
180
+
181
+ # pytype static type analyzer
182
+ .pytype/
183
+
184
+ # Cython debug symbols
185
+ cython_debug/
186
+
187
+ # Ruff cache
188
+ .ruff_cache
@@ -0,0 +1,42 @@
1
+ default_stages: [pre-commit]
2
+ default_install_hook_types: [pre-commit, commit-msg]
3
+
4
+ ci:
5
+ autoupdate_commit_msg: "chore: update pre-commit hooks"
6
+
7
+ repos:
8
+ - repo: https://github.com/psf/black
9
+ rev: 23.9.1
10
+ hooks:
11
+ - id: black
12
+
13
+ - repo: https://github.com/asottile/blacken-docs
14
+ rev: "1.16.0"
15
+ hooks:
16
+ - id: blacken-docs
17
+ additional_dependencies: [black>=23.7.0]
18
+
19
+ - repo: https://github.com/pre-commit/pre-commit-hooks
20
+ rev: v4.5.0
21
+ hooks:
22
+ - id: check-case-conflict
23
+ - id: check-symlinks
24
+ - id: check-yaml
25
+ - id: destroyed-symlinks
26
+ - id: end-of-file-fixer
27
+ - id: mixed-line-ending
28
+ - id: trailing-whitespace
29
+
30
+ - repo: https://github.com/astral-sh/ruff-pre-commit
31
+ rev: v0.3.4
32
+ hooks:
33
+ - id: ruff
34
+ args: [--fix, --show-fixes]
35
+
36
+ - repo: https://github.com/codespell-project/codespell
37
+ rev: v2.2.6
38
+ hooks:
39
+ - id: codespell
40
+ stages: [pre-commit, commit-msg]
41
+ exclude_types: [json, bib, svg]
42
+ args: [--ignore-words-list, "mater,fwe,te"]
@@ -0,0 +1,11 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [0.0.1]
8
+
9
+ ### Added
10
+
11
+ - The initial release!