Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rpyc for openSUSE:Factory 
checked in at 2025-07-24 18:54:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rpyc (Old)
 and      /work/SRC/openSUSE:Factory/.python-rpyc.new.13279 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-rpyc"

Thu Jul 24 18:54:14 2025 rev:16 rq:1295533 version:6.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rpyc/python-rpyc.changes  2024-11-15 
15:44:17.773070288 +0100
+++ /work/SRC/openSUSE:Factory/.python-rpyc.new.13279/python-rpyc.changes       
2025-07-24 18:54:23.983799593 +0200
@@ -1,0 +2,23 @@
+Wed Jul 23 12:13:46 UTC 2025 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to 6.0.2
+  * Add support to current numpy __array__ ndarray method
+  * Allow DeployServer to execute any service and script
+  * Updated owner path segment for GitHub links in CHANGELOG.rst
+  * Removed references to EOL Python2 to shorten the read
+    and keep it relevant to today
+  * Removed broken link to Travis CI as it was deprecated
+    in favor of GitHub Actions
+  * Switched dead link to internet archive for the write up
+    by David Mertz.
+  * Corrected link to pull request docs by GitHub
+  * Mass update of moved links to reduce sphinx linkcheck noise
+  * Fixed linkcheck for sourceforge by setting user agent;
+    changed sourceforge links to https
+  * Removed reference to IronPython 2.7 since latest RPyC
+    dropped EOL python versions like 2.7
+  * Updated location to context manager docs
+  * Updated owner path segment for GitHub links in docs/install.rst
+    and CONTRIBUTORS.rst
+
+-------------------------------------------------------------------

Old:
----
  6.0.1.tar.gz

New:
----
  6.0.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-rpyc.spec ++++++
--- /var/tmp/diff_new_pack.0gEHDU/_old  2025-07-24 18:54:24.567823805 +0200
+++ /var/tmp/diff_new_pack.0gEHDU/_new  2025-07-24 18:54:24.571823971 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-rpyc
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -26,7 +26,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-rpyc%{psuffix}
-Version:        6.0.1
+Version:        6.0.2
 Release:        0
 Summary:        Remote Python Call (RPyC), a RPC library
 License:        MIT

++++++ 6.0.1.tar.gz -> 6.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/CHANGELOG.rst new/rpyc-6.0.2/CHANGELOG.rst
--- old/rpyc-6.0.1/CHANGELOG.rst        2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/CHANGELOG.rst        2025-04-18 18:45:58.000000000 +0200
@@ -1,3 +1,9 @@
+6.0.2
+=====
+Date: 2024-04-18
+
+- Maintenance release
+
 6.0.1
 =====
 Date: 2024-09-24
@@ -120,8 +126,8 @@
 - Fixed unexpected behavior when using inspect.isfunction `#426`_
 - Now prevents installation of RPyC on unsupported versions of python `#429`_
 
-.. _#426: https://github.com/tomerfiliba/rpyc/issues/426
-.. _#429: https://github.com/tomerfiliba/rpyc/pull/429
+.. _#426: https://github.com/tomerfiliba-org/rpyc/issues/426
+.. _#429: https://github.com/tomerfiliba-org/rpyc/pull/429
 
 5.0.0
 -----
@@ -156,9 +162,9 @@
 - Corrections to teleport example `#374`_
 - Lowered GIL-lock acquires for <64kb within channel sends to address slowness 
`#280`_
 
-.. _#376: https://github.com/tomerfiliba/rpyc/pull/376
-.. _#374: https://github.com/tomerfiliba/rpyc/pull/374
-.. _#280: https://github.com/tomerfiliba/rpyc/issues/280
+.. _#376: https://github.com/tomerfiliba-org/rpyc/pull/376
+.. _#374: https://github.com/tomerfiliba-org/rpyc/pull/374
+.. _#280: https://github.com/tomerfiliba-org/rpyc/issues/280
 
 4.1.4
 -----
@@ -168,8 +174,8 @@
 - Fixed connection hanging due to namepack cursor  `#369`_
 - Fixed test dependencies and is_py_* for 3.9
 
-.. _#371: https://github.com/tomerfiliba/rpyc/issues/371
-.. _#369: https://github.com/tomerfiliba/rpyc/issues/369
+.. _#371: https://github.com/tomerfiliba-org/rpyc/issues/371
+.. _#369: https://github.com/tomerfiliba-org/rpyc/issues/369
 
 4.1.3
 -----
@@ -180,11 +186,11 @@
 - Fixed handling of exceptions for request callbacks `#365`_
 - Partially fixed return value for netref.__class__ `#355`_
 
-.. _#366: https://github.com/tomerfiliba/rpyc/issues/366
-.. _#351: https://github.com/tomerfiliba/rpyc/pull/351
-.. _#364: https://github.com/tomerfiliba/rpyc/pull/364
-.. _#365: https://github.com/tomerfiliba/rpyc/issues/365
-.. _#355: https://github.com/tomerfiliba/rpyc/issues/355
+.. _#366: https://github.com/tomerfiliba-org/rpyc/issues/366
+.. _#351: https://github.com/tomerfiliba-org/rpyc/pull/351
+.. _#364: https://github.com/tomerfiliba-org/rpyc/pull/364
+.. _#365: https://github.com/tomerfiliba-org/rpyc/issues/365
+.. _#355: https://github.com/tomerfiliba-org/rpyc/issues/355
 
 
 4.1.2
@@ -195,7 +201,7 @@
 - Fixed RPyC over RPyC for mutable parameters and extended unit testing for 
`#346`_
 
 .. _CVE-2019-16328: https://rpyc.readthedocs.io/en/latest/docs/security.html
-.. _#346: https://github.com/tomerfiliba/rpyc/issues/346
+.. _#346: https://github.com/tomerfiliba-org/rpyc/issues/346
 
 
 4.1.1
@@ -235,7 +241,7 @@
 
 - fix ValueError during install due to absolute PATH in SOURCES.txt (`#276`_)
 
-.. _#276: https://github.com/tomerfiliba/rpyc/issues/276
+.. _#276: https://github.com/tomerfiliba-org/rpyc/issues/276
 
 
 4.0.0
@@ -294,13 +300,13 @@
 * Exposed attributes no longer hide plain attributes if one otherwise has the
   required permissions to access the plain attribute. (`#165`_)
 
-.. _#165: https://github.com/tomerfiliba/rpyc/issues/165
-.. _#172: https://github.com/tomerfiliba/rpyc/issues/172
-.. _#173: https://github.com/tomerfiliba/rpyc/issues/173
-.. _#198: https://github.com/tomerfiliba/rpyc/issues/198
-.. _#232: https://github.com/tomerfiliba/rpyc/issues/232
-.. _#238: https://github.com/tomerfiliba/rpyc/issues/238
-.. _#248: https://github.com/tomerfiliba/rpyc/issues/248
+.. _#165: https://github.com/tomerfiliba-org/rpyc/issues/165
+.. _#172: https://github.com/tomerfiliba-org/rpyc/issues/172
+.. _#173: https://github.com/tomerfiliba-org/rpyc/issues/173
+.. _#198: https://github.com/tomerfiliba-org/rpyc/issues/198
+.. _#232: https://github.com/tomerfiliba-org/rpyc/issues/232
+.. _#238: https://github.com/tomerfiliba-org/rpyc/issues/238
+.. _#248: https://github.com/tomerfiliba-org/rpyc/issues/248
 
 What else is new
 ^^^^^^^^^^^^^^^^
