Skip to content

Unify naming: rename .vars → .variables across Constraint/LinearExpression/QuadraticExpression #730

Description

@FBumann

Today the read-side uses vars but the typed mutation API uses variables:

  • Constraint.vars (property + deprecated setter)
  • Constraint.update(variables=...) (kwarg)
  • Same split on LinearExpression.vars, QuadraticExpression.vars, and the underlying Dataset key

The kwarg was variables to avoid shadowing the vars() builtin in kwarg position — that reasoning doesn't apply to property names. Result is c.vars to read but c.update(variables=...) to mutate, which is mildly confusing.

Proposal

Rename .vars.variables on Constraint, LinearExpression, QuadraticExpression, and the underlying Dataset key. Keep .vars as a deprecated alias for one release cycle, then remove.

Scope / cost

  • Touches every internal callsite + the Dataset key.
  • PyPSA reads c.vars directly in many places — needs coordination.
  • Two-release deprecation: add .variables, alias .vars with DeprecationWarning, remove later.

Out of scope for #727 (typed .update() API); tracking separately.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions