Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
d1c0084
Simple track dwell time counter for time in area project
Aug 10, 2025
2ae7a4a
Add real data collection and visualization scripts
Aug 14, 2025
da77d3f
Add automated system tests to CI/CD
Aug 16, 2025
c1c8b57
Clarify system tests
Aug 17, 2025
594d8c9
Add micro second precission
Aug 17, 2025
19727ba
Remove partial line breaking json test data
Aug 17, 2025
f4ae466
Optimize fake data loader
Aug 17, 2025
d2fd98c
README updates
Aug 17, 2025
15f896e
Fix install in cicd
Aug 17, 2025
e54c045
Install missing types and fix failing linters
Aug 17, 2025
d73e102
Add new longer test sample
Aug 17, 2025
89f5ff6
Fix float compare bug
Aug 17, 2025
9ce29e9
Remove undefined behavior
Aug 17, 2025
1027904
Fix syntax error
Aug 17, 2025
d62d42c
README fixes
Aug 19, 2025
f2209d3
Refactor and improve scripts
Aug 19, 2025
a838324
README updates
Aug 20, 2025
60d8d20
WIP: Working overlay
Aug 22, 2025
677efb8
Fixes for overlay
Oct 13, 2025
119cee0
Rename metrics for clarity
Oct 13, 2025
82f9f72
Add start of zone filtering
Oct 27, 2025
6af5e37
Prototype for ray tracing include zone
Oct 27, 2025
cdd4c0b
Add zone filtering to pipeline
Oct 30, 2025
032d721
Improve debug logging from starlark scripts
Oct 30, 2025
bc79723
Add missing files
Oct 30, 2025
31ad78c
Add instructions to get zone
Nov 3, 2025
137c11c
Make workflow work with no configured zone
Nov 3, 2025
1efb3e5
Add missing readme file
Nov 3, 2025
494903d
Fix automatic tests
Nov 3, 2025
408851d
Add automated tests for the zone filtering
Nov 4, 2025
827ea3d
Fix sonarcloud warnings
Nov 4, 2025
7eebdef
Add filter for object class
Nov 4, 2025
77c6dc0
Add files for event support
fixedit-olatz Nov 4, 2025
3ffb092
Merge pull request #27 from fixedit-ai/add-event-management-files
daniel-falk Nov 13, 2025
f837825
Small fixes
Nov 28, 2025
bf60735
Remove state change checking from events in time-in-area
fixedit-olatz Dec 1, 2025
eb45013
WIP fixes for time in area
daniel-falk Dec 1, 2025
8b63f6b
Refactor overlay handling
Dec 1, 2025
b7c5308
Refactor error and exit
Dec 1, 2025
1b216dc
Review comments
Dec 1, 2025
24d4c23
Merge pull request #29 from fixedit-ai/fixes-to-time-in-area-overlay
daniel-falk Dec 1, 2025
5baf268
Change flush intervals for outputs
fixedit-olatz Dec 1, 2025
31f5f97
Change heartbeat flush interval
fixedit-olatz Dec 1, 2025
abaaa41
Use metric_batch_size instead of flush_interval
Dec 1, 2025
4afb2aa
Merge pull request #30 from fixedit-ai/add-flush-intervals
daniel-falk Dec 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,26 @@ reviews:
AXIS OS 9.80), it should be avoided unless the AXIS OS limitations are explicitly
mentioned. If not using `local`, it can be good to use a function specific prefix
for the variable names to avoid conflicts with other variables.

Clearly document in the head of the file which environment variables they expect
and if they are optional or required.

It's normally good to use `set -eu` for stricter error handling, but `-o pipefail`
is not supported in the Axis devices' shell.

When an error occurs in a helper script that is used with the exec or execd plugin of
Telegraf, then the script should at minimum log an descriptive error message to stderr
and exit with a non-zero error code. The exit code should be unique enough to identify
the problem type and the error codes should be documented in the top of the script.
When errors are logged to stderr, Telegraf will only show the first line that was logged
followed by three dots. Therefore, a longer line might make more sense than multiple
shorter lines. The error logs should not end with a newline.

It is also good if the script respects the `TELEGRAF_DEBUG` variable, and if this is set
to "true", then the script should log debug messages to a file in the `HELPER_FILES_DIR`
with the .debug suffix. This log can be more verbose and make use of multiple lines.
When TELEGRAF_DEBUG is not set, logging to file should not be enabled since it can fill
the flash storage or wear out the storage chip.
- path: "**/*.md"
instructions: >-
Documentation files should clearly communicate the dual audience: (1) server-side
Expand Down
79 changes: 79 additions & 0 deletions .github/actions/python-quality-check/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: "Python Quality Check"
description: "Run Python linting and type checking tools"
inputs:
working-directory:
description: "Working directory for the Python project"
required: true
additional-types:
description: "Additional type packages to install (space-separated)"
required: false
default: ""
pylint-options:
description: "Additional options for pylint"
required: false
default: ""

runs:
using: "composite"
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install test dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install \
black==25.1.0 \
flake8==7.3.0 \
isort==6.0.1 \
mypy==1.17.1 \
pylint==3.3.8 \
types-click==7.1.8 \
${{ inputs.additional-types }}

- name: Install project requirements
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
pip install -r requirements.txt

- name: Run flake8
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
# E203: whitespace before ':' (conflicts with black)
# W503: line break before binary operator (conflicts with black)
flake8 . --max-line-length=100 --extend-ignore=E203,W503

- name: Run mypy
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
mypy .

- name: Run pylint
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
pylint *.py ${{ inputs.pylint-options }}

- name: Run isort
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
isort --check-only --diff --profile black .

- name: Run black
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
black --check --diff .

- name: Run doctests
shell: bash
working-directory: ${{ inputs.working-directory }}
run: |
python -m doctest *.py -v
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Python Code Quality Check for the time-in-area-analytics project

on:
push:
paths:
- "project-time-in-area-analytics/test_scripts/**"
pull_request:
paths:
- "project-time-in-area-analytics/test_scripts/**"

permissions:
contents: read

jobs:
python-quality:
runs-on: ubuntu-latest
defaults:
run:
working-directory: project-time-in-area-analytics/test_scripts

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Run Python Quality Check
uses: ./.github/actions/python-quality-check
with:
working-directory: project-time-in-area-analytics/test_scripts
# Disable E1101 for OpenCV false positives (no-member errors for cv2)
pylint-options: --disable=E1101
Loading
Loading