API review for version 4.0.0: thoughts, ideas, linked Issues, etc.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 18/100
Direção de pesquisa
Esta é uma revisão ampla da API, e não uma tarefa de implementação com escopo definido. Comece lendo o Python Array API Standard e as issues vinculadas #775, #772, #773, #277, #328, #38 e #135; em seguida, revise os tópicos listados e as discussões relacionadas sobre a API cf-python. Não há um único critério de conclusão; os tópicos acionáveis precisariam ser separados em issues focadas, com resultados definidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This Issue is to collate and register any comments (thoughts, ideas, tentative decisions, questions, etc.) including links to self-contained related Issues, regarding the cf-python API (and perhaps the API of cfdm too, also keeping cf-plot and it's eventual incorporation into cf-python in mind).
The context, for those unaware, is that we will be reviewing and revising the API for a forthcoming version 4.0.0, which we hope to release by the end of 2024. Anything anyone wants to register on the topic of the cf-python API is very welcome! Brain dumps are welcome, though we may want to move distinct topics to their own Issues and link them in, if themes emerge.
Useful references are:
- the Python Array API Standard, which we want to abide by unless there is good reason not to;
- the NumPy API which is of high relevance for our array-related operations;
- the Dask API ditto;
- the CF xarray API might be useful for background/comparison.
Please try to organise points/discussion as we go along into topics and themes, noting them below (ideally linking to comments and/or Issues). Anyone contributing to the thread feel free to edit/update this.
Topics and themes
- conforming to the Python Array API standard (see link above)
- deprecated objects:
- ensure all deprecation errors include stating replacements, else messages to indicate why there isn't one any longer (etc.) - should only be a small number of cases that don't abide by this already.
- views/representations of fields/datasets:
- including identical data in different formats, #775.
- truncation for long FieldLists, arrays, etc., #772.
- (methods for) conversion to/from other formats:
- xarray, #773
- availability of methods on given objects vs. module-level, #277
- level of support for NumPy-like operations (generalising sentiment in #328)
- more binary operations (now we are well-daskified), #38
- ensuring sets of related methods have full coverage, esp. pairs e.g. minima and maxima such as argmax and argmin (see https://github.com/NCAS-CMS/cf-python/issues/135)
- aliases e.g. for longer method names - when to use, what to use and how to document (including should we have a big table listing these?)
- simplifications in general - what can sensibly be streamlined?
- verbosity and logging (e.g. which methods deserve a
verbosekeyword)- getting all outputs managed under the logging umbrella, #286.
- Linguagem predominante
- Python
- Estrelas
- 150
- Forks
- 23
- Merge médio
- 21h 29min
- PRs com merge (30d)
- 1
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de NCAS-CMS/cf-python
-
code tidy
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Attempt at unsupported conservative 3D mesh regriddingTalvez já em andamento @sadielbartholomew assumiu há 16 dias. Abertabug?
-
Release: migrate from deprecated build commandTalvez já em andamento @sadielbartholomew assumiu há 19 dias. Abertarelease
-
Remove support for Python 3.10 (EOL)Talvez já em andamento @sadielbartholomew assumiu há 19 dias. Abertaenhancement
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
Todas as issues de NCAS-CMS/cf-python
Issues semelhantes
-
pydanty:is-working
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
pydantic/pydantic-ai#8843 ·
Mantenedores costumam responder em até 1 dia
-
breaking change enhancement server
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
sktime/sktime#11310 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia