Skip to content

Commit c8a7f9d

Browse files
Merge branch 'release/26.3.2'
* release/26.3.2: (30 commits) bump version fix regression fix automation form fix for missing label update the Assign Pioreactors to be more clear fix for patient button new build with less useEffects close pio-o4w8 close pio-7700 close pio-s80k close pio-z32m close pio-cl3w close pio-ey43 solve pio-1bth solve pio-dpqp underline span more turbidostat run tets test test test ...
2 parents 5f25060 + 95eac93 commit c8a7f9d

File tree

132 files changed

+2725
-1301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+2725
-1301
lines changed

.gitignore

Lines changed: 82 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,139 @@
1+
#
2+
# Project-specific files
3+
#
14
_DOC_CHECKER.md
5+
.codex
6+
.envrc
7+
.pioreactor/
8+
.tickets/
29
experiments/
310
jupyter_notebooks/
4-
.pioreactor/
511
plugins_dev
6-
*.sqlite3
7-
*.sqlite
12+
scratch/
13+
subs/
14+
15+
#
16+
# Local data and runtime artifacts
17+
#
18+
*.csv
819
*.log
920
*.mosquitto
10-
.envrc
11-
.codex
12-
*.csv
21+
*.sqlite
22+
*.sqlite3
1323

14-
# Byte-compiled / optimized / DLL files
24+
#
25+
# Python bytecode and extensions
26+
#
1527
__pycache__/
1628
*.py[cod]
1729
*$py.class
18-
19-
# C extensions
2030
*.so
2131

32+
#
2233
# Distribution / packaging
34+
#
2335
.Python
36+
*.egg
37+
*.egg-info/
38+
.eggs/
39+
.installed.cfg
40+
MANIFEST
2441
build/
2542
develop-eggs/
2643
dist/
2744
downloads/
2845
eggs/
29-
.eggs/
3046
lib/
3147
lib64/
3248
parts/
49+
pip-wheel-metadata/
3350
sdist/
51+
share/python-wheels/
3452
var/
3553
wheels/
36-
pip-wheel-metadata/
37-
share/python-wheels/
38-
*.egg-info/
39-
.installed.cfg
40-
*.egg
41-
MANIFEST
4254

55+
#
4356
# PyInstaller
44-
# Usually these files are written by a python script from a template
45-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
57+
#
4658
*.manifest
4759
*.spec
4860

61+
#
4962
# Installer logs
50-
pip-log.txt
63+
#
5164
pip-delete-this-directory.txt
65+
pip-log.txt
5266

53-
# Unit test / coverage reports
54-
htmlcov/
55-
.tox/
56-
.nox/
67+
#
68+
# Test, coverage, and caches
69+
#
70+
.cache
5771
.coverage
5872
.coverage.*
59-
.cache
60-
nosetests.xml
61-
coverage.xml
62-
*.cover
63-
*.py,cover
6473
.hypothesis/
74+
.nox/
6575
.pytest_cache/
76+
.tox/
77+
*.cover
78+
*.py,cover
79+
coverage.xml
80+
htmlcov/
81+
nosetests.xml
6682

67-
# Translations
83+
#
84+
# Type checkers
85+
#
86+
.dmypy.json
87+
.mypy_cache/
88+
.pyre/
89+
dmypy.json
90+
91+
#
92+
# Translations and docs
93+
#
6894
*.mo
6995
*.pot
70-
71-
72-
# Sphinx documentation
7396
docs/_build/
97+
site/
7498

75-
# PyBuilder
99+
#
100+
# Build tools
101+
#
76102
target/
77103

78-
# Jupyter Notebook
104+
#
105+
# Notebook / REPL state
106+
#
79107
.ipynb_checkpoints
80-
81-
# IPython
82-
profile_default/
83108
ipython_config.py
109+
profile_default/
84110

