Long-form inputs: tables as bounds, coefficients, constants and rhs; relation group-by
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Read the conformance suite and linopy/csr.py:318 to understand from_grouper and how the store scatters repeated source rows onto the Grid. Then trace how bounds, coefficients, constants, and right-hand sides are converted into the current stores. Done when long-table inputs support broadcast missing keys, default= for unlisted cells, and relation group-by sums on both backends under the conformance suite.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[!NOTE]
The following content was generated by AI.
Child of #1019 (step 5), after the conformance suite. Independent of the store protocol.
Problem
Inputs are N-dimensional arrays. A relation with several rows per source key (link port → bus) needs an incidence matrix and @. PyPSA moves to a long-form data model (datarecord).
Proposal
- Accept bounds, coefficients, constants and right-hand sides as a long table: key columns plus one value column. A missing key column broadcasts over that dim; cells not listed take
default=. - Group-by sums over relation tables go through
from_grouper(linopy/csr.py:318) with repeated source rows, a scatter onto theGridthe store already does. - Inputs are converted to the current stores; no dependency on datarecord, narwhals or DuckDB types. Covered on both backends by the conformance suite.
Measurements and the deferred table-based key set are in #1019.
- Lenguaje dominante
- Python
- Estrellas
- 262
- Forks
- 89
- Merge medio
- 2 d 5 h
- PR fusionados (30 d)
- 36
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PyPSA/linopy
-
Constant LinearExpression * multi-term LinearExpression raises TypeError (mirrored product works)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug solver interface
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Drop the per-nonzero cell array from `Store.terms()` to cut transient memory in the dense LP exportAbiertoperformance refactor v1
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
-
Meta: separate dense and sparse stores from the expression and constraint frontendPosiblemente ocupada @Rishabhkanhaiya la tomó hace 18 días. Abiertodiscussion refactor sparse
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
PyPSA/linopy#1019 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de PyPSA/linopy
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
google-agentic-commerce/AP2#388 ·
-
area:codegen backend:cuda backend:hip bug direction:input
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
CrossGL/crosstl#3061 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
rlaope/oh-my-hermes#2304 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
mochan-tk/agentic-dev-kit-for-codex#64 ·
Los mantenedores suelen responder en 1 día
-
Windows ARM memory-leakAbiertobug docs performance
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 3 días