Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

API review for version 4.0.0: thoughts, ideas, linked Issues, etc.

Aberta
#776 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
18/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
numpy, python
Domínio
api, data

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

API review (4.0.0) enhancement

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:


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 verbose keyword)
    • 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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de NCAS-CMS/cf-python

Todas as issues de NCAS-CMS/cf-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.