PythonCall.jl README

The project's README from github.com/JuliaPy/PythonCall.jl. As one markdown file: README.md.

PythonCall.jl logo
PythonCall & JuliaCall

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Stable Documentation Dev Documentation Tests Codecov PkgEval

Bringing Python® and Julia together in seamless harmony:

⭐ If you like this, a GitHub star would be lovely thank you. ⭐

To get started, read the documentation.

Example 1: Calling Python from Julia

In this example, we use the Julia module PythonCall from a Pluto notebook to inspect the Iris dataset:

Seaborn example screenshot

Example 2: Calling Julia from Python

In this example we use the Python module JuliaCall from an IPython notebook to train a simple neural network:

Flux example screenshot

What about PyCall?

The existing package PyCall is another similar interface to Python. Here we note some key differences:.

PythonCall.jl (JuliaPy/PythonCall.jl)

Searching Database…

Что это такое?PythonCall.jl (вместе со своим питоновским аналогом JuliaCall) позволяет вызывать код Python из Julia и код Julia из Python через симметричный интерфейс, преобразуя объекты между двумя языками.
Это библиотека Julia, библиотека Python или и то и другое?И то и другое: PythonCall — это пакет для Julia, который вы устанавливаете, чтобы вызывать Python, а JuliaCall — сопутствующий модуль Python для вызова Julia из Python.
Как добавить его в свой проект?Прочитайте официальную документацию, чтобы начать; встроенной команды установки в README нет.
Нужно ли устанавливать Python отдельно, или он сам этим занимается?PythonCall через CondaPkg устанавливает собственные зависимости Python в отдельное окружение Conda для каждого проекта Julia, так что каждый проект автоматически получает изолированные зависимости Python.
Чем это отличается от более старого пакета PyCall?В отличие от PyCall, PythonCall поддерживает более широкий набор расширяемых преобразований, по умолчанию никогда не копирует изменяемые объекты (он оборачивает их, поэтому правки затрагивают оригинал, а преобразование выполняется быстрее) и оставляет результаты объектами Python вместо автоматического преобразования в Julia.
Какие сочетания ОС и версий поддерживаются?Протестировано на Windows, MacOS и Linux; требуются 64-битные системы, Julia 1.10+ и Python 3.10+.
Можно ли преобразовывать массивы NumPy без копирования данных?Да, числовые массивы вроде bytes, array.array и numpy.ndarray можно преобразовывать между Julia и Python без копирования, так что любой из языков может изменять лежащие в их основе данные на месте.
Поддерживает ли он Pandas DataFrames?Да, он предоставляет вспомогательные обёртки, интерпретирующие датафреймы Python как их аналоги в Julia и наоборот, например pytable(df), превращающий Julia DataFrame в Python Pandas DataFrame.
Как выглядят сообщения об ошибках, когда что-то ломается на границе языков?Проект рекламирует «красивые стек-трейсы», охватывающие границу Julia/Python, что делает межъязыковую отладку нагляднее.
Creator
JuliaPy
Size
6.9 MB
Stars
1.1K
Age
5y
Commits · 90 Days