@@ -374,25 +380,25 @@
 
 * fix logger issue on jython
 
-.. _#137: https://github.com/tomerfiliba/rpyc/issues/137
-.. _#146: https://github.com/tomerfiliba/rpyc/issues/146
-.. _#153: https://github.com/tomerfiliba/rpyc/issues/153
-.. _#165: https://github.com/tomerfiliba/rpyc/issues/165
-.. _#228: https://github.com/tomerfiliba/rpyc/issues/228
-.. _#231: https://github.com/tomerfiliba/rpyc/issues/231
-.. _#236: https://github.com/tomerfiliba/rpyc/issues/236
-.. _#237: https://github.com/tomerfiliba/rpyc/issues/237
-.. _#239: https://github.com/tomerfiliba/rpyc/issues/239
-.. _#244: https://github.com/tomerfiliba/rpyc/issues/244
-.. _#247: https://github.com/tomerfiliba/rpyc/issues/247
-.. _#251: https://github.com/tomerfiliba/rpyc/issues/251
-.. _#253: https://github.com/tomerfiliba/rpyc/issues/253
-.. _#264: https://github.com/tomerfiliba/rpyc/issues/264
-.. _#265: https://github.com/tomerfiliba/rpyc/issues/265
-.. _#267: https://github.com/tomerfiliba/rpyc/issues/267
-.. _#268: https://github.com/tomerfiliba/rpyc/issues/268
-.. _#269: https://github.com/tomerfiliba/rpyc/issues/269
-.. _#270: https://github.com/tomerfiliba/rpyc/issues/270
+.. _#137: https://github.com/tomerfiliba-org/rpyc/issues/137
+.. _#146: https://github.com/tomerfiliba-org/rpyc/issues/146
+.. _#153: https://github.com/tomerfiliba-org/rpyc/issues/153
+.. _#165: https://github.com/tomerfiliba-org/rpyc/issues/165
+.. _#228: https://github.com/tomerfiliba-org/rpyc/issues/228
+.. _#231: https://github.com/tomerfiliba-org/rpyc/issues/231
+.. _#236: https://github.com/tomerfiliba-org/rpyc/issues/236
+.. _#237: https://github.com/tomerfiliba-org/rpyc/issues/237
+.. _#239: https://github.com/tomerfiliba-org/rpyc/issues/239
+.. _#244: https://github.com/tomerfiliba-org/rpyc/issues/244
+.. _#247: https://github.com/tomerfiliba-org/rpyc/issues/247
+.. _#251: https://github.com/tomerfiliba-org/rpyc/issues/251
+.. _#253: https://github.com/tomerfiliba-org/rpyc/issues/253
+.. _#264: https://github.com/tomerfiliba-org/rpyc/issues/264
+.. _#265: https://github.com/tomerfiliba-org/rpyc/issues/265
+.. _#267: https://github.com/tomerfiliba-org/rpyc/issues/267
+.. _#268: https://github.com/tomerfiliba-org/rpyc/issues/268
+.. _#269: https://github.com/tomerfiliba-org/rpyc/issues/269
+.. _#270: https://github.com/tomerfiliba-org/rpyc/issues/270
 
 .. _gevent: http://www.gevent.org/
 
@@ -408,14 +414,14 @@
 * Fix deadlock problem with logging (`#207`_, `#212`_)
 * Fix timeout problem for long commands (`#169`_)
 
-.. _#100: https://github.com/tomerfiliba/rpyc/issues/100
-.. _#169: https://github.com/tomerfiliba/rpyc/issues/169
-.. _#196: https://github.com/tomerfiliba/rpyc/issues/196
-.. _#202: https://github.com/tomerfiliba/rpyc/issues/202
-.. _#207: https://github.com/tomerfiliba/rpyc/issues/207
-.. _#208: https://github.com/tomerfiliba/rpyc/issues/208
-.. _#212: https://github.com/tomerfiliba/rpyc/issues/212
-.. _#220: https://github.com/tomerfiliba/rpyc/issues/220
+.. _#100: https://github.com/tomerfiliba-org/rpyc/issues/100
+.. _#169: https://github.com/tomerfiliba-org/rpyc/issues/169
+.. _#196: https://github.com/tomerfiliba-org/rpyc/issues/196
+.. _#202: https://github.com/tomerfiliba-org/rpyc/issues/202
+.. _#207: https://github.com/tomerfiliba-org/rpyc/issues/207
+.. _#208: https://github.com/tomerfiliba-org/rpyc/issues/208
+.. _#212: https://github.com/tomerfiliba-org/rpyc/issues/212
+.. _#220: https://github.com/tomerfiliba-org/rpyc/issues/220
 
 3.4.3
 -----
@@ -425,13 +431,13 @@
 * Fix jython support (`#156`_, `#171`_)
 * Improve documentation (`#158`_, `#185`_, `#189`_, `#198`_ and more)
 
-.. _#156: https://github.com/tomerfiliba/rpyc/issues/156
-.. _#158: https://github.com/tomerfiliba/rpyc/issues/158
-.. _#171: https://github.com/tomerfiliba/rpyc/issues/171
-.. _#185: https://github.com/tomerfiliba/rpyc/issues/185
-.. _#189: https://github.com/tomerfiliba/rpyc/issues/189
-.. _#198: https://github.com/tomerfiliba/rpyc/issues/198
-.. _#222: https://github.com/tomerfiliba/rpyc/issues/222
+.. _#156: https://github.com/tomerfiliba-org/rpyc/issues/156
+.. _#158: https://github.com/tomerfiliba-org/rpyc/issues/158
+.. _#171: https://github.com/tomerfiliba-org/rpyc/issues/171
+.. _#185: https://github.com/tomerfiliba-org/rpyc/issues/185
+.. _#189: https://github.com/tomerfiliba-org/rpyc/issues/189
+.. _#198: https://github.com/tomerfiliba-org/rpyc/issues/198
+.. _#222: https://github.com/tomerfiliba-org/rpyc/issues/222
 
 3.4.2
 -----
@@ -448,10 +454,10 @@
 * Improved log messages (`#191`_, `#204`_)
 * Drop support for python 3.2 and py 2.5
 
-.. _#191: https://github.com/tomerfiliba/rpyc/issues/191
-.. _#197: https://github.com/tomerfiliba/rpyc/issues/197
-.. _#204: https://github.com/tomerfiliba/rpyc/issues/204
-.. _#218: https://github.com/tomerfiliba/rpyc/issues/218
+.. _#191: https://github.com/tomerfiliba-org/rpyc/issues/191
+.. _#197: https://github.com/tomerfiliba-org/rpyc/issues/197
+.. _#204: https://github.com/tomerfiliba-org/rpyc/issues/204
+.. _#218: https://github.com/tomerfiliba-org/rpyc/issues/218
 
 3.4.0
 -----
