GenericMappingTools / GenericMappingTools/pygmt

Resetting default GMT parameters - pygmt.config

Aperta
#486 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
feature request help wanted longterm upstream
Lingua principale
Python
Stelle
874
Fork
255
Merge medio
1g 21h
PR unite (30g)
40

Descrizione

**Description of the desired feature**

The `pygmt.config` class/context manager allows the user to permanently or temporarily override default GMT config parameters. If a parameter is set permanently (particularly in a notebook), it would be useful to be able to reset back to the default without having to reset the kernel / use `pygmt.config` as a context manager. Motivated by https://github.com/GenericMappingTools/pygmt/pull/482#issuecomment-647040633

**Are you willing to help implement and maintain this feature?** Yes

I've been able to override and reset everything myself by terminating and restarting the global session:

```python
from pygmt import session_management

session_management.end()
session_management.begin()
```

but this is obviously not ideal, and I fear this may have unintended consequences of which I'm ignorant. I see this feature more as something to facilitate figure _development_ in a notebook, but not so much for finalised figure scripts/notebooks, so it's perhaps not a huge issue?

Ideal usage would be something like:

```python
pygmt.config().reset()
```

I'm still familiarising myself with the inner workings, so I apologise if I've missed/misunderstood something important.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by reading the implementation of pygmt.config and the session_management begin/end entry points mentioned in the issue. Determine how permanent and temporary configuration values are tracked, then add coverage showing that reset restores defaults without restarting the global session.

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

Valutazione

Stack tecnologico
python
Ambito
developer-experience
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.