Add measurement campaign table
Summary
Add support for thew new measurement campaigns table in BigQuery. This allows data to be associated with a measurement campaign that can be given a label and description. The code has also been cleaned up and some bugs fixed.
Contents (#108)
IMPORTANT: There are 2 breaking changes.
New features
- Add measurement campaign data (start time, end time, label, and available sensors) to
session
table when uploading a window
Enhancements
- Replace
label
field withsession_reference
in existing tables
Fixes
- Raise warning if data gateway configuration not present in metadata
Reversions
- 💥 BREAKING CHANGE: Remove ability to provide label via CLI
Operations
- Use latest conventional commit message checker
- Use new Octue GitHub actions in workflows
- Pin
snok/install-poetry
to avoid missing poetry bug - Ensure poetry is available within tox
- Use new syntax for setting outputs in GitHub workflow
Dependencies
- 💥 BREAKING CHANGE: Drop
python3.7
support - Update dependencies to patch some security vulnerabilities
- Use
octue==0.41.0
- Add
pandas
dev dependency - Add missing
pyarrow
dev dependency - Combine old
dev-dependencies
group with newdev
group - Regenerate requirements files for Raspberry Pi
Refactoring
- Remove repetition of method call in
BatchingUploader
- Factor stopping the gateway out into a method
Testing
- Avoid timezone issues with timestamp value of 0
- Update
MockBigQueryClient
- Rename
MockBigQueryClient.rows
attribute toinserted_rows
- Use
Mock
instead oftypes.SimpleNamespace
- Update deployment test to check for session creation
Upgrade instructions
💥 Remove ability to provide label via CLI
Provide a "label" key mapped to the label in the "measurement_campaign" dictionary of the configuration file instead.
💥 Drop python3.7 support
Update to python>=3.8
.