@@ -463,21 +469,21 @@
 
 * Various fixes: `#136`_, `#140`_, `#143`_, `#147`_, `#149`_, `#151`_, 
`#159`_, `#160`_, `#166`_, `#173`_, `#176`_, `#179`_, `#174`_, `#182`_, `#183`_ 
and others.
 
-.. _#136: https://github.com/tomerfiliba/rpyc/issues/136
-.. _#140: https://github.com/tomerfiliba/rpyc/issues/140
-.. _#143: https://github.com/tomerfiliba/rpyc/issues/143
-.. _#147: https://github.com/tomerfiliba/rpyc/issues/147
-.. _#149: https://github.com/tomerfiliba/rpyc/issues/149
-.. _#151: https://github.com/tomerfiliba/rpyc/issues/151
-.. _#159: https://github.com/tomerfiliba/rpyc/issues/159
-.. _#160: https://github.com/tomerfiliba/rpyc/issues/160
-.. _#166: https://github.com/tomerfiliba/rpyc/issues/166
-.. _#173: https://github.com/tomerfiliba/rpyc/issues/173
-.. _#174: https://github.com/tomerfiliba/rpyc/issues/174
-.. _#176: https://github.com/tomerfiliba/rpyc/issues/176
-.. _#179: https://github.com/tomerfiliba/rpyc/issues/179
-.. _#182: https://github.com/tomerfiliba/rpyc/issues/182
-.. _#183: https://github.com/tomerfiliba/rpyc/issues/183
+.. _#136: https://github.com/tomerfiliba-org/rpyc/issues/136
+.. _#140: https://github.com/tomerfiliba-org/rpyc/issues/140
+.. _#143: https://github.com/tomerfiliba-org/rpyc/issues/143
+.. _#147: https://github.com/tomerfiliba-org/rpyc/issues/147
+.. _#149: https://github.com/tomerfiliba-org/rpyc/issues/149
+.. _#151: https://github.com/tomerfiliba-org/rpyc/issues/151
+.. _#159: https://github.com/tomerfiliba-org/rpyc/issues/159
+.. _#160: https://github.com/tomerfiliba-org/rpyc/issues/160
+.. _#166: https://github.com/tomerfiliba-org/rpyc/issues/166
+.. _#173: https://github.com/tomerfiliba-org/rpyc/issues/173
+.. _#174: https://github.com/tomerfiliba-org/rpyc/issues/174
+.. _#176: https://github.com/tomerfiliba-org/rpyc/issues/176
+.. _#179: https://github.com/tomerfiliba-org/rpyc/issues/179
+.. _#182: https://github.com/tomerfiliba-org/rpyc/issues/182
+.. _#183: https://github.com/tomerfiliba-org/rpyc/issues/183
 
 3.3.0
 -----
@@ -530,10 +536,10 @@
 
 * Add UNIX domain sockets (`#100`_)
 
-.. _#76: https://github.com/tomerfiliba/rpyc/issues/76
-.. _#89: https://github.com/tomerfiliba/rpyc/issues/89
-.. _#91: https://github.com/tomerfiliba/rpyc/issues/91
-.. _#100: https://github.com/tomerfiliba/rpyc/issues/100
+.. _#76: https://github.com/tomerfiliba-org/rpyc/issues/76
+.. _#89: https://github.com/tomerfiliba-org/rpyc/issues/89
+.. _#91: https://github.com/tomerfiliba-org/rpyc/issues/91
+.. _#100: https://github.com/tomerfiliba-org/rpyc/issues/100
 
 3.2.2
 -----
@@ -549,13 +555,13 @@
 
 * Shutting down the old wikidot site
 
-* Adding `Travis CI <http://travis-ci.org/#!/tomerfiliba/rpyc>`_ integration
+* Adding Travis CI integration
 
-.. _#68: https://github.com/tomerfiliba/rpyc/issues/68
-.. _#71: https://github.com/tomerfiliba/rpyc/issues/71
-.. _#72: https://github.com/tomerfiliba/rpyc/issues/72
-.. _#73: https://github.com/tomerfiliba/rpyc/issues/73
-.. _#76: https://github.com/tomerfiliba/rpyc/issues/76
+.. _#68: https://github.com/tomerfiliba-org/rpyc/issues/68
+.. _#71: https://github.com/tomerfiliba-org/rpyc/issues/71
+.. _#72: https://github.com/tomerfiliba-org/rpyc/issues/72
+.. _#73: https://github.com/tomerfiliba-org/rpyc/issues/73
+.. _#76: https://github.com/tomerfiliba-org/rpyc/issues/76
 
 3.2.1
 -----
@@ -569,14 +575,14 @@
 
 * Added the ``endpoints`` parameter to the config dict of connection (only on 
the server side)
 
-.. _#52: https://github.com/tomerfiliba/rpyc/issues/52
-.. _#54: https://github.com/tomerfiliba/rpyc/issues/54
-.. _#58: https://github.com/tomerfiliba/rpyc/issues/58
-.. _#59: https://github.com/tomerfiliba/rpyc/issues/59
-.. _#60: https://github.com/tomerfiliba/rpyc/issues/60
-.. _#61: https://github.com/tomerfiliba/rpyc/issues/61
-.. _#62: https://github.com/tomerfiliba/rpyc/issues/62
-.. _#66: https://github.com/tomerfiliba/rpyc/issues/66
+.. _#52: https://github.com/tomerfiliba-org/rpyc/issues/52
+.. _#54: https://github.com/tomerfiliba-org/rpyc/issues/54
+.. _#58: https://github.com/tomerfiliba-org/rpyc/issues/58
+.. _#59: https://github.com/tomerfiliba-org/rpyc/issues/59
+.. _#60: https://github.com/tomerfiliba-org/rpyc/issues/60
+.. _#61: https://github.com/tomerfiliba-org/rpyc/issues/61
+.. _#62: https://github.com/tomerfiliba-org/rpyc/issues/62
+.. _#66: https://github.com/tomerfiliba-org/rpyc/issues/66
 
 3.2.0
 -----
@@ -602,7 +608,7 @@
 
 * **New documentation** (both the website and docstrings) written in **Sphinx**
 
-  * The site has moved to `sourceforge <http://rpyc.sourceforge.net>`_. Wikidot
+  * The site has moved to `sourceforge <https://rpyc.sourceforge.net>`_. 
Wikidot
     had served us well over the past three years, but they began displaying 
way too
     many ads and didn't support uploading files over ``rsync``, which made my 
life hard.
 
@@ -611,15 +617,15 @@
 
 * **Python 3.0-3.2** support
 
-.. _#8: https://github.com/tomerfiliba/rpyc/issues/8
-.. _#28: https://github.com/tomerfiliba/rpyc/issues/28
-.. _#40: https://github.com/tomerfiliba/rpyc/issues/40
-.. _#41: https://github.com/tomerfiliba/rpyc/issues/41
-.. _#42: https://github.com/tomerfiliba/rpyc/issues/42
-.. _#43: https://github.com/tomerfiliba/rpyc/issues/43
-.. _#45: https://github.com/tomerfiliba/rpyc/issues/45
-.. _#46: https://github.com/tomerfiliba/rpyc/issues/46
-.. _#49: https://github.com/tomerfiliba/rpyc/issues/49
+.. _#8: https://github.com/tomerfiliba-org/rpyc/issues/8
+.. _#28: https://github.com/tomerfiliba-org/rpyc/issues/28
+.. _#40: https://github.com/tomerfiliba-org/rpyc/issues/40
+.. _#41: https://github.com/tomerfiliba-org/rpyc/issues/41
+.. _#42: https://github.com/tomerfiliba-org/rpyc/issues/42
+.. _#43: https://github.com/tomerfiliba-org/rpyc/issues/43
+.. _#45: https://github.com/tomerfiliba-org/rpyc/issues/45
+.. _#46: https://github.com/tomerfiliba-org/rpyc/issues/46
+.. _#49: https://github.com/tomerfiliba-org/rpyc/issues/49
 
 3.1.0
 ------
@@ -651,13 +657,13 @@
 
 * Fixes typos, running pylint, etc.
 
-.. _#3: https://github.com/tomerfiliba/rpyc/issues/3
-.. _#4: https://github.com/tomerfiliba/rpyc/issues/4
-.. _#7: https://github.com/tomerfiliba/rpyc/issues/7
-.. _#13: https://github.com/tomerfiliba/rpyc/issues/13
-.. _#15: https://github.com/tomerfiliba/rpyc/issues/15
-.. _#16: https://github.com/tomerfiliba/rpyc/issues/16
-.. _#32: https://github.com/tomerfiliba/rpyc/issues/32
+.. _#3: https://github.com/tomerfiliba-org/rpyc/issues/3
+.. _#4: https://github.com/tomerfiliba-org/rpyc/issues/4
+.. _#7: https://github.com/tomerfiliba-org/rpyc/issues/7
+.. _#13: https://github.com/tomerfiliba-org/rpyc/issues/13
+.. _#15: https://github.com/tomerfiliba-org/rpyc/issues/15
+.. _#16: https://github.com/tomerfiliba-org/rpyc/issues/16
+.. _#32: https://github.com/tomerfiliba-org/rpyc/issues/32
 
 Breakage from 3.0.7
 ^^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/CONTRIBUTORS.rst 
new/rpyc-6.0.2/CONTRIBUTORS.rst
--- old/rpyc-6.0.1/CONTRIBUTORS.rst     2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/CONTRIBUTORS.rst     2025-04-18 18:45:58.000000000 +0200
@@ -23,7 +23,7 @@
 * Sponce - added the ``ThreadPoolServer``, several fixes to weak-references 
and 
   ``AsyncResult``
 * Sagiv Malihi - Bug fix in classic server
-* Miguel Alarcos - issue `#8 <https://github.com/tomerfiliba/rpyc/issues/8>`_
+* Miguel Alarcos - issue `#8 
<https://github.com/tomerfiliba-org/rpyc/issues/8>`_
 * Pola Abram - Discovered several races when server threads trerminate
 * Chris - Several bug fixes (#46, #49, #50)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/conf.py new/rpyc-6.0.2/docs/conf.py
--- old/rpyc-6.0.1/docs/conf.py 2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/conf.py 2025-04-18 18:45:58.000000000 +0200
@@ -70,6 +70,7 @@
 # directories to ignore when looking for source files.
 exclude_patterns = ['_build']
 
+user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/131.0.0.0 Safari/537.36"
 # The reST default role (used for this markup: `text`) to use for all 
documents.
 #default_role = None
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/about.rst 
new/rpyc-6.0.2/docs/docs/about.rst
--- old/rpyc-6.0.1/docs/docs/about.rst  2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/docs/about.rst  2025-04-18 18:45:58.000000000 +0200
@@ -3,10 +3,10 @@
 About RPyC
 ==========
 RPyC was inspired by the work of **Eyal Lotem** on
-`pyinvoke <http://pybuild.sourceforge.net/pyinvoke.html>`_, which pioneered in
+`pyinvoke <https://pybuild.sourceforge.net/pyinvoke.html>`_, which pioneered in
 the field of "dynamic RPC" (where there's no predefined contract between the
 two sides). The two projects, however, are completely unrelated in any other
-way. RPyC is developed and maintained by `Tomer Filiba 
<http://tomerfiliba.com>`_
+way. RPyC is developed and maintained by `Tomer Filiba 
<https://tomerfiliba.com/>`_
 (tomerfil...@gmail.com).
 
 .. note::
@@ -19,7 +19,7 @@
 
 Logo
 ----
-The logo is derived from the `Python logo 
<http://www.python.org/community/logos/>`_,
+The logo is derived from the `Python logo 
<https://www.python.org/community/logos/>`_,
 with explicit permission. I created it using *Power Point* (sorry, I'm no 
graphic
 designer :), and all the files are made available here:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/async.rst 
new/rpyc-6.0.2/docs/docs/async.rst
--- old/rpyc-6.0.1/docs/docs/async.rst  2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/docs/async.rst  2025-04-18 18:45:58.000000000 +0200
@@ -42,7 +42,7 @@
 
 Notes
 ^^^^^
-The returns async proxies are cached by a `weak-reference 
<http://docs.python.org/library/weakref.html>`_.
+The returns async proxies are cached by a `weak-reference 
<https://docs.python.org/3/library/weakref.html>`_.
 Therefore, you must hold a strong reference to the returned proxy. 
Particularly, this means
 that instead of doing ::
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/howto.rst 
new/rpyc-6.0.2/docs/docs/howto.rst
--- old/rpyc-6.0.1/docs/docs/howto.rst  2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/docs/howto.rst  2025-04-18 18:45:58.000000000 +0200
@@ -20,7 +20,7 @@
     hi here
 
 Also note that if you are using classic mode RPyC, you can use the
-`context manager 
<http://www.python.org/doc/2.5.2/lib/typecontextmanager.html>`_
+`context manager 
<https://docs.python.org/3/library/stdtypes.html#typecontextmanager>`_
 ``rpyc.classic.redirected_stdio``::
 
     >>> c.execute("print('hi there')")                   # printed on the 
server
@@ -131,7 +131,7 @@
     machine_c = rpyc.classic.connect("machine-c")
     telnetlib.socket = rpyc.modules.socket
 
-This is called `monkey-patching <http://en.wikipedia.org/wiki/Monkey_patch>`_, 
it's a very
+This is called `monkey-patching 
<https://en.wikipedia.org/wiki/Monkey_patch>`_, it's a very
 handy technique which you can use in other places as well, to override 
functions, classes
 and entire modules. For instance ::
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/secure-connection.rst 
new/rpyc-6.0.2/docs/docs/secure-connection.rst
--- old/rpyc-6.0.1/docs/docs/secure-connection.rst      2024-09-25 
06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/docs/secure-connection.rst      2025-04-18 
18:45:58.000000000 +0200
@@ -24,4 +24,4 @@
     conn = rpyc.ssl_connect("hostname", port = 12345, keyfile="client.key",
                             certfile="client.cert")
 
-For more info, see the documentation of `ssl module 
<http://docs.python.org/library/ssl.html>`_.
+For more info, see the documentation of `ssl module 
<https://docs.python.org/3/library/ssl.html>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/theory.rst 
new/rpyc-6.0.2/docs/docs/theory.rst
--- old/rpyc-6.0.1/docs/docs/theory.rst 2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/docs/theory.rst 2025-04-18 18:45:58.000000000 +0200
@@ -9,9 +9,9 @@
 Theory
 ------
 The most fundamental concept of computer programming, which almost all 
operating systems
-share, is the `process <http://en.wikipedia.org/wiki/Process_(computing)>`_.
+share, is the `process <https://en.wikipedia.org/wiki/Process_(computing)>`_.
 A process is a unit of code and data, contained within an `address space
-<http://en.wikipedia.org/wiki/address_space>`_ -- a region of (virtual) memory,
+<https://en.wikipedia.org/wiki/Address_space>`_ -- a region of (virtual) 
memory,
 owned solely by that process. This ensures that all processes are isolated 
from one another,
 so that they could run on the same hardware without interfering to each other.
 While this isolation is essential to operating systems and the programming 
model we normally use,
@@ -20,11 +20,11 @@
 programs which forces programs to resort to monolithic structuring.
 
 Several mechanism exist to overcome these boundaries, most notably
-`remote procedure calls <http://en.wikipedia.org/wiki/Remote_procedure_call>`_.
+`remote procedure calls 
<https://en.wikipedia.org/wiki/Remote_procedure_call>`_.
 Largely speaking, RPCs enable one process to execute code ("call procedures") 
that reside
 outside of its address space (in another process) and be aware of their 
results.
 Many such RPC frameworks exist, which all share some basic traits: they 
provide a way to
-describe what functions are exposed, define a `serialization 
<http://en.wikipedia.org/wiki/serialization>`_
+describe what functions are exposed, define a `serialization 
<https://en.wikipedia.org/wiki/Serialization>`_
 format, transport abstraction, and a client-side library/code-generator that 
allows clients
 utilize these remote functions.
 
@@ -34,14 +34,14 @@
 configure name servers, set up transport (HTTP) servers, or even use special 
invocation
 syntax -- RPyC fits the python programming model like a glove. For instance, a 
function that
 works on a local file object will work seamlessly on a remote file object -- 
it's
-`duck-typing <http://en.wikipedia.org/wiki/Duck_typing>`_ to the extreme.
+`duck-typing <https://en.wikipedia.org/wiki/Duck_typing>`_ to the extreme.
 
 An interesting consequence of being transparent is **symmetry** -- there's no 
longer a
 strict notion of what's a *server* as opposed to what's a *client* -- both the 
parties
 may serve requests and dispatch replies; the server is simply the party that 
accepts incoming
 connections -- but other than that, servers and clients are identical.
 Being symmetrical opens the doors to lots of previously unheard-of features, 
like
-`callback functions 
<http://en.wikipedia.org/wiki/Callback_(computer_science)>`_.
+`callback functions 
<https://en.wikipedia.org/wiki/Callback_(computer_science)>`_.
 
 The result of these two properties is that local and remote objects are "equal 
in front of
 the code": your program shouldn't even be aware of the "proximity" of object 
it is dealing with.
@@ -57,8 +57,8 @@
 In many situations, RPyC is employed in a master-slave relation, where the 
"client" takes
 full control over the "server". This mainly allows the client to access remote 
resources
 and perform operations on behalf of the server. However, RPyC can also be used 
as the basis
-for `clustering <http://en.wikipedia.org/wiki/Cluster_(computing)>`_ and
-`distributed computing <http://en.wikipedia.org/wiki/Distributed_computing>`_:
+for `clustering <https://en.wikipedia.org/wiki/Cluster_(computing)>`_ and
+`distributed computing <https://en.wikipedia.org/wiki/Distributed_computing>`_:
 an array of RPyC servers on multiple machines can form a "huge computer" in 
terms of
 computation power.
 
@@ -75,12 +75,12 @@
 (encoding) that transfers objects between the two ends of the connection. 
Boxing relies on two
 methods of serialization:
 
-* `By Value <http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value 
By>`_ -
+* `By Value 
<https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value>`_ -
   simple, immutable python objects (like strings, integers, tuples, etc.) are 
passed
   **by value**, meaning the value itself is passed to the other side. Since 
their value
   cannot change, there is no restriction on duplicating them on both sides.
 
-* `By Reference 
<http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference>`_ -
+* `By Reference <https://en.wikipedia.org/wiki/Evaluation_strategy>`_ -
   all other objects are passed **by reference**, meaning a "reference" to the 
object is
   passed to the other side. This allows changes applied on the referencing 
(proxy) object
   to be reflected on the actual object. Passing objects by reference also 
allows passing
@@ -92,7 +92,7 @@
 
 Object Proxying
 ^^^^^^^^^^^^^^^
-`Object proxying <http://en.wikipedia.org/wiki/Proxy_pattern>`_ is a technique 
of referencing
+`Object proxying <https://en.wikipedia.org/wiki/Proxy_pattern>`_ is a 
technique of referencing
 a remote object transparently: since the remote object cannot be transferred 
by-value,
 a reference to it is passed. This reference is then wrapped by a special 
object,
 called a *proxy* that "looks and behaves" just like the actual object (the 
*target*).
@@ -119,7 +119,7 @@
 operations on the other, and there was no way to restrict it.
 
 RPyC 3.0 introduced the concept of *services*. RPyC itself is only a 
"sophisticated
-transport layer" -- it is a `mechanism 
<http://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy>`_,
+transport layer" -- it is a `mechanism 
<https://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy>`_,
 it does not set policies. RPyC allows each end of the connection to expose a 
(potentially
 different) *service* that is responsible for the "policy", i.e., the set of 
supported operations.
 For instance, *classic RPyC* is implemented by the ``SlaveService``, which 
grants arbitrary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/usecases.rst 
new/rpyc-6.0.2/docs/docs/usecases.rst
--- old/rpyc-6.0.1/docs/docs/usecases.rst       2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/docs/docs/usecases.rst       2025-04-18 18:45:58.000000000 
+0200
@@ -22,7 +22,7 @@
 all but "allowed attributes", and the rest of the security model is based on 
passing
 *capabilities*. Passing capabilities is explicit and fine grained -- for 
instance,
 instead of allowing the other party call ``open()`` and attempting to block 
disallowed calls
-at the file-name level (which is `weak 
<http://en.wikipedia.org/wiki/Directory_traversal>`_),
+at the file-name level (which is `weak 
<https://en.wikipedia.org/wiki/Directory_traversal>`_),
 you can pass an open file object to the other party. The other party could 
manipulate the
 file (calling read/write/seek on it), but it would have no access to the rest 
of the file
 system.
@@ -49,14 +49,14 @@
 machine from another. For instance, some testgear or device can only connect to
 Solaris SPARC machines, but you're comfortable with developing on your Windows 
workstation.
 Assuming your device comes with C bindings, some command-line tool, or accepts 
commands
-via ``ioctl`` to some `device node 
<http://en.wikipedia.org/wiki/Device_file>`_ --
+via ``ioctl`` to some `device node 
<https://en.wikipedia.org/wiki/Device_file>`_ --
 you can just run an RPyC server on that machine, connect to it from your 
workstation,
 and access the device programmatically with ease (using ``ctypes`` or 
``popen`` remotely).
 
 
 Parallel Execution
 ------------------
-In CPython, the `GIL <http://wiki.python.org/moin/GlobalInterpreterLock>`_ 
prevents multiple
+In CPython, the `GIL <https://wiki.python.org/moin/GlobalInterpreterLock>`_ 
prevents multiple
 threads from executing python bytecode at once. This simplifies the design of 
the python
 interpreter, but the consequence of which is that CPython cannot utilize 
multiple/multicore
 CPUs. The only way to achieve scalable, CPU-bound python programs is to use 
multiple processes,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/docs/zerodeploy.rst 
new/rpyc-6.0.2/docs/docs/zerodeploy.rst
--- old/rpyc-6.0.1/docs/docs/zerodeploy.rst     2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/docs/docs/zerodeploy.rst     2025-04-18 18:45:58.000000000 
+0200
@@ -15,7 +15,7 @@
 How It Works
 ------------
 
-Zero-deploy only requires that you have `Plumbum 
<http://plumbum.readthedocs.org>`_ (1.2 and later) installed on
+Zero-deploy only requires that you have `Plumbum 
<https://plumbum.readthedocs.io/en/latest/>`_ (1.2 and later) installed on
 your client machine and that you can connect to the remote machine over SSH. 
It takes care of the rest:
 
 1. Create a temporary directory on the remote machine
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/index.rst 
new/rpyc-6.0.2/docs/index.rst
--- old/rpyc-6.0.1/docs/index.rst       2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/index.rst       2025-04-18 18:45:58.000000000 +0200
@@ -24,9 +24,9 @@
 .. _release: https://pypi.python.org/pypi/rpyc/
 
 **RPyC** (pronounced as *are-pie-see*), or *Remote Python Call*, is a 
**transparent**
-`python <http://www.python.org>`_ library for **symmetrical**
-`remote procedure calls 
<http://en.wikipedia.org/wiki/Remote_procedure_calls>`_,
-`clustering <http://en.wikipedia.org/wiki/Clustering>`_ and
+`python <https://www.python.org/>`_ library for **symmetrical**
+`remote procedure calls 
<https://en.wikipedia.org/wiki/Remote_procedure_calls>`_,
+`clustering <https://en.wikipedia.org/wiki/Clustering>`_ and
 `distributed-computing <http://en.wikipedia.org/wiki/Distributed_computing>`_.
 RPyC makes use of `object-proxying 
<http://en.wikipedia.org/wiki/Proxy_pattern>`_,
 a technique that employs python's dynamic nature, to overcome the physical 
boundaries
@@ -48,8 +48,8 @@
 as well as the :ref:`mailing-list`.
 
 For an introductory reading (that may or may not be slightly outdated),
-`David Mertz <http://gnosis.cx/dW/>`_ wrote a very thorough
-`Charming Python <http://www.ibm.com/developerworks/linux/library/l-rpyc/>`_ 
installment
+David Mertz wrote a very thorough
+`Charming Python 
<https://web.archive.org/web/20160928013509/http://www.ibm.com/developerworks/linux/library/l-rpyc/>`_
 installment
 about RPyC, explaining how it's different from existing alternatives (Pyro, 
XMLRPC, etc.),
 what roles it can play, and even show-cases some key features of RPyC (like 
the security model,
 remote monkey-patching, or remote resource utilization).
@@ -73,13 +73,13 @@
 * **Low Overhead** - RpyC takes an *all-in-one* approach, using a compact 
binary
   protocol, and requiring no complex setup (name servers, HTTP, URL-mapping, 
etc.)
 
-* **Secure** - employs a `Capability based 
<http://en.wikipedia.org/wiki/Capability-based_security>`_
+* **Secure** - employs a `Capability based 
<https://en.wikipedia.org/wiki/Capability-based_security>`_
   security model; integrates easily with SSH
 
 * **Zero-Deploy Enabled** -- Read more about :ref:`Zero-Deploy RPyC 
<zerodeploy>`
 
-* **Integrates** with `TLS/SSL 
<http://en.wikipedia.org/wiki/Transport_Layer_Security>`_,
-  `SSH <http://en.wikipedia.org/wiki/Secure_Shell>`_ and `inetd 
<http://en.wikipedia.org/wiki/inetd>`_.
+* **Integrates** with `TLS/SSL 
<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_,
+  `SSH <https://en.wikipedia.org/wiki/Secure_Shell>`_ and `inetd 
<https://en.wikipedia.org/wiki/Inetd>`_.
 
 Use Cases
 ---------
@@ -103,8 +103,8 @@
 
 * Distributing workload among multiple machines with ease
 
-* Implement remote services (like `WSDL <http://en.wikipedia.org/wiki/WSDL>`_
-  or `RMI <http://en.wikipedia.org/wiki/Java_remote_method_invocation>`_)
+* Implement remote services (like `WSDL <https://en.wikipedia.org/wiki/WSDL>`_
+  or `RMI <https://en.wikipedia.org/wiki/Java_remote_method_invocation>`_)
   quickly and concisely (without the overhead and limitations of these 
technologies)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/install.rst 
new/rpyc-6.0.2/docs/install.rst
--- old/rpyc-6.0.1/docs/install.rst     2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/docs/install.rst     2025-04-18 18:45:58.000000000 +0200
@@ -4,8 +4,8 @@
 ====================
 
 You can always download the latest releases of RPyC from the project's
-`github page <https://github.com/tomerfiliba/rpyc/releases>`_ or
-its `PyPI page <http://pypi.python.org/pypi/rpyc>`_. The easiest way to
+`github page <https://github.com/tomerfiliba-org/rpyc/releases>`_ or
+its `PyPI page <https://pypi.org/project/rpyc/>`_. The easiest way to
 install RPyC, however, is using::
 
     pip install rpyc
@@ -36,7 +36,7 @@
 Note that you **cannot** connect from a **Python 2.x** interpreter to a **3.x**
 one, or vice versa. Trying to do so will
 results in all kinds of `strange exceptions
-<https://github.com/tomerfiliba/rpyc/issues/54>`_, so beware. This is because 
Python 3 introduces major changes to
+<https://github.com/tomerfiliba-org/rpyc/issues/54>`_, so beware. This is 
because Python 3 introduces major changes to
 the object model used by Python 2.x: some types were removed, added or
 unified into others. Byte- and Unicode- strings gave me a nightmare (and they
 still account for many bugs in the core interpreter). On top of that,
@@ -45,15 +45,8 @@
 of Python incompatible with one another, and sadly, this cannot be bridged
 automatically by RPyC at the serialization layer.
 
-It's not that I didn't try -- it's just too hard a feat. It's basically like
-writing a 100% working `2to3 <http://docs.python.org/library/2to3.html>`_ tool,
-alongside with a matching ``3to2`` one; and that, I reckon, is comparable to
-the *halting problem* (of course I might be wrong here, but it still doesn't
-make it feasible).
-
-Big words aside -- you can connect from **Python 2.x to Python 2.y**, as
-long as you only use types/modules/features supported by both; and you can
-connect from **Python 3.x to Python 3.y**, under the same assumption.
+Big words aside -- you can connect from **Python 3.x to Python 3.y**, as
+long as you only use types/modules/features supported by both.
 
 .. note::
    As a side note, do not try to mix different versions of RPyC (e.g., 
connecting
@@ -68,23 +61,23 @@
 
 Mailing List
 ------------
-There is an old `mailing list <http://groups.google.com/group/rpyc>`_ that may
+There is an old `mailing list <https://groups.google.com/g/rpyc>`_ that may
 contain useful information and that you should search before asking questions.
 Nowadays however, do not count on getting any answers for new questions there.
 
 Repository
 ----------
-RPyC is developed on `github <http://github.com/tomerfiliba/rpyc>`_, where you
+RPyC is developed on `github <https://github.com/tomerfiliba-org/rpyc>`_, 
where you
 can always find the latest code or fork the project.
 
 .. _bugs:
 
 Bugs and Patches
 ----------------
-We're using github's `issue tracker 
<http://github.com/tomerfiliba/rpyc/issues>`_
+We're using github's `issue tracker 
<https://github.com/tomerfiliba-org/rpyc/issues>`_
 for bug reports, feature requests, and overall status.
 
-Patches are accepted through github `pull requests 
<http://help.github.com/pull-requests/>`_.
+Patches are accepted through github `pull requests 
<https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request>`_.
 
 .. _dependencies:
 
@@ -95,8 +88,5 @@
 provide more features, and if you wish to use any of those, you must install
 them:
 
-* `PyWin32 <http://sourceforge.net/projects/pywin32/files/pywin32/>`_ - 
Required
+* `PyWin32 <https://sourceforge.net/projects/pywin32/files/pywin32/>`_ - 
Required
   for ``PipeStream`` on Windows
-
-* `zlib for IronPython <https://bitbucket.org/jdhardy/ironpythonzlib>`_ - 
Required
-  for IronPython prior to v2.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/tutorial/tut4.rst 
new/rpyc-6.0.2/docs/tutorial/tut4.rst
--- old/rpyc-6.0.1/docs/tutorial/tut4.rst       2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/docs/tutorial/tut4.rst       2025-04-18 18:45:58.000000000 
+0200
@@ -5,9 +5,9 @@
 Before we dive into asynchronous invocation, we have to cover once last topic:
 `callbacks <http://en.wikipedia.org/wiki/Callback_(computer_science)>`_. 
Passing a
 "callback function" means treating functions (or any callable objects in our 
case) as
-`first-class objects <http://en.wikipedia.org/wiki/First-class_object>`_, 
i.e., like any
+`first-class objects <https://en.wikipedia.org/wiki/First-class_object>`_, 
i.e., like any
 other value in the language. In ``C`` and ``C++`` this is done with
-`function pointers <http://en.wikipedia.org/wiki/Function_pointer>`_, but in 
python,
+`function pointers <https://en.wikipedia.org/wiki/Function_pointer>`_, but in 
python,
 there's no special machinery for it. Surely you've seen callbacks before::
 
     >>> def f(x):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/docs/tutorial/tut5.rst 
new/rpyc-6.0.2/docs/tutorial/tut5.rst
--- old/rpyc-6.0.1/docs/tutorial/tut5.rst       2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/docs/tutorial/tut5.rst       2025-04-18 18:45:58.000000000 
+0200
@@ -11,7 +11,7 @@
 when you invoke a function, you block until the result arrives. Asynchronous 
invocation
 allows you to start the request and continue rather than waiting.
 Instead of getting the result of the call, you get an object known as an
-``AsyncResult`` (also known as a `"future" or "promise" 
<http://en.wikipedia.org/wiki/Futures_and_promises>`_)
+``AsyncResult`` (also known as a `"future" or "promise" 
<https://en.wikipedia.org/wiki/Futures_and_promises>`_)
 that will **eventually** hold the result.
 
 Note that there is no guarantee on execution order for async requests!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/core/netref.py 
new/rpyc-6.0.2/rpyc/core/netref.py
--- old/rpyc-6.0.1/rpyc/core/netref.py  2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/rpyc/core/netref.py  2025-04-18 18:45:58.000000000 +0200
@@ -248,13 +248,14 @@
         method.__doc__ = doc
         return method
     elif name == "__array__":
-        def __array__(self):
+        def __array__(self, *args, **kwargs):
             # Note that protocol=-1 will only work between python
             # interpreters of the same version.
             if not 
object.__getattribute__(self,'____conn__')._config["allow_pickle"]:
                 # Security check that server side allows pickling per #551
                 raise ValueError("pickling is disabled")
-            return pickle.loads(syncreq(self, consts.HANDLE_PICKLE, -1))
+            array = pickle.loads(syncreq(self, consts.HANDLE_PICKLE, -1))
+            return array.__array__(*args, **kwargs)
         __array__.__doc__ = doc
         return __array__
     else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/utils/authenticators.py 
new/rpyc-6.0.2/rpyc/utils/authenticators.py
--- old/rpyc-6.0.1/rpyc/utils/authenticators.py 2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/rpyc/utils/authenticators.py 2025-04-18 18:45:58.000000000 
+0200
@@ -48,7 +48,7 @@
                     to restrict the available ciphers. New in Python 2.7/3.2
     :param ssl_version: the SSL version to use
 
-    Refer to `ssl.SSLContext 
<http://docs.python.org/dev/library/ssl.html#ssl.SSLContext>`_
+    Refer to `ssl.SSLContext 
<https://docs.python.org/dev/library/ssl.html#ssl.SSLContext>`_
     for more info.
 
     Clients can connect to this authenticator using
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/utils/classic.py 
new/rpyc-6.0.2/rpyc/utils/classic.py
--- old/rpyc-6.0.1/rpyc/utils/classic.py        2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/rpyc/utils/classic.py        2025-04-18 18:45:58.000000000 
+0200
@@ -98,7 +98,7 @@
     :param ipv6: whether to create an IPv6 socket or an IPv4 one
 
     The following arguments are passed to
-    `ssl.SSLContext 
<http://docs.python.org/dev/library/ssl.html#ssl.SSLContext>`_ and
+    `ssl.SSLContext <https://docs.python.org/dev/library/ssl.html>`_ and
     its corresponding methods:
 
     :param keyfile: see ``ssl.SSLContext.load_cert_chain``. May be ``None``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/utils/factory.py 
new/rpyc-6.0.2/rpyc/utils/factory.py
--- old/rpyc-6.0.1/rpyc/utils/factory.py        2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/rpyc/utils/factory.py        2025-04-18 18:45:58.000000000 
+0200
@@ -183,7 +183,7 @@
 def ssh_connect(remote_machine, remote_port, service=VoidService, config={}):
     """
     Connects to an RPyC server over an SSH tunnel (created by plumbum).
-    See `Plumbum tunneling 
<http://plumbum.readthedocs.org/en/latest/remote.html#tunneling>`_
+    See `Plumbum tunneling 
<https://plumbum.readthedocs.org/en/latest/remote.html#tunneling>`_
     for further details.
 
     .. note::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/utils/registry.py 
new/rpyc-6.0.2/rpyc/utils/registry.py
--- old/rpyc-6.0.1/rpyc/utils/registry.py       2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/rpyc/utils/registry.py       2025-04-18 18:45:58.000000000 
+0200
@@ -1,8 +1,8 @@
 """
 RPyC Registry Server maintains service information on RPyC services for 
*Service Registry and Discovery patterns*. Service Registry and Discovery 
patterns solve the connectivity problem for communication between services and 
external consumers. RPyC services will register with the server when 
:code:`auto_register` is :code:`True`.
 
-Service registries such as `Avahi 
<http://en.wikipedia.org/wiki/Avahi_(software)>`_ and
-`Bonjour <http://en.wikipedia.org/wiki/Bonjour_(software)>`_ are alternatives 
to the RPyC Registry Server. These alternatives do no support Windows and have 
more restrictive licensing.
+Service registries such as `Avahi 
<https://en.wikipedia.org/wiki/Avahi_(software)>`_ and
+`Bonjour <https://en.wikipedia.org/wiki/Bonjour_(software)>`_ are alternatives 
to the RPyC Registry Server. These alternatives do no support Windows and have 
more restrictive licensing.
 
 Refer to :file:`rpyc/scripts/rpyc_registry.py` for more info.
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/utils/zerodeploy.py 
new/rpyc-6.0.2/rpyc/utils/zerodeploy.py
--- old/rpyc-6.0.1/rpyc/utils/zerodeploy.py     2024-09-25 06:24:13.000000000 
+0200
+++ new/rpyc-6.0.2/rpyc/utils/zerodeploy.py     2025-04-18 18:45:58.000000000 
+0200
@@ -1,7 +1,7 @@
 """
 .. versionadded:: 3.3
 
-Requires [plumbum](http://plumbum.readthedocs.org/)
+Requires [plumbum](https://plumbum.readthedocs.io/en/latest/)
 """
 from __future__ import with_statement
 from subprocess import TimeoutExpired
@@ -47,13 +47,13 @@
     pass
 
 sys.path.insert(0, here)
-from $MODULE$ import $SERVER$ as ServerCls
-from rpyc.core.service import SlaveService
+from $SERVER_MODULE$ import $SERVER_CLASS$ as ServerCls
+from $SERVICE_MODULE$ import $SERVICE_CLASS$ as ServiceCls
 
 logger = None
 $EXTRA_SETUP$
 
-t = ServerCls(SlaveService, hostname = "localhost", port = 0, reuse_addr = 
True, logger = logger)
+t = ServerCls(ServiceCls, hostname = "localhost", port = 0, reuse_addr = True, 
logger = logger)
 thd = t._start_in_thread()
 
 sys.stdout.write(f"{t.port}\n")
@@ -85,11 +85,19 @@
     :param remote_machine: a plumbum ``SshMachine`` or ``ParamikoMachine`` 
instance, representing
                            an SSH connection to the desired remote machine
     :param server_class: the server to create (e.g., ``"ThreadedServer"``, 
``"ForkingServer"``)
+    :param service_class: the service to serve (e.g., ``"SlaveService"``, ...)
+    :param server_script: the script that is executed by ``python_executable`` 
on the remote host
+                          to run the server.
     :param extra_setup: any extra code to add to the script
     """
 
-    def __init__(self, remote_machine, 
server_class="rpyc.utils.server.ThreadedServer",
-                 extra_setup="", python_executable=None):
+    def __init__(self,
+                 remote_machine,
+                 server_class="rpyc.utils.server.ThreadedServer",
+                 service_class="rpyc.core.service.SlaveService",
+                 server_script=SERVER_SCRIPT,
+                 extra_setup="",
+                 python_executable=None):
         self.proc = None
         self.tun = None
         self.remote_machine = remote_machine
@@ -101,9 +109,21 @@
         copy(rpyc_root, tmp / "rpyc")
 
         script = (tmp / "deployed-rpyc.py")
-        modname, clsname = server_class.rsplit(".", 1)
-        script.write(SERVER_SCRIPT.replace("$MODULE$", modname).replace(
-            "$SERVER$", clsname).replace("$EXTRA_SETUP$", extra_setup))
+
+        server_modname, server_clsname = server_class.rsplit(".", 1)
+        service_modname, service_clsname = service_class.rsplit(".", 1)
+
+        for source, target in (
+            ("$SERVER_MODULE$", server_modname),
+            ("$SERVER_CLASS$", server_clsname),
+            ("$SERVICE_MODULE$", service_modname),
+            ("$SERVICE_CLASS$", service_clsname),
+            ("$EXTRA_SETUP$", extra_setup),
+        ):
+            server_script = server_script.replace(source, target)
+
+        script.write(server_script)
+
         if isinstance(python_executable, BoundCommand):
             cmd = python_executable
         elif python_executable:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/rpyc/version.py 
new/rpyc-6.0.2/rpyc/version.py
--- old/rpyc-6.0.1/rpyc/version.py      2024-09-25 06:24:13.000000000 +0200
+++ new/rpyc-6.0.2/rpyc/version.py      2025-04-18 18:45:58.000000000 +0200
@@ -1,3 +1,3 @@
-__version__ = '6.0.1'
+__version__ = '6.0.2'
 version = tuple(__version__.split('.'))
-release_date = "2024-09-24"
+release_date = "2024-04-18"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpyc-6.0.1/tests/test_numpy.py 
new/rpyc-6.0.2/tests/test_numpy.py
--- old/rpyc-6.0.1/tests/test_numpy.py  1970-01-01 01:00:00.000000000 +0100
+++ new/rpyc-6.0.2/tests/test_numpy.py  2025-04-18 18:45:58.000000000 +0200
@@ -0,0 +1,35 @@
+from __future__ import with_statement
+import rpyc
+import unittest
+try:
+    import numpy as np
+    _numpy_import_failed = False
+except Exception:
+    _numpy_import_failed = True
+
+
+class MyService(rpyc.Service):
+
+    def exposed_create_array(self, array):
+        return np.array(array, dtype=np.int64, copy=True)
+
+
+@unittest.skipIf(_numpy_import_failed, "Skipping since numpy cannot be 
imported")
+class TestNumpy(unittest.TestCase):
+    def setUp(self):
+        self.server = rpyc.utils.server.OneShotServer(MyService, port=0, 
protocol_config={"allow_pickle":True})
+        self.server.logger.quiet = False
+        self.server._start_in_thread()
+        self.conn = rpyc.connect("localhost", port=self.server.port, 
config={"allow_pickle":True})
+
+    def tearDown(self):
+        self.conn.close()
+
+    def test_numpy(self):
+        remote_array = self.conn.root.create_array(np.array([0.]))
+        self.assertEqual(remote_array[0], 0)
+        self.assertIsInstance(remote_array[0], np.int64)
+
+
+if __name__ == "__main__":
+    unittest.main()

Reply via email to