Skip to content

Tags: JuliaPy/PythonCall.jl

Tags

v0.9.25

[Diff since v0.9.24](v0.9.24...v0.9.25)

**Merged pull requests:**
- Add `--heap-size-hint` parameter (#547) (@MilesCranmer)
- Add `elsize` method for PyArray (#593) (@cjdoris)
- Bump actions/cache from 1 to 4 (#602) (@dependabot[bot])
- Bump julia-actions/setup-julia from 1 to 2 (#603) (@dependabot[bot])
- Bump actions/checkout from 2 to 4 (#604) (@dependabot[bot])
- Bump codecov/codecov-action from 1 to 5 (#605) (@dependabot[bot])
- Bump actions/setup-python from 3 to 5 (#606) (@dependabot[bot])
- OpenSSL compat (#613) (@cjdoris)

**Closed issues:**
- Specifying `--heap-size-hint` to JuliaCall (#546)
- Error for code with PythonCall that works with PyCall (#576)
- `Base.elsize` not implemented for `PyArray` (#579)
- pytorch GC (#592)
- Precompile cache misses (#594)
- PythonCall not working in Jupyter Notebook in VSCode (#601)

v0.9.24

[Diff since v0.9.23](v0.9.23...v0.9.24)

**Merged pull requests:**
- Switch to pyproject.toml (#545) (@MilesCranmer)
- fix: patch changed behavior of `setproperty!` for modules (#583) (@MilesCranmer)
- PyList: fix pushfirst! for Julia 1.11, by adding prepend! (#588) (@hhaensel)

**Closed issues:**
- Segmentation fault when `juliacall` is imported before `torch` (#435)
- `pyconvert_add_rule` must be executed before using `pyimport` in `__init__()` (#500)
- juliacall 0.9.22 can result in hanging precompilation (#537)
- Segmentation Fault in combination with Distributed (#548)
- Segfault with package, but not with identical module (#554)
- OpenSSL library collision with external python on linux systems (#561)
- How to debug `openssl` could not resolve for environment spec inside a package? (#562)
- `no method matching project_rel_path(::Pkg.Types.EnvCache, ::Nothing)` on 1.10.5 (#564)
- General registry segfault (#569)
- Broken on Python 3.13.0 (#581)
- Julia 1.11 prevents assigning objects to Main (#582)

v0.9.23

[Diff since v0.9.22](v0.9.22...v0.9.23)

**Merged pull requests:**
- Update GIL.jl lock's documentation (possible mistake?) (#538) (@camilodlt)
- fix PyNULL typo (#544) (@ericphanson)

**Closed issues:**
- Dropping GIL when calling Julia from Python (JuliaCall) (#343)
- V0.9.22 bug: error in running finalizer: UndefVarError(var=:PYNULL) (#543)

v0.9.22

[Diff since v0.9.21](v0.9.21...v0.9.22)

**Merged pull requests:**
- Require a compatible openssl version (#523) (@lassepe)
- More thread-safe GC (#529) (@cjdoris)
- simplify GIL handling (#530) (@cjdoris)
- GIL functions for genuine multi-threading (#535) (@cjdoris)

**Closed issues:**
- Libraries loaded via _jll packages are visible inside PythonCall environment. (#519)

v0.9.21

[Diff since v0.9.20](v0.9.20...v0.9.21)

**Merged pull requests:**
- making it possible to use another package instead of `pickle` for serialization (e.g. `dill`) (#494) (@schlichtanders)
- Timedelta conversion (#499) (@cjdoris)
- pyjl (#512) (@cjdoris)
- call jl_atexit_hook when atexit (#516) (@dpinol)
- check for null in multimedia show functions (#526) (@cjdoris)
- Julia formatter (#528) (@cjdoris)

**Closed issues:**
- single `Jl` type for Julia values (#404)
- support "dill" for serialization and deserialization (#424)
- Not working with julia version 1.10.1 on linux systems  (#464)
- datetime.timedelta conversions fail in juliacall (#498)
- np.bool_ does not convert to julia Bool (#502)
- data-type specific Julia scalars with JuliaCall (#504)
- OSError on Apple M2 Chip (#508)
- finalizer may never be called (#515)
- seg fault from pynew() in vs code REPL (#522)

v0.9.20

[Diff since v0.9.19](v0.9.19...v0.9.20)

**Changes:**
* The IPython extension is now automatically loaded upon import if IPython is detected.
* JuliaCall now compatible with Julia 1.10.3.
* Minimum supported Python version is now 3.8.

**Merged pull requests:**
- Unittest IPython extension + Automatic loading (#478) (@MilesCranmer)
- fix issue 487 (#488) (@cjdoris)

**Closed issues:**
- numpy functions don't treat Any[...] arrays like Python lists (#486)
- `display` broken for parametric structs with `show` referencing the struct parameters (#487)
- use existing julia install (#489)
- Python: TypeError: Object of type DictValue is not JSON serializable (#491)
- Error in calling display(array) (#495)

v0.9.19

[Diff since v0.9.18](v0.9.18...v0.9.19)

**Changes:**
* Bug fixes.

v0.9.18

[Diff since v0.9.17](v0.9.17...v0.9.18)

**Changes:**
* Bug fixes.

**Merged pull requests:**
- Hot fix for #479 (#480) (@lassepe)

**Closed issues:**
- `@pyexec` broken: `ERROR: LoadError: UndefVarError: `MacroTools` not defined` (#479)

v0.9.17

[Diff since v0.9.16](v0.9.16...v0.9.17)

**Changes:**
* Bug fixes.

v0.9.16

[Diff since v0.9.15](v0.9.15...v0.9.16)

* Big internal refactor.
* New unexported functions: `python_executable_path`, `python_library_path`, `python_library_handle` and `python_version`.
* `Py` is now treated as a scalar when broadcasting.
* `PyArray` is now serializable.
* Removed compatibility with Julia 1.10.1 and 1.10.2 (to be fixed in 1.10.3 and 1.11.0) due to an upstream bug.
* Bug fixes.

**Merged pull requests:**
- Refactor (#360) (@cjdoris)
- refactor tests to match refactored modules (#412) (@cjdoris)
- make PythonCall.GC more like Base.GC (#413) (@cjdoris)
- Fix table display in docs (#438) (@gdalle)
- Remove M1/M2 part from FAQ (#444) (@MilesCranmer)
- Update juliacall.md (#446) (@MilesCranmer)
- Fix around logo (#449) (@hyrodium)
- Add an example for `tname` for custom Python-to-Julia conversion rule (#450) (@cuihantao)
- Allow multi-block expressions in `seval` (#452) (@MilesCranmer)
- Update faq.md with example on running JuliaCall inside Blender (#456) (@cdsousa)
- skip docs cleanup when nothing to clean (#465) (@cjdoris)
- Ensure error message shows for missing libpython (#471) (@goretkin)

**Closed issues:**
- move to JuliaPy org? (#150)
- why do boolean comparisons with Py object return  Py object? (#294)
- Bus error with multithreading linear algebra (#298)
- CondaPkg opt out doesn't work (#301)
- Roadmap to v1 (#311)
- conda-forge feedstock? (#378)
- Inconsistent broadcasting behavior of Py arrays (#392)
- Passing functions to Julia as global variables is buggy (#394)
- make PythonCall.GC more like Base.GC (#409)
- Rename internal modules to be nicer (#415)
- Export python interpreter info (#419)
- Migrate to Python 3.12, require it (#421)
- Create conda pkg for juliacall at conda-forge (#425)
- How to `reinterpret` a PyArray without copying data? (#429)
- Main.seval can't parse multiple toplevel blocks (#433)
- Development version of juliacall starts the Julia REPL (#447)
- Using development version of package opens Julia REPL (#451)
- TypeError: cannot pickle 'PyCapsule' object (#454)
- Unable to find DLLs on Windows using PythonCall with Python3.8+ (#457)
- `numpy` arrays cannot be serialized when used in `pmap` context (#459)
- IPython extension fails on Julia 1.6.7 (#460)
- Segmentation fault on `import juliacall` in a CI job (#472)