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.
- atomscale-0.7.0/.github/workflows/release.yml +161 -0
- atomscale-0.7.0/.github/workflows/testing.yml +93 -0
- atomscale-0.7.0/.github/workflows/upgrade_dependencies.yml +87 -0
- atomscale-0.7.0/.gitignore +188 -0
- atomscale-0.7.0/.pre-commit-config.yaml +42 -0
- atomscale-0.7.0/CHANGELOG.md +11 -0
- atomscale-0.7.0/LICENSE +674 -0
- atomscale-0.7.0/MANIFEST.in +8 -0
- atomscale-0.7.0/PKG-INFO +65 -0
- atomscale-0.7.0/README.md +17 -0
- atomscale-0.7.0/atomicds-shim-dist/pyproject.toml +36 -0
- atomscale-0.7.0/docs/Makefile +20 -0
- atomscale-0.7.0/docs/_templates/custom-class-template.rst +32 -0
- atomscale-0.7.0/docs/_templates/custom-module-template.rst +66 -0
- atomscale-0.7.0/docs/conf.py +152 -0
- atomscale-0.7.0/docs/guides/index.rst +15 -0
- atomscale-0.7.0/docs/guides/inspect-results.rst +60 -0
- atomscale-0.7.0/docs/guides/poll-timeseries.rst +143 -0
- atomscale-0.7.0/docs/guides/quickstart.rst +51 -0
- atomscale-0.7.0/docs/guides/search-data.rst +68 -0
- atomscale-0.7.0/docs/guides/stream-rheed.rst +104 -0
- atomscale-0.7.0/docs/guides/upload-data.rst +46 -0
- atomscale-0.7.0/docs/index.rst +66 -0
- atomscale-0.7.0/docs/make.bat +35 -0
- atomscale-0.7.0/docs/modules.rst +21 -0
- atomscale-0.7.0/examples/general_use.ipynb +1022 -0
- atomscale-0.7.0/examples/rheed_streaming.ipynb +190 -0
- atomscale-0.7.0/examples/timeseries_polling.ipynb +218 -0
- atomscale-0.7.0/examples/vxwse2-placeholder/task1_films.ipynb +448 -0
- atomscale-0.7.0/examples/vxwse2-placeholder/task1_sapphire.ipynb +483 -0
- atomscale-0.7.0/examples/vxwse2-placeholder/task2_composition.ipynb +556 -0
- atomscale-0.7.0/pyproject.toml +170 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.10.txt +86 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.10_extras.txt +186 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.11.txt +86 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.11_extras.txt +178 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.12.txt +86 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.12_extras.txt +178 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.9.txt +80 -0
- atomscale-0.7.0/requirements/requirements-macos-latest_py3.9_extras.txt +127 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.10.txt +86 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.10_extras.txt +186 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.11.txt +86 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.11_extras.txt +178 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.12.txt +86 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.12_extras.txt +178 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.9.txt +80 -0
- atomscale-0.7.0/requirements/requirements-ubuntu-latest_py3.9_extras.txt +127 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.10.txt +86 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.10_extras.txt +190 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.11.txt +86 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.11_extras.txt +182 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.12.txt +86 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.12_extras.txt +182 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.9.txt +82 -0
- atomscale-0.7.0/requirements/requirements-windows-latest_py3.9_extras.txt +131 -0
- atomscale-0.7.0/setup.cfg +4 -0
- atomscale-0.7.0/src/atomicds/__init__.py +82 -0
- atomscale-0.7.0/src/atomscale/__init__.py +4 -0
- atomscale-0.7.0/src/atomscale/client.py +918 -0
- atomscale-0.7.0/src/atomscale/core/__init__.py +12 -0
- atomscale-0.7.0/src/atomscale/core/client.py +269 -0
- atomscale-0.7.0/src/atomscale/core/files.py +54 -0
- atomscale-0.7.0/src/atomscale/core/utils.py +274 -0
- atomscale-0.7.0/src/atomscale/results/__init__.py +24 -0
- atomscale-0.7.0/src/atomscale/results/group.py +38 -0
- atomscale-0.7.0/src/atomscale/results/metrology.py +22 -0
- atomscale-0.7.0/src/atomscale/results/optical.py +31 -0
- atomscale-0.7.0/src/atomscale/results/photoluminescence.py +48 -0
- atomscale-0.7.0/src/atomscale/results/raman.py +48 -0
- atomscale-0.7.0/src/atomscale/results/rheed_image.py +753 -0
- atomscale-0.7.0/src/atomscale/results/rheed_video.py +76 -0
- atomscale-0.7.0/src/atomscale/results/unknown.py +42 -0
- atomscale-0.7.0/src/atomscale/results/xps.py +63 -0
- atomscale-0.7.0/src/atomscale/streaming/Cargo.lock +3096 -0
- atomscale-0.7.0/src/atomscale/streaming/Cargo.toml +27 -0
- atomscale-0.7.0/src/atomscale/streaming/__init__.py +0 -0
- atomscale-0.7.0/src/atomscale/streaming/rheed_stream.pyi +40 -0
- atomscale-0.7.0/src/atomscale/streaming/src/initialize.rs +119 -0
- atomscale-0.7.0/src/atomscale/streaming/src/lib.rs +506 -0
- atomscale-0.7.0/src/atomscale/streaming/src/upload.rs +194 -0
- atomscale-0.7.0/src/atomscale/streaming/src/utils.rs +54 -0
- atomscale-0.7.0/src/atomscale/timeseries/__init__.py +15 -0
- atomscale-0.7.0/src/atomscale/timeseries/align.py +106 -0
- atomscale-0.7.0/src/atomscale/timeseries/metrology.py +54 -0
- atomscale-0.7.0/src/atomscale/timeseries/optical.py +120 -0
- atomscale-0.7.0/src/atomscale/timeseries/polling.py +301 -0
- atomscale-0.7.0/src/atomscale/timeseries/provider.py +72 -0
- atomscale-0.7.0/src/atomscale/timeseries/registry.py +19 -0
- atomscale-0.7.0/src/atomscale/timeseries/rheed.py +123 -0
- atomscale-0.7.0/src/atomscale/timeseries/sample.py +114 -0
- atomscale-0.7.0/src/atomscale.egg-info/PKG-INFO +65 -0
- atomscale-0.7.0/src/atomscale.egg-info/SOURCES.txt +108 -0
- atomscale-0.7.0/src/atomscale.egg-info/dependency_links.txt +1 -0
- atomscale-0.7.0/src/atomscale.egg-info/requires.txt +27 -0
- atomscale-0.7.0/src/atomscale.egg-info/top_level.txt +2 -0
- atomscale-0.7.0/tests/__init__.py +0 -0
- atomscale-0.7.0/tests/conftest.py +29 -0
- atomscale-0.7.0/tests/data/test_rheed.mp4 +0 -0
- atomscale-0.7.0/tests/test_atomicds_alias.py +37 -0
- atomscale-0.7.0/tests/test_client.py +279 -0
- atomscale-0.7.0/tests/test_core.py +64 -0
- atomscale-0.7.0/tests/test_metrology.py +31 -0
- atomscale-0.7.0/tests/test_optical.py +40 -0
- atomscale-0.7.0/tests/test_photoluminescence.py +32 -0
- atomscale-0.7.0/tests/test_polling.py +398 -0
- atomscale-0.7.0/tests/test_raman.py +32 -0
- atomscale-0.7.0/tests/test_rheed_image.py +78 -0
- atomscale-0.7.0/tests/test_rheed_video.py +49 -0
- 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!
|