{"id":13667180,"url":"https://github.com/bcdev/jpy","last_synced_at":"2025-04-26T15:32:20.987Z","repository":{"id":52203011,"uuid":"15053433","full_name":"bcdev/jpy","owner":"bcdev","description":"A bi-directional Python-Java bridge used to embed Java in CPython or the other way round.","archived":true,"fork":false,"pushed_at":"2021-05-18T08:00:46.000Z","size":2394,"stargazers_count":188,"open_issues_count":80,"forks_count":37,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-16T04:24:48.850Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcdev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-09T17:03:21.000Z","updated_at":"2025-02-07T07:47:00.000Z","dependencies_parsed_at":"2022-08-03T15:19:53.217Z","dependency_job_id":null,"html_url":"https://github.com/bcdev/jpy","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fjpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fjpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fjpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fjpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcdev","download_url":"https://codeload.github.com/bcdev/jpy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251008777,"owners_count":21522176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T07:00:33.096Z","updated_at":"2025-04-26T15:32:20.410Z","avatar_url":"https://github.com/bcdev.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"[![Build Status](https://ci.appveyor.com/api/projects/status/ywkcey4nlt0avasf?svg=true)](https://ci.appveyor.com/project/bcdev/jpy)\n[![Documentation Status](https://readthedocs.org/projects/jpy/badge/?version=latest)](http://jpy.readthedocs.org/en/latest/?badge=latest)\n\n---\n\n### :bangbang: We moved to [jpy-consortium/jpy](https://github.com/jpy-consortium/jpy)\n\n\njpy is now being further developed in a dedicated GitHub organision maintained by members \nof the companies [DeepHaven](https://deephaven.io/) and [Brockmann Consult](https://www.brockmann-consult.de/).\nThis repo will soon be archived. Please use the new [jpy-consortium/jpy](https://github.com/jpy-consortium/jpy)\nfor any issues or PRs, thanks!\n\n---\n\njpy - a Python-Java Bridge\n==========================\n\njpy is a **bi-directional** Python-Java bridge which you can use to embed Java\ncode in Python programs or the other way round. It has been designed\nparticularly with regard to maximum data transfer speed between the two\nlanguages.  It comes with a number of outstanding features:\n\n* Fully translates Java class hierarchies to Python\n* Transparently handles Java method overloading\n* Support of Java multi-threading\n* Fast and memory-efficient support of primitive Java array parameters via\n  [Python buffers](http://docs.python.org/3.3/c-api/buffer.html)\n  (e.g. [Numpy arrays](http://docs.scipy.org/doc/numpy/reference/arrays.html))\n* Support of Java methods that modify primitive Java array parameters (mutable\n  parameters)\n* Java arrays translate into Python sequence objects\n* Java API for accessing Python objects (`jpy.jar`)\n\njpy has been tested with Python 3.4–3.8 and OpenJDK 8 on 64-bit Ubuntu Linux,\nWindows 10, and macOS.\n\nThe initial development of jpy was driven by the need to write Python\nextensions to an established scientific imaging application programmed in\nJava, namely the [SNAP](http://step.esa.int/) toolbox, the SeNtinel\nApplication Platform project, funded by the [European Space\nAgency](http://www.esa.int/ESA) (ESA). (jpy is bundled with the SNAP\ndistribution.)\n\nWriting such Python plug-ins for a Java application usually requires a\nbi-directional communication between Python and Java since the Python\nextension code must be able to call back into the Java APIs.\n\nFor more information please have a look into jpy's\n\n* [documentation](http://jpy.readthedocs.org/en/latest/)\n* [source repository](https://github.com/bcdev/jpy)\n* [issue tracker](https://github.com/bcdev/jpy/issues?state=open)\n\nHow to build wheels for Linux and Mac\n-------------------------------------\n\nInstall a JDK 8, preferably the Oracle distribution. Set `JDK_HOME` or\n`JPY_JDK_HOME` to point to your JDK installation and run the build script:\n\n    $ export JDK_HOME=\u003cyour-jdk-dir\u003e\n    $ export JAVA_HOME=$JDK_HOME\n    $ python setup.py build maven bdist_wheel\n\nOn success, the wheel is found in the `dist` directory.\n\nTo deploy the `jpy.jar` (if you don't know why you need this step, this is not\nfor you)::\n\n    $ mvn clean deploy -DskipTests=true\n\nHow to build a wheel for Windows\n--------------------------------\n\nSet `JDK_HOME` or `JPY_JDK_HOME` to point to your JDK installation. You'll\nneed Windows SDK 7.1 or Visual Studio C++ to build the sources. With Windows\nSDK 7.1::\n\n    \u003e SET VS90COMNTOOLS=C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools\\\n    \u003e SET DISTUTILS_USE_SDK=1\n    \u003e C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\bin\\setenv /x64 /release\n    \u003e SET JDK_HOME=\u003cyour-jdk-dir\u003e\n    \u003e python setup.py build maven bdist_wheel\n    \nWith Visual Studio 14 and higher it is much easier::\n\n    \u003e SET VS100COMNTOOLS=C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\\n    \u003e SET JDK_HOME=\u003cyour-jdk-dir\u003e\n    \u003e python setup.py build maven bdist_wheel\n\nOn success, the wheel can be found in the `dist` directory.\n\nHow to install from sources\n---------------------------\n\nTBD\n\nReleasing jpy\n-------------\n\nThe target reader of this section is a jpy developer wishing to release a new\njpy version.  Note: You need to have Sphinx installed to update the\ndocumentation.\n\n1. Make sure all Java *and* Python units tests run green\n2. Remove the `-SNAPSHOT` qualifier from versions names in both the Maven\n   `pom.xml` and `setup.py` files, and update the version numbers and copyright\n   years in `jpyutil.py` and `doc/conf.py`.\n3. Generate Java API doc by running `mvn javadoc:javadoc` which will update\n   directory `doc/_static`\n4. Update documentation, `cd doc` and run `make html` \n5. http://peterdowns.com/posts/first-time-with-pypi.html\n\nAutomated builds\n----------------\n\nAs of 2020-08-27, [Python wheel](https://pythonwheels.com/) packages for jpy\nare automatically built on\n[AppVeyor](https://ci.appveyor.com/project/bcdev/jpy), but at present they are\nuploaded only to a private FTP server and not publicly released. Wheels are\nbuilt for Python versions 3.4, 3.5, 3.6, 3.7, and 3.8 on Linux, Windows, and\nmacOS (≥10.9). Only 64-bit wheels are built.\n\nThe repository also contains an outdated configuration for [automated Travis\nbuilds](https://travis-ci.org/github/bcdev/jpy), but this configuration is\ncurrently unmaintained and broken.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdev%2Fjpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcdev%2Fjpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdev%2Fjpy/lists"}