Roadmap for PyCall 2.0
- Lenguaje dominante
- Julia
- Estrellas
- 1.5k
- Forks
- 186
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Now that #517 is merged, there are a few things remaining to do before we try to move all PyCall users to the new interface.
First, we need to deprecate some more things (probably in a "1.9" release or similar) to help with the transition:
- [x] deprecate `@pyimport` and `pywrap` — just do `pyimport` now. #633
- [x] deprecate `getindex(::PyObject, ::Integer)` and similar — these will stop subtracting 1 in PyCall 2.0, so they will have to be deprecated for now. #632
- [x] Make sure major PyCall-using packages (PyPlot, SymPy, etcetera) continue to work with PyCall master, albeit with lots of deprecation warnings.
Some other things I would like to change/fix during the big transition:
- [ ] Make automatic conversion more conservative about producing native Julia objects. Convert Python lists to `PyVector`, dictionaries to `PyDict`, and NumPy arrays to `PyArray` by default, but don't convert subclasses of these? (see #617)
- [x] Audit calls to`PyPtr` to see if they need `GC.@protect` for gc safety. #630
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza leyendo el elemento restante de conversión automática que aún no está marcado y el issue #617; después, revisa la ruta de conversión existente en PyCall. Se considera terminado cuando esté implementado el manejo conservador propuesto de las listas y diccionarios de Python, los arrays de NumPy y sus subclases, mientras las tareas completadas de deprecación y seguridad de GC sigan contabilizadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- julia, numpy, python
- Área
- backend
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100