Skip to content

Split the frequenz.sdk.actor package to its own repository #851

@llucax

Description

@llucax

What's needed?

We need to allow cloud applications to be able to write actors without depending on the microgrid.

Proposed solution

Split the frequenz.sdk.actor package to its own repository:

  • We can use the frequenz.actor package. See which namespace would be possible to use for the new python package: frequenz.actor would be the natural choice, but it is still a namespace for the many actor packages. frequenz.actor.core or frequenz.actor.base might be some options, although not that clear. Keeping frequenz.sdk.actor could be another option, but we need to see if it doesn't conflict with frequenz.sdk living in another package too. Another alternative could be frequenz.actors (in plural, as we already have with channels), but that might be a bit confusing that we have both frequenz.actor and frequenz.actors packages.
  • Create the new repository frequenz-actor-python
  • Move the code there
  • Release a v1.0.0 version (we want to ensure stability from day one, as we are stabilizing all the base repos).
  • Remove the code from the SDK and depend on the new repo

Use cases

All the cloud apps.

Alternatives and workarounds

For now we've been copying protobuf files from the common API repo to the API repos that should depend on common to break the dependency, but this is clearly not sustainable.

Additional context

This is a very complicated, multi-dimensional, problem, involving many parts. Is part (and one way) to solve the dependency conflict of the SDK depending on the microgrid API v0.15 (and common v0.4) and the new API clients depending on common v0.5.

Metadata

Metadata

Assignees

Labels

part:actorAffects an actor ot the actors utilities (decorator, etc.)priority:highAddress this as soon as possiblescope:breaking-changeBreaking change, users will need to update their codetype:enhancementNew feature or enhancement visitble to users

Type

No type

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions