jni 1.2.0b1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. jni-1.2.0b1/.readthedocs.yml +15 -0
  2. jni-1.2.0b1/CHANGES.rst +81 -0
  3. jni-1.2.0b1/LICENSE +309 -0
  4. jni-1.2.0b1/MANIFEST.in +19 -0
  5. jni-1.2.0b1/PKG-INFO +243 -0
  6. jni-1.2.0b1/README.rst +103 -0
  7. jni-1.2.0b1/docs/CHANGES.rst +2 -0
  8. jni-1.2.0b1/docs/MappingPyJNI.txt +25 -0
  9. jni-1.2.0b1/docs/README.rst +1 -0
  10. jni-1.2.0b1/docs/_static/.keep +0 -0
  11. jni-1.2.0b1/docs/_templates/.keep +0 -0
  12. jni-1.2.0b1/docs/conf.py +115 -0
  13. jni-1.2.0b1/docs/index.rst +21 -0
  14. jni-1.2.0b1/docs/install.rst +24 -0
  15. jni-1.2.0b1/docs/userguide.rst +9 -0
  16. jni-1.2.0b1/pyproject.toml +353 -0
  17. jni-1.2.0b1/setup.cfg +4 -0
  18. jni-1.2.0b1/setup.py +70 -0
  19. jni-1.2.0b1/src/jni/__about__.py +5 -0
  20. jni-1.2.0b1/src/jni/__config__.py +1 -0
  21. jni-1.2.0b1/src/jni/__init__.py +17 -0
  22. jni-1.2.0b1/src/jni/_config.py +51 -0
  23. jni-1.2.0b1/src/jni/_util.py +242 -0
  24. jni-1.2.0b1/src/jni/capi/__init__.py +118 -0
  25. jni-1.2.0b1/src/jni/capi/java/jdk/include/_notes_.txt +30 -0
  26. jni-1.2.0b1/src/jni/capi/java/jdk/include/android/jni.h +1193 -0
  27. jni-1.2.0b1/src/jni/capi/java/jdk/include/darwin/jni_md.h +64 -0
  28. jni-1.2.0b1/src/jni/capi/java/jdk/include/darwin/jni_md.h.dsc.txt +7 -0
  29. jni-1.2.0b1/src/jni/capi/java/jdk/include/jni.h +2013 -0
  30. jni-1.2.0b1/src/jni/capi/java/jdk/include/jni.h.dsc.txt +7 -0
  31. jni-1.2.0b1/src/jni/capi/java/jdk/include/linux/jni_md.h +64 -0
  32. jni-1.2.0b1/src/jni/capi/java/jdk/include/linux/jni_md.h.dsc.txt +7 -0
  33. jni-1.2.0b1/src/jni/capi/java/jdk/include/win32/jni_md.h +38 -0
  34. jni-1.2.0b1/src/jni/capi/java/jdk/include/win32/jni_md.h.dsc.txt +7 -0
  35. jni-1.2.0b1/src/jni/capi/jni.c +1664 -0
  36. jni-1.2.0b1/src/jni/cffi/__init__.py +1592 -0
  37. jni-1.2.0b1/src/jni/cffi/jni.h +2018 -0
  38. jni-1.2.0b1/src/jni/cffi/jni.py +11 -0
  39. jni-1.2.0b1/src/jni/ctypes/__init__.py +1949 -0
  40. jni-1.2.0b1/src/jni/ctypes/_ct.py +137 -0
  41. jni-1.2.0b1/src/jni/cython/__init__.py +136 -0
  42. jni-1.2.0b1/src/jni/cython/jni.c +38330 -0
  43. jni-1.2.0b1/src/jni/cython/jni.h +481 -0
  44. jni-1.2.0b1/src/jni/cython/jni.pxd +487 -0
  45. jni-1.2.0b1/src/jni/cython/jni.pyx +598 -0
  46. jni-1.2.0b1/src/jni/jni.c +98 -0
  47. jni-1.2.0b1/src/jni/jni.cfg +4 -0
  48. jni-1.2.0b1/src/jni/pvm.c +227 -0
  49. jni-1.2.0b1/src/jni.egg-info/PKG-INFO +243 -0
  50. jni-1.2.0b1/src/jni.egg-info/SOURCES.txt +74 -0
  51. jni-1.2.0b1/src/jni.egg-info/dependency_links.txt +1 -0
  52. jni-1.2.0b1/src/jni.egg-info/not-zip-safe +1 -0
  53. jni-1.2.0b1/src/jni.egg-info/requires.txt +23 -0
  54. jni-1.2.0b1/src/jni.egg-info/top_level.txt +1 -0
  55. jni-1.2.0b1/tests/__init__.py +11 -0
  56. jni-1.2.0b1/tests/__main.py +154 -0
  57. jni-1.2.0b1/tests/__main__.py +10 -0
  58. jni-1.2.0b1/tests/_jvm.py +253 -0
  59. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/AbstractCallback.class +0 -0
  60. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/BaseExample.class +0 -0
  61. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/Example$1.class +0 -0
  62. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/Example$Inner.class +0 -0
  63. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/Example$Stuff.class +0 -0
  64. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/Example.class +0 -0
  65. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/ICallback.class +0 -0
  66. jni-1.2.0b1/tests/java/classes/org/jt/jni/test/Thing.class +0 -0
  67. jni-1.2.0b1/tests/java/lib/.keep +0 -0
  68. jni-1.2.0b1/tests/java/org/jt/jni/test/AbstractCallback.java +54 -0
  69. jni-1.2.0b1/tests/java/org/jt/jni/test/BaseExample.java +231 -0
  70. jni-1.2.0b1/tests/java/org/jt/jni/test/Example.java +457 -0
  71. jni-1.2.0b1/tests/java/org/jt/jni/test/ICallback.java +17 -0
  72. jni-1.2.0b1/tests/java/org/jt/jni/test/Thing.java +24 -0
  73. jni-1.2.0b1/tests/test_jni.py +1328 -0
  74. jni-1.2.0b1/tests/test_util.py +46 -0
@@ -0,0 +1,15 @@
1
+ version: 2
2
+ build:
3
+ os: "ubuntu-22.04"
4
+ tools:
5
+ python: "3.13"
6
+ python:
7
+ install:
8
+ - method: pip
9
+ path: .
10
+ extra_requirements:
11
+ - doc
12
+ sphinx:
13
+ builder: html
14
+ configuration: docs/conf.py
15
+ fail_on_warning: true
@@ -0,0 +1,81 @@
1
+ Changelog
2
+ =========
3
+
4
+ 1.2.0b1 (2025-06-17)
5
+ --------------------
6
+ - Add support for Python 3.14
7
+ - Add support for PyPy 3.11
8
+ - Drop support for Python 3.9 (due to compatibility issues).
9
+ - Drop support for PyPy 3.9
10
+ - | Drop support for Oracle Java 1.8 (jdk, jre) due to licensing issues
11
+ | and the end of support from Oracle.
12
+ - Update readthedocs's python to version 3.13
13
+ - Update tox's base_python to version 3.13
14
+ - The distribution is now created using 'build' instead of 'setuptools'.
15
+ - Copyright year update.
16
+ - Setup (dependencies) update.
17
+
18
+ 1.1.0b6 (2024-12-01)
19
+ --------------------
20
+ - Fixes for embedded python.
21
+ - Java 17 is now the primary build/test environment.
22
+ - Add support for Python 3.13
23
+ - Drop support for Python 3.8
24
+ - jni.c and pvm.c (useful for embedded python apps) have been added.
25
+ - Unittest have been performed for much more JVMs.
26
+ - Tox configuration is now in native (toml) format.
27
+ - Setup fixes.
28
+ - Setup (dependencies) update.
29
+
30
+ 1.0.0b22 (2024-01-26)
31
+ ---------------------
32
+ - Tox configuration has been moved to pyproject.toml
33
+ - Setup update (now based on tox >= 4.0).
34
+ - Add support for Python 3.10, 3.11 and 3.12
35
+ - Drop support for Python 3.7
36
+ - Add support for PyPy 3.9 and 3.10
37
+ - Copyright year update.
38
+
39
+ 1.0.0b20 (2022-01-29)
40
+ ---------------------
41
+ - Drop support for Python 3.6
42
+ - Setup update.
43
+
44
+ 1.0.0b18 (2021-10-13)
45
+ ---------------------
46
+ - dll_path argument of load() can also be type os.PathLike.
47
+ - Copyright year update.
48
+ - Setup update.
49
+
50
+ 1.0.0b17 (2020-11-10)
51
+ ---------------------
52
+ - Add support for Python 3.9
53
+ - General update, improvements and cleanup.
54
+ - Setup update and improvements.
55
+ - Fixed docs setup.
56
+
57
+ 1.0.0b7 (2020-03-08)
58
+ --------------------
59
+ - Drop support for Python2
60
+ - Update of license info.
61
+ - Setup update.
62
+
63
+ 1.0.0b4 (2019-07-10)
64
+ --------------------
65
+ - Last release for Python2
66
+
67
+ 1.0.0b3 (2018-05-22)
68
+ --------------------
69
+ - Update of the required setuptools version.
70
+
71
+ 1.0.0b2 (2018-02-26)
72
+ --------------------
73
+ - Improvement and simplification of setup and packaging.
74
+
75
+ 1.0.0b1 (2017-11-18)
76
+ --------------------
77
+ - First 'official' version.
78
+
79
+ 0.1.1 (2005-10-05)
80
+ ------------------
81
+ - Initial version.
jni-1.2.0b1/LICENSE ADDED
@@ -0,0 +1,309 @@
1
+ Python bridge for the Java Native Interface is dual-licensed:
2
+
3
+ 1. Python bridge for the Java Native Interface is licensed under
4
+ proprietary License for commercial use.
5
+
6
+ Copyright (c) 2004-2025 Adam Karpierz, All Rights Reserved.
7
+ (The full source of proprietary license will be included in the future
8
+ when Python bridge for the Java Native Interface will be ready for
9
+ commercial usage and distribution).
10
+
11
+ and/or
12
+
13
+ 2. Python bridge for the Java Native Interface by Adam Karpierz is
14
+ licensed under CC BY-NC-ND 4.0
15
+ To view a copy of this license, visit:
16
+ https://creativecommons.org/licenses/by-nc-nd/4.0
17
+ https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
18
+ or see below.
19
+
20
+ Creative Commons Attribution-NonCommercial-NoDerivatives 4.0
21
+ International Public License
22
+
23
+ By exercising the Licensed Rights (defined below), You accept and agree
24
+ to be bound by the terms and conditions of this Creative Commons
25
+ Attribution-NonCommercial-NoDerivatives 4.0 International Public License
26
+ ("Public License"). To the extent this Public License may be interpreted
27
+ as a contract, You are granted the Licensed Rights in consideration of
28
+ Your acceptance of these terms and conditions, and the Licensor grants
29
+ You such rights in consideration of benefits the Licensor receives from
30
+ making the Licensed Material available under these terms and conditions.
31
+
32
+ *Section 1 � Definitions.*
33
+
34
+ a. *Adapted Material* means material subject to Copyright and Similar
35
+ Rights that is derived from or based upon the Licensed Material and
36
+ in which the Licensed Material is translated, altered, arranged,
37
+ transformed, or otherwise modified in a manner requiring permission
38
+ under the Copyright and Similar Rights held by the Licensor. For
39
+ purposes of this Public License, where the Licensed Material is a
40
+ musical work, performance, or sound recording, Adapted Material is
41
+ always produced where the Licensed Material is synched in timed
42
+ relation with a moving image.
43
+
44
+ b. *Copyright and Similar Rights* means copyright and/or similar rights
45
+ closely related to copyright including, without limitation,
46
+ performance, broadcast, sound recording, and Sui Generis Database
47
+ Rights, without regard to how the rights are labeled or categorized.
48
+ For purposes of this Public License, the rights specified in Section
49
+ 2(b)(1)-(2) <#s2b> are not Copyright and Similar Rights.
50
+
51
+ c. *Effective Technological Measures* means those measures that, in the
52
+ absence of proper authority, may not be circumvented under laws
53
+ fulfilling obligations under Article 11 of the WIPO Copyright Treaty
54
+ adopted on December 20, 1996, and/or similar international
55
+ agreements.
56
+
57
+ d. *Exceptions and Limitations* means fair use, fair dealing, and/or
58
+ any other exception or limitation to Copyright and Similar Rights
59
+ that applies to Your use of the Licensed Material.
60
+
61
+ e. *Licensed Material* means the artistic or literary work, database,
62
+ or other material to which the Licensor applied this Public License.
63
+
64
+ f. *Licensed Rights* means the rights granted to You subject to the
65
+ terms and conditions of this Public License, which are limited to
66
+ all Copyright and Similar Rights that apply to Your use of the
67
+ Licensed Material and that the Licensor has authority to license.
68
+
69
+ g. *Licensor* means the individual(s) or entity(ies) granting rights
70
+ under this Public License.
71
+
72
+ h. *NonCommercial* means not primarily intended for or directed towards
73
+ commercial advantage or monetary compensation. For purposes of this
74
+ Public License, the exchange of the Licensed Material for other
75
+ material subject to Copyright and Similar Rights by digital
76
+ file-sharing or similar means is NonCommercial provided there is no
77
+ payment of monetary compensation in connection with the exchange.
78
+
79
+ i. *Share* means to provide material to the public by any means or
80
+ process that requires permission under the Licensed Rights, such as
81
+ reproduction, public display, public performance, distribution,
82
+ dissemination, communication, or importation, and to make material
83
+ available to the public including in ways that members of the public
84
+ may access the material from a place and at a time individually
85
+ chosen by them.
86
+
87
+ j. *Sui Generis Database Rights* means rights other than copyright
88
+ resulting from Directive 96/9/EC of the European Parliament and of
89
+ the Council of 11 March 1996 on the legal protection of databases,
90
+ as amended and/or succeeded, as well as other essentially equivalent
91
+ rights anywhere in the world.
92
+
93
+ k. *You* means the individual or entity exercising the Licensed Rights
94
+ under this Public License. *Your* has a corresponding meaning.
95
+
96
+ *Section 2 � Scope.*
97
+
98
+ a. *License grant*.
99
+
100
+ 1. Subject to the terms and conditions of this Public License, the
101
+ Licensor hereby grants You a worldwide, royalty-free,
102
+ non-sublicensable, non-exclusive, irrevocable license to
103
+ exercise the Licensed Rights in the Licensed Material to:
104
+ 1. reproduce and Share the Licensed Material, in whole or in
105
+ part, for NonCommercial purposes only; and
106
+ 2. produce and reproduce, but not Share, Adapted Material for
107
+ NonCommercial purposes only.
108
+
109
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
110
+ Exceptions and Limitations apply to Your use, this Public
111
+ License does not apply, and You do not need to comply with its
112
+ terms and conditions.
113
+
114
+ 3. Term. The term of this Public License is specified in Section
115
+ 6(a) <#s6a>.
116
+
117
+ 4. Media and formats; technical modifications allowed. The Licensor
118
+ authorizes You to exercise the Licensed Rights in all media and
119
+ formats whether now known or hereafter created, and to make
120
+ technical modifications necessary to do so. The Licensor waives
121
+ and/or agrees not to assert any right or authority to forbid You
122
+ from making technical modifications necessary to exercise the
123
+ Licensed Rights, including technical modifications necessary to
124
+ circumvent Effective Technological Measures. For purposes of
125
+ this Public License, simply making modifications authorized by
126
+ this Section 2(a)(4) <#s2a4> never produces Adapted Material.
127
+
128
+ 5. Downstream recipients.
129
+ A. Offer from the Licensor � Licensed Material. Every recipient
130
+ of the Licensed Material automatically receives an offer
131
+ from the Licensor to exercise the Licensed Rights under the
132
+ terms and conditions of this Public License.
133
+ B. No downstream restrictions. You may not offer or impose any
134
+ additional or different terms or conditions on, or apply any
135
+ Effective Technological Measures to, the Licensed Material
136
+ if doing so restricts exercise of the Licensed Rights by any
137
+ recipient of the Licensed Material.
138
+
139
+ 6. No endorsement. Nothing in this Public License constitutes or
140
+ may be construed as permission to assert or imply that You are,
141
+ or that Your use of the Licensed Material is, connected with, or
142
+ sponsored, endorsed, or granted official status by, the Licensor
143
+ or others designated to receive attribution as provided in
144
+ Section 3(a)(1)(A)(i) <#s3a1Ai>.
145
+
146
+ b. *Other rights*.
147
+
148
+ 1. Moral rights, such as the right of integrity, are not licensed
149
+ under this Public License, nor are publicity, privacy, and/or
150
+ other similar personality rights; however, to the extent
151
+ possible, the Licensor waives and/or agrees not to assert any
152
+ such rights held by the Licensor to the limited extent necessary
153
+ to allow You to exercise the Licensed Rights, but not otherwise.
154
+
155
+ 2. Patent and trademark rights are not licensed under this Public
156
+ License.
157
+
158
+ 3. To the extent possible, the Licensor waives any right to collect
159
+ royalties from You for the exercise of the Licensed Rights,
160
+ whether directly or through a collecting society under any
161
+ voluntary or waivable statutory or compulsory licensing scheme.
162
+ In all other cases the Licensor expressly reserves any right to
163
+ collect such royalties, including when the Licensed Material is
164
+ used other than for NonCommercial purposes.
165
+
166
+ *Section 3 � License Conditions.*
167
+
168
+ Your exercise of the Licensed Rights is expressly made subject to the
169
+ following conditions.
170
+
171
+ a. *Attribution*.
172
+
173
+ 1. If You Share the Licensed Material, You must:
174
+ A. retain the following if it is supplied by the Licensor with
175
+ the Licensed Material:
176
+ i. identification of the creator(s) of the Licensed
177
+ Material and any others designated to receive
178
+ attribution, in any reasonable manner requested by the
179
+ Licensor (including by pseudonym if designated);
180
+ ii. a copyright notice;
181
+ iii. a notice that refers to this Public License;
182
+ iv. a notice that refers to the disclaimer of warranties;
183
+ v. a URI or hyperlink to the Licensed Material to the
184
+ extent reasonably practicable;
185
+ B. indicate if You modified the Licensed Material and retain an
186
+ indication of any previous modifications; and
187
+ C. indicate the Licensed Material is licensed under this Public
188
+ License, and include the text of, or the URI or hyperlink
189
+ to, this Public License.
190
+ For the avoidance of doubt, You do not have permission under
191
+ this Public License to Share Adapted Material.
192
+
193
+ 2. You may satisfy the conditions in Section 3(a)(1) <#s3a1> in any
194
+ reasonable manner based on the medium, means, and context in
195
+ which You Share the Licensed Material. For example, it may be
196
+ reasonable to satisfy the conditions by providing a URI or
197
+ hyperlink to a resource that includes the required information.
198
+
199
+ 3. If requested by the Licensor, You must remove any of the
200
+ information required by Section 3(a)(1)(A) <#s3a1A> to the
201
+ extent reasonably practicable.
202
+
203
+ *Section 4 � Sui Generis Database Rights.*
204
+
205
+ Where the Licensed Rights include Sui Generis Database Rights that apply
206
+ to Your use of the Licensed Material:
207
+
208
+ a. for the avoidance of doubt, Section 2(a)(1) <#s2a1> grants You the
209
+ right to extract, reuse, reproduce, and Share all or a substantial
210
+ portion of the contents of the database for NonCommercial purposes
211
+ only and provided You do not Share Adapted Material;
212
+
213
+ b. if You include all or a substantial portion of the database contents
214
+ in a database in which You have Sui Generis Database Rights, then
215
+ the database in which You have Sui Generis Database Rights (but not
216
+ its individual contents) is Adapted Material; and
217
+
218
+ c. You must comply with the conditions in Section 3(a) <#s3a> if You
219
+ Share all or a substantial portion of the contents of the database.
220
+
221
+ For the avoidance of doubt, this Section 4 <#s4> supplements and does
222
+ not replace Your obligations under this Public License where the
223
+ Licensed Rights include other Copyright and Similar Rights.
224
+
225
+ *Section 5 � Disclaimer of Warranties and Limitation of Liability.*
226
+
227
+ a. *Unless otherwise separately undertaken by the Licensor, to the
228
+ extent possible, the Licensor offers the Licensed Material as-is and
229
+ as-available, and makes no representations or warranties of any kind
230
+ concerning the Licensed Material, whether express, implied,
231
+ statutory, or other. This includes, without limitation, warranties
232
+ of title, merchantability, fitness for a particular purpose,
233
+ non-infringement, absence of latent or other defects, accuracy, or
234
+ the presence or absence of errors, whether or not known or
235
+ discoverable. Where disclaimers of warranties are not allowed in
236
+ full or in part, this disclaimer may not apply to You.*
237
+
238
+ b. *To the extent possible, in no event will the Licensor be liable to
239
+ You on any legal theory (including, without limitation, negligence)
240
+ or otherwise for any direct, special, indirect, incidental,
241
+ consequential, punitive, exemplary, or other losses, costs,
242
+ expenses, or damages arising out of this Public License or use of
243
+ the Licensed Material, even if the Licensor has been advised of the
244
+ possibility of such losses, costs, expenses, or damages. Where a
245
+ limitation of liability is not allowed in full or in part, this
246
+ limitation may not apply to You.*
247
+
248
+ c. The disclaimer of warranties and limitation of liability provided
249
+ above shall be interpreted in a manner that, to the extent possible,
250
+ most closely approximates an absolute disclaimer and waiver of all
251
+ liability.
252
+
253
+ *Section 6 � Term and Termination.*
254
+
255
+ a. This Public License applies for the term of the Copyright and
256
+ Similar Rights licensed here. However, if You fail to comply with
257
+ this Public License, then Your rights under this Public License
258
+ terminate automatically.
259
+
260
+ b. Where Your right to use the Licensed Material has terminated under
261
+ Section 6(a) <#s6a>, it reinstates:
262
+
263
+ 1. automatically as of the date the violation is cured, provided it
264
+ is cured within 30 days of Your discovery of the violation; or
265
+ 2. upon express reinstatement by the Licensor.
266
+
267
+ For the avoidance of doubt, this Section 6(b) <#s6b> does not affect
268
+ any right the Licensor may have to seek remedies for Your violations
269
+ of this Public License.
270
+
271
+ c. For the avoidance of doubt, the Licensor may also offer the Licensed
272
+ Material under separate terms or conditions or stop distributing the
273
+ Licensed Material at any time; however, doing so will not terminate
274
+ this Public License.
275
+
276
+ d. Sections 1 <#s1>, 5 <#s5>, 6 <#s6>, 7 <#s7>, and 8 <#s8> survive
277
+ termination of this Public License.
278
+
279
+ *Section 7 � Other Terms and Conditions.*
280
+
281
+ a. The Licensor shall not be bound by any additional or different terms
282
+ or conditions communicated by You unless expressly agreed.
283
+
284
+ b. Any arrangements, understandings, or agreements regarding the
285
+ Licensed Material not stated herein are separate from and
286
+ independent of the terms and conditions of this Public License.
287
+
288
+ *Section 8 � Interpretation.*
289
+
290
+ a. For the avoidance of doubt, this Public License does not, and shall
291
+ not be interpreted to, reduce, limit, restrict, or impose conditions
292
+ on any use of the Licensed Material that could lawfully be made
293
+ without permission under this Public License.
294
+
295
+ b. To the extent possible, if any provision of this Public License is
296
+ deemed unenforceable, it shall be automatically reformed to the
297
+ minimum extent necessary to make it enforceable. If the provision
298
+ cannot be reformed, it shall be severed from this Public License
299
+ without affecting the enforceability of the remaining terms and
300
+ conditions.
301
+
302
+ c. No term or condition of this Public License will be waived and no
303
+ failure to comply consented to unless expressly agreed to by the
304
+ Licensor.
305
+
306
+ d. Nothing in this Public License constitutes or may be interpreted as
307
+ a limitation upon, or waiver of, any privileges and immunities that
308
+ apply to the Licensor or You, including from the legal processes of
309
+ any jurisdiction or authority.
@@ -0,0 +1,19 @@
1
+ # Copyright (c) 2004 Adam Karpierz
2
+ # SPDX-License-Identifier: CC-BY-NC-ND-4.0 OR LicenseRef-Proprietary
3
+ # Please refer to the accompanying LICENSE file.
4
+
5
+ include README.rst
6
+ include CHANGES.rst
7
+ include LICENSE
8
+ include pyproject.toml
9
+ include .readthedocs.yml
10
+
11
+ graft docs
12
+
13
+ graft src
14
+
15
+ graft tests
16
+
17
+ global-exclude \#* \#*/**
18
+ global-exclude .build .build/** .build.* .build.*/**
19
+ global-exclude *.py[cod] __pycache__
jni-1.2.0b1/PKG-INFO ADDED
@@ -0,0 +1,243 @@
1
+ Metadata-Version: 2.4
2
+ Name: jni
3
+ Version: 1.2.0b1
4
+ Summary: Python bridge for the Java Native Interface.
5
+ Author: Adam Karpierz
6
+ Author-email: adam@karpierz.net
7
+ Maintainer: Adam Karpierz
8
+ Maintainer-email: adam@karpierz.net
9
+ License-Expression: CC-BY-NC-ND-4.0 OR LicenseRef-Proprietary
10
+ Project-URL: Homepage, https://pypi.org/project/jni/
11
+ Project-URL: Documentation, https://jni.readthedocs.io/
12
+ Project-URL: Download, https://pypi.org/project/jni/
13
+ Project-URL: Source, https://github.com/karpierz/jni
14
+ Project-URL: Issues, https://github.com/karpierz/jni/issues
15
+ Keywords: jni,jvm,jtypes,jt,jpype,jep,pyjnius,jpy,javabridge,pyjava,jcc,py4j,jython,java,pythonjava,rubicon-java
16
+ Platform: any
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Natural Language :: Polish
21
+ Classifier: Programming Language :: Python
22
+ Classifier: Programming Language :: Python :: 3
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: 3 :: Only
29
+ Classifier: Programming Language :: Python :: Implementation :: CPython
30
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
31
+ Classifier: Programming Language :: Java
32
+ Classifier: Programming Language :: C
33
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
34
+ Classifier: Topic :: Software Development :: Libraries :: Java Libraries
35
+ Requires-Python: <4.0.0,>=3.10.0
36
+ Description-Content-Type: text/x-rst; charset=UTF-8
37
+ License-File: LICENSE
38
+ Requires-Dist: setuptools>=80.9.0
39
+ Requires-Dist: pkg-about>=1.3.6
40
+ Provides-Extra: cffi
41
+ Requires-Dist: cffi>=1.17.1; extra == "cffi"
42
+ Provides-Extra: cython
43
+ Requires-Dist: cython>=3.1.2; extra == "cython"
44
+ Provides-Extra: doc
45
+ Requires-Dist: Sphinx>=8.1.3; extra == "doc"
46
+ Requires-Dist: sphinx-autodoc-typehints>=3.0.1; extra == "doc"
47
+ Requires-Dist: sphinx-toolbox>=4.0.0; extra == "doc"
48
+ Requires-Dist: sphinx-tabs>=3.4.5; extra == "doc"
49
+ Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
50
+ Requires-Dist: sphinxcontrib-spelling>=8.0.1; extra == "doc"
51
+ Requires-Dist: sphinx-lint>=1.0.0; extra == "doc"
52
+ Requires-Dist: restructuredtext-lint>=1.4.0; extra == "doc"
53
+ Requires-Dist: nbsphinx>=0.9.7; extra == "doc"
54
+ Provides-Extra: test
55
+ Requires-Dist: deepdiff>=8.5.0; extra == "test"
56
+ Requires-Dist: rich>=14.0.0; extra == "test"
57
+ Dynamic: license-file
58
+
59
+ jni
60
+ ===
61
+
62
+ Python bridge for the Java Native Interface.
63
+
64
+ Overview
65
+ ========
66
+
67
+ | |package_bold| is a complete bridge between Python and Java JNI.
68
+ | It is an effort to allow python programs full access to Java JNI API.
69
+
70
+ `PyPI record`_.
71
+
72
+ `Documentation`_.
73
+
74
+ | |package_bold| is a lightweight Python package, based on the *ctypes*, or *cffi* library,
75
+ or Cython wrapper (currently under development).
76
+ | It is done by implementing whole JNI API functionality in a clean Python instead of C/C++.
77
+ | |package_bold| also contains a JNI wrapper in pure C based on Python C-API (currently under
78
+ development) - mainly for performance reasons.
79
+
80
+ What is |package|:
81
+ ------------------
82
+
83
+ | |package_bold| is an effort to allow python programs full access to Java JNI API.
84
+ | This is achieved not through re-implementing Python, as Jython has done,
85
+ but rather through interfacing at the native level in both virtual machines.
86
+
87
+ Known Bugs/Limitations :
88
+ * Because of lack of JVM support, you cannot shutdown the JVM and then restart it.
89
+
90
+ Installation
91
+ ============
92
+
93
+ Prerequisites:
94
+
95
+ + Python 3.10 or higher
96
+
97
+ * https://www.python.org/
98
+ * Java 17 is a primary test environment.
99
+
100
+ + pip and setuptools
101
+
102
+ * https://pypi.org/project/pip/
103
+ * https://pypi.org/project/setuptools/
104
+
105
+ To install run:
106
+
107
+ .. parsed-literal::
108
+
109
+ python -m pip install --upgrade |package|
110
+
111
+ Development
112
+ ===========
113
+
114
+ Prerequisites:
115
+
116
+ + Development is strictly based on *tox*. To install it run::
117
+
118
+ python -m pip install --upgrade tox
119
+
120
+ Visit `Development page`_.
121
+
122
+ Installation from sources:
123
+
124
+ clone the sources:
125
+
126
+ .. parsed-literal::
127
+
128
+ git clone |respository| |package|
129
+
130
+ and run:
131
+
132
+ .. parsed-literal::
133
+
134
+ python -m pip install ./|package|
135
+
136
+ or on development mode:
137
+
138
+ .. parsed-literal::
139
+
140
+ python -m pip install --editable ./|package|
141
+
142
+ License
143
+ =======
144
+
145
+ | |copyright|
146
+ | Licensed under CC BY-NC-ND 4.0
147
+ | Licensed under proprietary License
148
+ | Please refer to the accompanying LICENSE file.
149
+
150
+ Authors
151
+ =======
152
+
153
+ * Adam Karpierz <adam@karpierz.net>
154
+
155
+ .. |package| replace:: jni
156
+ .. |package_bold| replace:: **jni**
157
+ .. |copyright| replace:: Copyright (c) 2004-2025 Adam Karpierz
158
+ .. |respository| replace:: https://github.com/karpierz/jni.git
159
+ .. _Development page: https://github.com/karpierz/jni
160
+ .. _PyPI record: https://pypi.org/project/jni/
161
+ .. _Documentation: https://jni.readthedocs.io/
162
+
163
+ Changelog
164
+ =========
165
+
166
+ 1.2.0b1 (2025-06-17)
167
+ --------------------
168
+ - Add support for Python 3.14
169
+ - Add support for PyPy 3.11
170
+ - Drop support for Python 3.9 (due to compatibility issues).
171
+ - Drop support for PyPy 3.9
172
+ - | Drop support for Oracle Java 1.8 (jdk, jre) due to licensing issues
173
+ | and the end of support from Oracle.
174
+ - Update readthedocs's python to version 3.13
175
+ - Update tox's base_python to version 3.13
176
+ - The distribution is now created using 'build' instead of 'setuptools'.
177
+ - Copyright year update.
178
+ - Setup (dependencies) update.
179
+
180
+ 1.1.0b6 (2024-12-01)
181
+ --------------------
182
+ - Fixes for embedded python.
183
+ - Java 17 is now the primary build/test environment.
184
+ - Add support for Python 3.13
185
+ - Drop support for Python 3.8
186
+ - jni.c and pvm.c (useful for embedded python apps) have been added.
187
+ - Unittest have been performed for much more JVMs.
188
+ - Tox configuration is now in native (toml) format.
189
+ - Setup fixes.
190
+ - Setup (dependencies) update.
191
+
192
+ 1.0.0b22 (2024-01-26)
193
+ ---------------------
194
+ - Tox configuration has been moved to pyproject.toml
195
+ - Setup update (now based on tox >= 4.0).
196
+ - Add support for Python 3.10, 3.11 and 3.12
197
+ - Drop support for Python 3.7
198
+ - Add support for PyPy 3.9 and 3.10
199
+ - Copyright year update.
200
+
201
+ 1.0.0b20 (2022-01-29)
202
+ ---------------------
203
+ - Drop support for Python 3.6
204
+ - Setup update.
205
+
206
+ 1.0.0b18 (2021-10-13)
207
+ ---------------------
208
+ - dll_path argument of load() can also be type os.PathLike.
209
+ - Copyright year update.
210
+ - Setup update.
211
+
212
+ 1.0.0b17 (2020-11-10)
213
+ ---------------------
214
+ - Add support for Python 3.9
215
+ - General update, improvements and cleanup.
216
+ - Setup update and improvements.
217
+ - Fixed docs setup.
218
+
219
+ 1.0.0b7 (2020-03-08)
220
+ --------------------
221
+ - Drop support for Python2
222
+ - Update of license info.
223
+ - Setup update.
224
+
225
+ 1.0.0b4 (2019-07-10)
226
+ --------------------
227
+ - Last release for Python2
228
+
229
+ 1.0.0b3 (2018-05-22)
230
+ --------------------
231
+ - Update of the required setuptools version.
232
+
233
+ 1.0.0b2 (2018-02-26)
234
+ --------------------
235
+ - Improvement and simplification of setup and packaging.
236
+
237
+ 1.0.0b1 (2017-11-18)
238
+ --------------------
239
+ - First 'official' version.
240
+
241
+ 0.1.1 (2005-10-05)
242
+ ------------------
243
+ - Initial version.