Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Document the sparse expression path (CSRLinearExpression, sparse=True, sparse_groupby)

Aperta
#971 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
documentation

Direzione di ricerca

Start with the CSRConstraint entries in doc/api.rst and doc/user-guide.rst, then read the linopy/csr.py module docstring and the sparse references in doc/release_notes.rst. Document CSRLinearExpression, the sparse opt-ins, preserving operations, and the v1 term-layout contract in the relevant guide, API stubs, and examples. Done means the sparse expression path is discoverable beyond the release notes.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

documentation sparse

[!NOTE]
The following content was generated by AI.

Describe the feature you'd like to see

Document the sparse expression path. It is currently undiscoverable.

CSRLinearExpression, groupby(...).sum(sparse=True) and options["sparse_groupby"] appear only in doc/release_notes.rst (lines 46, 55, 56, 94, 96, 202). They are absent from doc/api.rst, the user guide, the generated API stubs and every example notebook. A grep over doc/ and examples/ for sparse=True or sparse_groupby returns release notes only.

By contrast CSRConstraint is documented, in doc/api.rst:410-451 and one clause of doc/user-guide.rst:28. So the export half of the sparse story is visible and the build half is not.

A user who wants the memory win has to read release notes or the linopy/csr.py module docstring to find out the feature exists.

Implementation ideas

  • An doc/api.rst entry plus generated stubs for CSRLinearExpression, matching the existing CSRConstraint entries.
  • A short user-guide section covering: what the sparse path is for, the three opt-ins needed end to end (semantics="v1", sparse_groupby/sparse=True, freeze_constraints=True), which operations preserve the backing and which drop it, and the v1-only term-layout contract (#925).
  • Documenting the current preserving set is valuable even while it is small, because the failure mode is silent.
Lingua principale
Python
Stelle
257
Fork
87
Merge medio
1g 8h
PR unite (30g)
32

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PyPSA/linopy

Tutte le issue di PyPSA/linopy

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.