Make pathlib ABCs usable by zipfile.Path
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Feature or enhancement
This issue covers the final tasks needed to make the pathlib ABCs worthy of using in zipfile.Path (i.e. zipp.Path).
Tasks
- Rename
PurePathBasetoJoinablePath, and splitPathBaseintoReadablePathandWritablePath - Make
WritablePatha sibling (not subclass) ofReadablePath - Add
ReadablePath.info - Subclass
abc.ABCfromJoinablePath, and makeparserabstract - Make type-checking more consistent
- Move metadata reading into
ReadablePath.info; removeReadablePath._copy_reader - Move metadata writing into
WritablePath._write_info(); removeWritablePath._copy_writer - Merge
pathlib._abcintopathlib.types - Tests: replace the
Dummy*classes with simplezipfile.Path-like implementation - Tests: add tests for
WritablePath - Tests: parametrize
copy()tests - Finalise
copy()implementation - Add type annotations?
- Sync code to pathlib-abc PyPI package
- Update pathlib-abc documentation
- Publish new version of pathlib-abc
- Merge PR to jaraco/zipp
Discussion: https://discuss.python.org/t/make-pathlib-extensible/3428
Linked PRs
- gh-128523
- gh-128745
- gh-129014
- gh-129841
- gh-130199
- gh-130747
- gh-130748
- gh-130964
- gh-131315
- gh-127343
- gh-131617
- gh-131621
- gh-133051
- gh-133105
- gh-133437
- gh-134101
- gh-134104
Guia de contribuição
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.
Direção de pesquisa
Comece revisando as tarefas restantes que ainda não foram marcadas no issue, especialmente as anotações de tipo e a integração de pathlib-abc com jaraco/zipp PR #132. Leia o trabalho vinculado sobre pathlib ABC e zipfile.Path antes de decidir se ainda há algo a implementar; concluído significa que a tarefa pendente foi concluída e que os testes relacionados e a sincronização dos pacotes permanecem consistentes.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- operating-systems
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 20/100