• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FlexMeasures / flexmeasures / 35271600878
86%

Build:
DEFAULT BRANCH: main
Ran 17 Sep 2026 08:42PM UTC
Jobs 1
Files 184
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Sep 2026 08:34PM UTC coverage: 85.717% (+0.05%) from 85.672%
35271600878

push

github

web-flow
Feat: forecast input bounds (#2555)

* Let a forecast target name the sources it trains on

The three regressor options accept a source-filtered sensor reference, so a
regressor can say which of the sources recording on a sensor it reads. The
target sensor took a bare ID only, so a sensor that several sources report on
was trained on whichever of them won each event, with no way to say which one
holds the truth.

The target now accepts the same reference. A bare ID keeps behaving as before:
every source is trained on except forecasters, which are left out so that a
forecaster does not learn from its own forecasts. A reference replaces that
default rather than adding to it, so pass exclude-source-types yourself to keep
forecasters out alongside another filter.

Forecasts are still recorded on the sensor itself, never on a source-filtered
view of it, so the output sensor unwraps a referenced target. The reference
survives serialization into a queued job and storage on an automation.

Signed-off-by: Mohamed Belhsan Hmida <mohamedbelhsanhmida@gmail.com>

* docs: changelog entry for the forecast target source filter

Signed-off-by: Mohamed Belhsan Hmida <mohamedbelhsanhmida@gmail.com>

* data/models/forecasting: extract reusable bound parsing and application

Context:
- Clipping and snapping are about to be applied to forecaster inputs as well as
  to forecast output, so the logic can no longer live inside the output path.

Change:
- Split parse_bounds and apply_bounds_to_values out of apply_forecast_post_processing,
  keeping snap-then-clip order and the [first, second) interval semantics.
- Let error messages carry a label, so input bounds can name the sensor at fault.
- Move _is_parseable_quantity here from the schema, where the input reference
  schema can reach it too without importing the pipeline schema.

Signed-off-by: Mohamed Belhsan Hmida <mohamedbelhsanhmida@gmail.com>

* data/models/forecasting: hand the model each regressor once, not once per ... (continued)

157 of 168 new or added lines in 6 files covered. (93.45%)

2 existing lines in 2 files now uncovered.

19493 of 22741 relevant lines covered (85.72%)

0.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
91.75
flexmeasures/utils/bound_utils.py
2
92.78
0.09% flexmeasures/utils/unit_utils.py
1
87.15
0.99% flexmeasures/data/schemas/sensors.py

Coverage Regressions

Lines Coverage ∆ File
1
94.64
0.0% flexmeasures/data/models/forecasting/custom_models/base_model.py
1
92.78
0.09% flexmeasures/utils/unit_utils.py
Jobs
ID Job ID Ran Files Coverage
1 35271600878.1 17 Sep 2026 08:42PM UTC 184
85.72
GitHub Action Run
Source Files on build 35271600878
  • Tree
  • List 184
  • Changed 7
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35271600878
  • e77febb3 on github
  • Prev Build on main (#35258291751)
  • Next Build on main (#35576920207)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc