diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3a626c3a..fa963381 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,9 @@ updates: directory: / schedule: interval: monthly + cooldown: + default-days: 10 + groups: + github-actions: + patterns: + - "*" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6803d787..2c161b5a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: hooks: - id: validate-pyproject - repo: https://github.com/sphinx-contrib/sphinx-lint - rev: v1.0.1 + rev: v1.0.2 hooks: - id: sphinx-lint types: [rst] @@ -43,7 +43,7 @@ repos: additional_dependencies: ["toml"] entry: isort --profile=black name: isort (python) - - repo: https://github.com/psf/black + - repo: https://github.com/psf/black-pre-commit-mirror rev: 25.11.0 hooks: - id: black diff --git a/docs/clean-prep/tdda.ipynb b/docs/clean-prep/tdda.ipynb index 4b629d0e..b437f50e 100644 --- a/docs/clean-prep/tdda.ipynb +++ b/docs/clean-prep/tdda.ipynb @@ -337,7 +337,7 @@ "metadata": {}, "outputs": [], "source": [ - "with open(\"ignore-iot_constraints.tdda\", \"w\") as f:\n", + "with open(\"iot_example.json\", \"w\") as f:\n", " f.write(constraints.to_json())" ] }, @@ -428,7 +428,7 @@ } ], "source": [ - "cat ignore-iot_constraints.tdda" + "cat iot_example.json" ] }, { @@ -630,7 +630,7 @@ "metadata": {}, "outputs": [], "source": [ - "v = verify_df(new_df, \"ignore-iot_constraints.tdda\")" + "v = verify_df(new_df, \"iot_example.json\")" ] }, { diff --git a/docs/clean-prep/voluptuous.ipynb b/docs/clean-prep/voluptuous.ipynb index c405541c..37b3ea37 100644 --- a/docs/clean-prep/voluptuous.ipynb +++ b/docs/clean-prep/voluptuous.ipynb @@ -27,7 +27,15 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:17.573145Z", + "iopub.status.busy": "2025-11-18T22:31:17.572855Z", + "iopub.status.idle": "2025-11-18T22:31:18.092601Z", + "shell.execute_reply": "2025-11-18T22:31:18.092331Z", + "shell.execute_reply.started": "2025-11-18T22:31:17.573125Z" + } + }, "outputs": [], "source": [ "import logging\n", @@ -62,7 +70,15 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.093348Z", + "iopub.status.busy": "2025-11-18T22:31:18.093184Z", + "iopub.status.idle": "2025-11-18T22:31:18.095343Z", + "shell.execute_reply": "2025-11-18T22:31:18.094962Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.093338Z" + } + }, "outputs": [], "source": [ "logger = logging.getLogger(0)\n", @@ -80,7 +96,15 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.095921Z", + "iopub.status.busy": "2025-11-18T22:31:18.095827Z", + "iopub.status.idle": "2025-11-18T22:31:18.425513Z", + "shell.execute_reply": "2025-11-18T22:31:18.424671Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.095914Z" + } + }, "outputs": [], "source": [ "sales = pd.read_csv('https://raw.githubusercontent.com/kjam/data-cleaning-101/master/data/sales_data.csv')" @@ -96,7 +120,15 @@ { "cell_type": "code", "execution_count": 4, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.426847Z", + "iopub.status.busy": "2025-11-18T22:31:18.426587Z", + "iopub.status.idle": "2025-11-18T22:31:18.442451Z", + "shell.execute_reply": "2025-11-18T22:31:18.441991Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.426831Z" + } + }, "outputs": [ { "data": { @@ -211,7 +243,15 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.443750Z", + "iopub.status.busy": "2025-11-18T22:31:18.443370Z", + "iopub.status.idle": "2025-11-18T22:31:18.448128Z", + "shell.execute_reply": "2025-11-18T22:31:18.447641Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.443732Z" + } + }, "outputs": [ { "data": { @@ -247,7 +287,15 @@ { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.450998Z", + "iopub.status.busy": "2025-11-18T22:31:18.450836Z", + "iopub.status.idle": "2025-11-18T22:31:18.453121Z", + "shell.execute_reply": "2025-11-18T22:31:18.452782Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.450982Z" + } + }, "outputs": [], "source": [ "schema = Schema(\n", @@ -261,7 +309,15 @@ { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.453628Z", + "iopub.status.busy": "2025-11-18T22:31:18.453552Z", + "iopub.status.idle": "2025-11-18T22:31:18.478857Z", + "shell.execute_reply": "2025-11-18T22:31:18.478488Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.453621Z" + } + }, "outputs": [ { "name": "stderr", @@ -361,7 +417,15 @@ { "cell_type": "code", "execution_count": 8, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.479687Z", + "iopub.status.busy": "2025-11-18T22:31:18.479594Z", + "iopub.status.idle": "2025-11-18T22:31:18.482224Z", + "shell.execute_reply": "2025-11-18T22:31:18.481893Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.479678Z" + } + }, "outputs": [ { "data": { @@ -399,31 +463,55 @@ { "cell_type": "code", "execution_count": 9, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.482964Z", + "iopub.status.busy": "2025-11-18T22:31:18.482903Z", + "iopub.status.idle": "2025-11-18T22:31:18.484745Z", + "shell.execute_reply": "2025-11-18T22:31:18.484447Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.482958Z" + } + }, "outputs": [], "source": [ - "def ValidDate(fmt=\"%Y-%m-%d %H:%M:%S\"):\n", + "def valid_date(fmt=\"%Y-%m-%d %H:%M:%S\"):\n", " return lambda v: datetime.strptime(v, fmt)" ] }, { "cell_type": "code", "execution_count": 10, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.485394Z", + "iopub.status.busy": "2025-11-18T22:31:18.485245Z", + "iopub.status.idle": "2025-11-18T22:31:18.487196Z", + "shell.execute_reply": "2025-11-18T22:31:18.486926Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.485388Z" + } + }, "outputs": [], "source": [ "schema = Schema(\n", " {\n", - " Required(\"timestamp\"): All(ValidDate()),\n", + " Required(\"timestamp\"): All(valid_date()),\n", " },\n", - " extra=ALLOW_EXTRA,\n", + " extra = ALLOW_EXTRA,\n", ")" ] }, { "cell_type": "code", "execution_count": 11, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.487668Z", + "iopub.status.busy": "2025-11-18T22:31:18.487587Z", + "iopub.status.idle": "2025-11-18T22:31:18.494464Z", + "shell.execute_reply": "2025-11-18T22:31:18.494239Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.487661Z" + } + }, "outputs": [], "source": [ "error_count = 0\n", @@ -440,7 +528,15 @@ { "cell_type": "code", "execution_count": 12, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.495261Z", + "iopub.status.busy": "2025-11-18T22:31:18.495136Z", + "iopub.status.idle": "2025-11-18T22:31:18.497949Z", + "shell.execute_reply": "2025-11-18T22:31:18.497655Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.495250Z" + } + }, "outputs": [ { "data": { @@ -467,10 +563,18 @@ { "cell_type": "code", "execution_count": 13, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.498347Z", + "iopub.status.busy": "2025-11-18T22:31:18.498271Z", + "iopub.status.idle": "2025-11-18T22:31:18.500405Z", + "shell.execute_reply": "2025-11-18T22:31:18.500183Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.498341Z" + } + }, "outputs": [], "source": [ - "def ValidDate(fmt=\"%Y-%m-%d %H:%M:%S\"):\n", + "def valid_date(fmt=\"%Y-%m-%d %H:%M:%S\"):\n", " def validation_func(v):\n", " try:\n", " assert datetime.strptime(v, fmt) <= datetime.now()\n", @@ -483,21 +587,37 @@ { "cell_type": "code", "execution_count": 14, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.500793Z", + "iopub.status.busy": "2025-11-18T22:31:18.500676Z", + "iopub.status.idle": "2025-11-18T22:31:18.502440Z", + "shell.execute_reply": "2025-11-18T22:31:18.502172Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.500787Z" + } + }, "outputs": [], "source": [ "schema = Schema(\n", " {\n", - " Required(\"timestamp\"): All(ValidDate()),\n", + " Required(\"timestamp\"): All(valid_date()),\n", " },\n", - " extra=ALLOW_EXTRA,\n", + " extra = ALLOW_EXTRA,\n", ")" ] }, { "cell_type": "code", "execution_count": 15, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.502983Z", + "iopub.status.busy": "2025-11-18T22:31:18.502885Z", + "iopub.status.idle": "2025-11-18T22:31:18.509278Z", + "shell.execute_reply": "2025-11-18T22:31:18.508890Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.502974Z" + } + }, "outputs": [], "source": [ "error_count = 0\n", @@ -514,7 +634,15 @@ { "cell_type": "code", "execution_count": 16, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-18T22:31:18.509964Z", + "iopub.status.busy": "2025-11-18T22:31:18.509861Z", + "iopub.status.idle": "2025-11-18T22:31:18.512235Z", + "shell.execute_reply": "2025-11-18T22:31:18.511993Z", + "shell.execute_reply.started": "2025-11-18T22:31:18.509949Z" + } + }, "outputs": [ { "data": { @@ -548,7 +676,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.11.13" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/docs/data-processing/serialisation-formats/pyproject.toml b/docs/data-processing/serialisation-formats/pyproject.toml index 7f1f96fc..2d6e0964 100644 --- a/docs/data-processing/serialisation-formats/pyproject.toml +++ b/docs/data-processing/serialisation-formats/pyproject.toml @@ -6,14 +6,14 @@ line-length = 79 [tool.isort] -atomic=true -force_grid_wrap=0 -include_trailing_comma=true -lines_after_imports=2 -lines_between_types=1 -multi_line_output=3 -not_skip="__init__.py" -use_parentheses=true +atomic = true +force_grid_wrap = 0 +include_trailing_comma = true +lines_after_imports = 2 +lines_between_types = 1 +multi_line_output = 3 +not_skip = "__init__.py" +use_parentheses = true -known_first_party="jupyter-tutorial" -known_third_party=["mpi4py", "numpy", "requests"] +known_first_party = "jupyter-tutorial" +known_third_party = [ "mpi4py", "numpy", "requests" ] diff --git a/docs/data-processing/serialisation-formats/toml/pyproject.toml b/docs/data-processing/serialisation-formats/toml/pyproject.toml index 260bbd2e..732e8efc 100644 --- a/docs/data-processing/serialisation-formats/toml/pyproject.toml +++ b/docs/data-processing/serialisation-formats/toml/pyproject.toml @@ -6,14 +6,14 @@ line-length = 79 [tool.isort] -atomic=true -force_grid_wrap=0 -include_trailing_comma=true -lines_after_imports=2 -lines_between_types=1 -multi_line_output=3 -not_skip="__init__.py" -use_parentheses=true +atomic = true +force_grid_wrap = 0 +include_trailing_comma = true +lines_after_imports = 2 +lines_between_types = 1 +multi_line_output = 3 +not_skip = "__init__.py" +use_parentheses = true -known_first_party=["MY_FIRST_MODULE", "MY_SECOND_MODULE"] -known_third_party=["mpi4py", "numpy", "requests"] +known_first_party = [ "MY_FIRST_MODULE", "MY_SECOND_MODULE" ] +known_third_party = [ "mpi4py", "numpy", "requests" ]