activeviam / jdk4py Goto Github PK
View Code? Open in Web Editor NEWPackaged JDK for Python
License: GNU General Public License v2.0
Packaged JDK for Python
License: GNU General Public License v2.0
It would allow to send commands to the running JVM and could be use to do flight recording with JFR.start for instance: https://docs.oracle.com/en/java/javase/14/docs/specs/man/jcmd.html
If it does not increase the size of the package too much it would be a useful addition.
Replace pipenv by poetry
This is required to be able to install this package in a Docker image built on macOS with Apple Silicon without having to resort to the --platform=linux/am64
option slowing the container execution.
See https://pythonspeed.com/articles/docker-build-problems-mac.
Depends on actions/runner-images#5631 since relying on self-hosted runners makes testing and publishing more cumbersome.
Hi,
I tried to install atoti-jupyterlab in Mac.
The case of homebrew -> pip is successful. But in the case of Conda and Docker, java runtime cannot be found.
FileNotFoundError: [Errno 2] No such file or directory: '/Users/morimasao/miniconda3/lib/python3.9/site-packages/jdk4py/java-runtime/bin/java'
Are there anything necessary to do before installing atoti and jdk4py?
The architectures currently supported are:
We should also support Apple silicon (e.g. Apple M1).
This issue was originally posted to the Jpype repo:
jpype-project/jpype#1151
If JPype is used with openjdk installed from oracle it works fine on my machine.
If jdk4py is used by launching java from a terminal it works fine too.
But when jdk4py version 17 is launched by Jpype it raises the EXCEPTION_ACCESS_VIOLATION error with the stack dump you can see following the link above.
Note: jdk4py and jpype work fine together on any other os I tested, as well as on github actions windows runners.
The problem is related with the jimage.dll library but neither the Jpype author nor I cam explain what's happening. Maybe I can find some help here.
All the jobs starts with the same set of steps to setup every thing:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
architecture: "x64"
- name: Set Java version
run: python scripts/set_versions.py
- uses: joschi/setup-jdk@v2 # We must use to the official action once https://github.com/actions/setup-java/pull/97 is closed
with:
java-version: ${{ env.MAJOR_JAVA_VERSION }}
java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
architecture: x64
# Install Poetry
- if: matrix.os == 'windows-latest'
name: Install poetry [Windows]
run: pip install poetry
- if: matrix.os != 'windows-latest'
name: Install poetry [Ubuntu/macOS]
run: pip3 install poetry
- name: Install python dependencies
run: poetry install
- name: Build JDK
run: poetry run python scripts/build_jdk.py
We should factorize it to avoid changing the same thing multiple times.
I have tried putting them into a composite action but it doesn't support the uses
steps
Java 17 is the latest LTS release
I am looking for a way to use my forked jdk4py
(for new features which are not merged in the main repo yet, for instance my pull request #65 ) in the project I am working on which depends on jdk4py
. Cloning and building locally with pip install .
works of course, but for deployment purposes I am looking for a way to have my project depend on my github fork and not on my local jdk4py
installation.
The only way I found (except setting up my own test PyPi package with my forked jdk4py
) to use my forked version is to tell pip to use my forked github repo: jdk4py @ git+https://github.com/GorgiAstro/jdk4py/
. But this installs jdk4py
as a source distribution and the java-runtime
folder is missing because the build_jdk.py
script is not called.
Is it possible to add an option to poetry to trigger build_jdk.py
when the user installs jdk4py
as a source distribution? I guess it's not hard but I have too little experience with poetry.
Python 3.10 has been released
The wheel is cross Python versions so it only need to be tested in 3.10.
The conda package is still one per Python version so a package for 3.10 should be released
At the moment we release one Conda package per OS and per Python version (while we have one wheel per OS but cross Python versions.)
It would be nice to manage to release only one Conda package per OS so we don't have to do new releases when there are new Python versions.
The difficulties are in conda build
. When building the package, the Python files always end up in the folder of a pinned Python version such as "lib/python3.8/site-packages".
Here is a discussion about it.
A possible solution would be to release 2 Conda packages:
jdk4py-bin
which is OS dependent, containing all the java runtime without any Python code.jdk4py
which is a noarch package importing jdk4py-bin
and exposing it as a Python library.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.