JuliaPy / JuliaPy/PythonCall.jl

Working with type instabilities, coming from PyJulia

Abierto
#441 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
1.1k
Forks
86
Merge medio
1 d 22 h
PR fusionados (30 d)
3

Descripción

@cjdoris Is there an automatic way to force type conversions when passing Python objects to methods? Or, in other words, is there a way to automatically convert Python arguments to their Julia counterparts?

For example I am running into this issue right now when I pass a list of integers:

```python
>>> from juliacall import Main as jl
>>> jl.seval("f(x) = (@show typeof(x); nothing)")
Julia: f (generic function with 1 method)
>>> jl.f([1, 2, 3])
typeof(x) = PyList{Any}
```

which causes some issues as now `f` is unaware of the element type of this vector.

However, in PyJulia, arguments seem to somehow get converted automatically:

```python
>>> from julia import Main as jl
>>> jl.eval("f(x) = (@show typeof(x); nothing)")

>>> jl.f([1, 2, 3])
typeof(x) = Vector{Int64}
```

Is there a way to get this same behavior in PythonCall?

---

Possibly related to #439

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.