85-
# pyenv
86-
.python-version
87-
88-
# pipenv
89-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
90-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
91-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
92-
# install all needed dependencies.
93-
#Pipfile.lock
94-
95-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
96-
__pypackages__/
97-
98-
# Celery stuff
99-
celerybeat-schedule
100-
celerybeat.pid
101-
102-
# SageMath parsed files
103-
*.sage.py
104-
105-
# Environments
111+
#
112+
# Python environment managers
113+
#
106114
.env
115+
.python-version
107116
.venv
108-
env/
109-
venv/
110117
ENV/
118+
env/
111119
env.bak/
120+
venv/
112121
venv.bak/
113122

114-
# Spyder project settings
115-
.spyderproject
116-
.spyproject
123+
#
124+
# Packaging alternatives
125+
#
126+
__pypackages__/
117127

118-
# Rope project settings
128+
#
129+
# Tooling / editors
130+
#
119131
.ropeproject
120-
121-
# mkdocs documentation
122-
/site
123-
124-
# mypy
125-
.mypy_cache/
126-
.dmypy.json
127-
dmypy.json
128-
129-
# Pyre type checker
130-
.pyre/
131-
132-
# vscode
132+
.spyderproject
133+
.spyproject
133134
.vscode
134135

135-
136-
# my dev
137-
.tickets/
138-
scratch/
136+
#
137+
# Misc
138+
#
139+
*.sage.py

.pre-commit-config.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ repos:
1212
- id: trailing-whitespace
1313
- id: check-added-large-files
1414
args: ['--maxkb=3500']
15+
exclude: ^core/pioreactor/web/static/static/js/
1516

1617

1718
- repo: https://github.com/ambv/black
@@ -34,15 +35,14 @@ repos:
3435
- "--ignore=E203,E266,E501,W503,E402,E401,E704,E202,E201,E231"
3536
- "--per-file-ignores=*/__init__.py: F401"
3637

37-
- repo: https://github.com/pre-commit/mirrors-mypy
38-
rev: 'v1.18.2' # Use the sha / tag you want to point at
38+
- repo: local
3939
hooks:
4040
- id: mypy
41-
args: ["--strict-equality"]
42-
additional_dependencies: [
43-
msgspec==0.19.0,
44-
types-pkg_resources==0.1.3,
45-
]
41+
name: mypy
42+
entry: .venv/bin/mypy --config-file=mypy.ini core/pioreactor
43+
language: system
44+
pass_filenames: false
45+
files: ^core/pioreactor/
4646

4747

4848
- repo: https://github.com/asottile/reorder_python_imports

AGENTS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ This repository contains the **executable code for the Pioreactor project**. It
1212

1313
---
1414

15+
## Important rules
16+
17+
* Never run `git add`, `git commit`, `git revert`, `git restore`, or `git checkout` without permission.
18+
* Git is read-only: you may inspect logs, diffs, and history.
19+
1520
## Key components
1621

1722
* **Background Jobs**

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
### 26.3.2
2+
3+
#### Bug fixes
4+
5+
- Adjusted the UI's "Assign Pioreactors" dialog so `Select all available` no longer includes workers already assigned to another experiment, reducing accidental bulk reassignments while preserving individual reassignment.
6+
- fixed new images now having the `experiment_tags` table
7+
- fixed some UI bugs
8+
19
### 26.3.1
210

311
#### Bug fixes

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ wheel: venv ## Build core wheel (stage 1 artifact)
104104

105105
frontend-build:
106106
cd $(NODE_DIR) && npm run --silent build
107+
git add core/pioreactor/web/static/
107108

108109
# --- live dev servers ---------------------------------------------------------
109110
web-dev: venv ## Run Flask API on 127.0.0.1:5000

core/pioreactor/actions/leader/backup_database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def _local_available_space(path: str) -> int:
5050

5151
def count_writes_occurring() -> int:
5252
with local_intermittent_storage("mqtt_to_db_streaming") as c:
53-
return c.get("inserts_in_last_60s", 0)
53+
return int(c.get("inserts_in_last_60s", 0)) # type: ignore[call-overload]
5454

5555

5656
def backup_database(output_file: str, force: bool = False, backup_to_workers: int = 0) -> None:

0 commit comments

Comments
 (0)