The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз JPype 0.7, библиотеки для доступа к Java-классам из Python

26.06.2019 22:46

Спустя более четырёх лет с момента формирования прошлой значительной ветки доступен релиз прослойки JPype 0.7, позволяющей организовать полный доступ Python-приложений к библиотекам классов на языке Java. При помощи JPype из Python можно использовать специфичные для Java библиотеки, создавая гибридные приложения, сочетающие код на Java и Python. Код проекта распространяется под лицензией Apache 2.0.

В отличие от Jython, интеграция с Java достигается не через создание варианта Python для JVM, а через взаимодействие на уровне обеих виртуальных машин, используя разделяемую память. Предложенный подход позволяет не только добиться хорошей производительности, но и предоставляет доступ ко всем библиотекам CPython и Java. В новом выпуске полностью переписан код основного модуля, добавлена поддержка unattached-потоков, улучшена защищённость, обеспечена трансляция Java-исключений в Python-исключения, изменено поведение при преобразовании строк.

  1. Главная ссылка к новости (https://github.com/jpype-proje...)
  2. OpenNews: Выпуск серверной JavaScript-платформы Node.js 12.0
  3. OpenNews: Компания Oracle опубликовала Java SE 12
  4. OpenNews: Выпуск Jython 2.7, реализации языка Python на Java
  5. OpenNews: Выпуск сервера приложений NGINX Unit 1.8 с поддержкой Java
  6. OpenNews: Первый стабильный выпуск Corretto 8, LTS-дистрибутива Java 8 от Amazon
Лицензия: CC-BY
Тип: Программы
Ключевые слова: java, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (34) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:14, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не только Java. Я класс на Scala дёргаю.
     
     
  • 2.2, AntonAlekseevich (ok), 23:20, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не только Java. Я класс на Scala дёргаю.

    О надо же он и с Kotlin работает...

     
     
  • 3.3, Аноним (1), 23:33, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С котлином намного проще - разработчики котлина не стали вы******ся и методы неплохо соодветствуют методам с явы. Со скалой всё труднее: же большая часть времени была потрачена на то, чтобы найти нормальный декомпилятор, разобраться с инициализацией объектов, и написать некоторое количество кода, конвертящего иммутабельные типы в словари питона и обратно.
     

  • 1.4, Аноним (4), 23:39, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Мне даже страшно представить, зачем нужно приложение на джаве и питоне одновременно. Кто-нибудь знает примеры таких проектов? Сами они на гитхабе референсов не дали, либо я не нашёл.
     
     
  • 2.7, Аноним (1), 00:33, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я знаю. Есть инструмент. Написан на Скале. Инструмент с интерфейсом командной строки. API отсвтствует. Надо его дёргать из питона. Баш-портянки можете себе ... не предлагать.

    Парсинг вывода командной строки - извращенство, подача аргументов через командную строку - уязвимость, каждый запуск Java-машины - тормоза, а ещё не все желаемые функции доступны через интерфейс командной строки.

    А нам вообще плевать, что автор не планировал такого использования. Главнное что архитектура приложения нормальная, с разбивкой по классам и что классы существуют реально, как first-class citizens в виртуальной машине, а не как куча хардкорно оптимизированных инструкций общего назначения в x86.

    Поэтому просто берём, импортируем нужные классы и делаем то, что нам надо.

     
     
  • 3.15, Аноним (15), 12:52, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    То есть, потратить вечер на изучение синтаксиса скалы, чтобы дёргать апи этого "инструмента с нормальной архитектурой" внутри той же жвм - это почему-то сочли нецелесообразным?
     
     
  • 4.23, Аноним (1), 22:29, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А вот и хейтеры подехали. Принципиально дёргать именно из питона, а не из скалы. Конечно хейтеры могут сказать "чем скорее пистон сдохнет - тем лучше, поэтому развивать экосистему питона - это вредительство". Но нас рать на мнение этих хейтеров (и особенно - троллей). Haters gonna hate.
     
  • 2.9, kai3341 (ok), 00:51, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  Мне даже страшно представить, зачем нужно приложение на джаве и питоне одновременно. Кто-нибудь знает примеры таких проектов? Сами они на гитхабе референсов не дали, либо я не нашёл.

    https://github.com/apache/spark/tree/master/python/pyspark

     
     
  • 3.10, Аноним (10), 08:07, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    выставка поделок из дурдома? Питон и бигдата?......

    Такие вещи только студентам годятся для курсовиков. Но не более.

     
     
  • 4.12, Аноним (1), 08:53, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >бигдата

    В школе, где вы учились,и6глиш не учат? Или вы не осилили школьную программу? Data произносится как [deɪtə]. Bigdata произносится как [bɪgdeɪtə]. dataset произносится как [deɪtəsɛt]. Bitcoin произносится как [bɪtkɔɪn]. Android произносится как [ændrɔɪd].

     
     
  • 5.13, КО (?), 09:25, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прежде чем кого-то отсылать к школьной программе английского языка вспомните основы русского, чем слово "пишется" отличается от слова "произносится".
     
  • 5.14, Аноним (14), 09:33, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Bigdata произносится как [bɪgdeɪtə].

    Недостаточно бигдато звучит.

     
  • 3.11, Аноним (1), 08:24, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    install_requires=['py4j==0.10.8.1'],
     
     
  • 4.19, kai3341 (ok), 19:49, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >  install_requires=['py4j==0.10.8.1'],

    Удивительно: в проекте действительно связываются код на python и на java.

     

  • 1.5, Аноним (5), 23:43, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Для строительства костылей к Легаси коду?
     
  • 1.6, Аноним (6), 00:04, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем оно, если есть groovy?
     
     
  • 2.8, Аноним (1), 00:35, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чтобы дёргать Groovy-код из питона.
     

  • 1.16, Ванёк (?), 13:28, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Боже мой... Куда мир катится!!! Сколько гемoра на пустом месте! Откройте для себя С++ и Ассемблер! Ну сколько можно городить огородные огороды!
     
     
  • 2.17, test (??), 13:49, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот не надо, хватило секаса с памятью, и головняка с дебагом таких случаев. Когда надо чтобы запустить прототип - питон великолепен, а дальше тюнингуешь нужные места. Если проект не взлетел - удаляешь, трудов затрачено минимум, взлетел - можешь уже переписать на чем-то компилируемом.
     
     
  • 3.18, Аноним (18), 15:03, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> можешь уже переписать на чем-то компилируемом.

    ха-ха-ха, много напереписывали?

     
  • 2.20, Аноним (20), 21:50, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот C++ понятно, но Ассемблер нефейхуа, не кроссархитектурно же?
     
     
  • 3.21, KaE (ok), 21:55, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы охренели? Я на ассемблере вебскрапперы пишу, причем тут не архитектурно, зато быстро.
     
     
  • 4.24, Аноним (1), 22:31, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пруф давай на гитхабе.
     
     
  • 5.32, Аноним3 (?), 00:08, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    он по заказу на каждую платформу. он же сказал быстро))
     

  • 1.22, Аноним3 (?), 22:24, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сделайте уже компилятор для питона в бинари. нефиг огород городить.да понимаю питон проще чем тот же с++, но блин вместо того , что бы сделать компилятор, делают смесь пантеры с носорогом)) хотя честно питон создавался именно для легкости написания и переносимости. тогда именно эта идея стояла. или создайте язык с синтаксисом аля питон и компилятором. здравых людей все меньше)))
     
     
  • 2.25, Аноним (25), 22:42, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть туча Ява кода в энтерпрайзе, ценою в десятилетия зарплаты. Отчего бы не поиметь профит с прошлых капитало-вложений.

    Переиспользуемость кода - правильный ход.

     
     
  • 3.29, Аноним3 (?), 03:36, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    правильный? держать в работе 2 интерпритатора (все равно не получится полностью реализовать эту идею. не все пойдет)? и обои жрут производительность и память? он правильный только с точки зрения использования старого кода, но в остальном .... как говорится хотели заправить в дырявый бак бензин)))
     
  • 2.26, Аноним (26), 23:35, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Только гвидо может (мог) судить для чего создан питон. Даже в правилах питона такой пункт есть. А ты еретик и не нужен.
     
     
  • 3.28, Аноним3 (?), 03:32, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    это они отслоились от "ВЕРЫ"))) в самом начале же кричали- "мы создадим идеально переносимую платформу". разве нет? его создавали примерно по тем же принципам , что и яву. вот только пути у них немного отличились. да и честно сказать код на питон и писать и читать проще явы. и уж если дергать из питона яй*, хм хвосты других яп то уж лучше чем из явы питона или других.)) а вообще идеальных яп не бывает. все с косяками, когда выходят за пределы того для чего создавались. а они все сейчас выходят. абсолютно. си/с++ всегда был языком системного программирования, а сейчас где попало используется( ну ладно хоть он лучше других подходит для этого), но блин наплодили всяких электронов и пихают их в системные. вот это из грязи в князи.
     

  • 1.27, Аноним (26), 23:37, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Больше питона лучше чем больше джавы.
     
     
  • 2.30, Аноним3 (?), 03:38, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    у них у обоих есть свои ниши где они хороши. проблема в том , что их пропихивают туда куда не положено и для чего они не создавались. зато аля прогресс.
     
     
  • 3.31, Аноним (-), 08:58, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У питона, в отличии от Жавы, ниши нет. Он везде плох.
     

  • 1.33, InuYasha (?), 13:29, 30/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо чтоб в виртуалке из systemd путём активации legacy bash init-скриптов запускался докер-контейнер с питон-скриптами, запускающим JVM-код, зависящий от API.NET/mono, подгружающий perl-скрипты, дёргающие плагины на Go и общающийся с субпроцессами на node.js через XML.
    Есть ещё предложения как это осовременить?
     
     
  • 2.34, Аноним3 (?), 18:31, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    есть. собрать в один пакет это все и предложить как самый современный дергатель скриптов. назовем всежрущий комбаин. всежрущий относится ко всему - память, система и производительность. производители железа будут в шоке, но очень рады. начнем продвижение в основные компоненты систем.))))
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру