Skip to content

Add initial version of flexmeasures-openadr3 plugin#1

Draft
nicburgt wants to merge 13 commits into
mainfrom
initial-version
Draft

Add initial version of flexmeasures-openadr3 plugin#1
nicburgt wants to merge 13 commits into
mainfrom
initial-version

Conversation

@nicburgt

Copy link
Copy Markdown
Collaborator

No description provided.

@nicburgt

Copy link
Copy Markdown
Collaborator Author

Migrate to using ingestion redis queue

@socket-security

socket-security Bot commented May 20, 2026

Copy link
Copy Markdown

Comment thread flexmeasures_openadr3/utils/ven_jobs.py Outdated
Comment thread Dockerfile
Comment thread .github/workflows/lint-and-test.yml Outdated
Comment thread .github/workflows/lint-and-test.yml
Comment thread .github/workflows/lint-and-test.yml Outdated
Comment thread pyproject.toml Outdated
Comment thread pyproject.toml
Comment thread flexmeasures_openadr3/utils/ven_clients.py Outdated
Comment thread flexmeasures_openadr3/utils/ven_clients.py Outdated
Comment thread flexmeasures_openadr3/utils/ven_jobs.py Outdated
Comment thread flexmeasures_openadr3/utils/ven_jobs.py Outdated
Comment thread flexmeasures_openadr3/__init__.py Outdated

@nhoening nhoening left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a question

Comment thread uv.lock

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like some clarification about dependencies. I'm not sure what the uv.lock file is used for?

Maybe it is useful for running only this plugin, and it installs FlexMeasures + dependencies?

How compatible is that with running multiple plugins?

In our practical experience, we have a FlexMeasures docker image, and we might create a dedicated one with some custom plugin with some extra requirements installed. And we might install extra plugins (like this one) even at the deployment step (e.g. with ansible).

@nicburgt nicburgt Jun 23, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The uv.lock file locks dependencies to a specific version to ensure a consistent environment.

Running multiple plugins should be relatively straightforward, flexmeasures has also updated to using UV for dependency management.

In the dockerfile in the repository you can see how the plugin can be installed the same way it was done before (just with a uv pip wrapper to ensure we are in a venv).

Furthermore, older plugins that just run on pip can also be installed in this manner

)
db.session.commit()
finally:
self.schedule(ven_client, sensor_config, replace_existing=False)

@Flix6x Flix6x May 27, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The chain of scheduled ingestion jobs would break if one job fails before this point. The finally safeguards against many sources of failure, but if a worker is restarted during job handling before reaching this point, that is problematic.

I'm flagging this as a potential follow-up to move to rq.cron.CronScheduler, which will require a dedicated rq-cron-scheduler service in docker-compose.yml running something like:

from rq.cron import CronScheduler

cron = CronScheduler(connection=app.redis_connection)

cron.start()

And then registering recurring jobs with something like:

cron.register(
    self._execute,
    queue_name=app.queues[FETCH_EVENTS_QUEUE_NAME],
    cron_string="0 0 * * *",
    kwargs={"ven_id": ven_client.id, "config_name": sensor_config.name},
)

Comment thread pyproject.toml Outdated
Comment thread tests/certs/oadr310/vtn/key.pem Outdated
Comment thread tests/certs/oadr310/vtn/cert.pem Outdated
Signed-off-by: Felix Claessen <30658763+Flix6x@users.noreply.github.com>
@socket-security

socket-security Bot commented Jun 10, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: pypi dill is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/dill@0.4.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/dill@0.4.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi flask is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/rq-dashboard@0.8.7pypi/flexmeasures@0.33.0pypi/flask@3.1.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/flask@3.1.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pycparser is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/types-redis@4.6.0.20241004pypi/types-docker@7.1.0.20260518pypi/flexmeasures@0.33.0pypi/pycparser@3.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pycparser@3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pycparser is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/types-redis@4.6.0.20241004pypi/types-docker@7.1.0.20260518pypi/flexmeasures@0.33.0pypi/pycparser@3.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pycparser@3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi sqlalchemy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: uv.lockpypi/flexmeasures@0.33.0pypi/sqlalchemy@2.0.49

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/sqlalchemy@2.0.49. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@nicburgt

nicburgt commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator Author

Apologies for the delay, it's been a few hectic weeks in preparation of the residential flexibility event next week.

I'm going to be going over the codebase once more on the 22nd of June to process all feedback, take another look with fresh eyes at the codebase and answer any outstanding questions. I'll be in touch!

@nicburgt

Copy link
Copy Markdown
Collaborator Author

A few tests seem to have broken in the meantime with the new release, I'll fix this and the pipeline sometime this week when I find a quiet moment again.

Along with that, I'll look into implementing a better cronscheduler while i'm at it.

@nhoening

nhoening commented Jul 6, 2026

Copy link
Copy Markdown
Member

Just a heads-up: We will support secret storage and token refreshing strartegies in FlexMeasures v1.0, see the merged PR and the docs here.

That implementation is partly inspired by code in this PR, so maybe we can simplify this PR? we can also do that in a follow-up, of course. We could create a version which is compatible with FM v0.33, then one that works with FM v1.0.

Would love to hear your thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants