rpyc-ng 7.0.0__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 (194) hide show
  1. rpyc_ng-7.0.0/.github/workflows/codespell.yml +23 -0
  2. rpyc_ng-7.0.0/.github/workflows/publish-to-pypi.yml +63 -0
  3. rpyc_ng-7.0.0/.github/workflows/python-app.yml +105 -0
  4. rpyc_ng-7.0.0/.github/workflows/sphinx-test.yml +34 -0
  5. rpyc_ng-7.0.0/.gitignore +16 -0
  6. rpyc_ng-7.0.0/.readthedocs.yml +22 -0
  7. rpyc_ng-7.0.0/.vscode/launch.json +18 -0
  8. rpyc_ng-7.0.0/.vscode/settings.json +14 -0
  9. rpyc_ng-7.0.0/CHANGELOG.rst +833 -0
  10. rpyc_ng-7.0.0/CODEOWNERS +1 -0
  11. rpyc_ng-7.0.0/CONTRIBUTORS.rst +44 -0
  12. rpyc_ng-7.0.0/LICENSE +25 -0
  13. rpyc_ng-7.0.0/MANIFEST.in +3 -0
  14. rpyc_ng-7.0.0/PKG-INFO +83 -0
  15. rpyc_ng-7.0.0/README.rst +48 -0
  16. rpyc_ng-7.0.0/bin/rpyc_classic.py +6 -0
  17. rpyc_ng-7.0.0/bin/rpyc_registry.py +6 -0
  18. rpyc_ng-7.0.0/demos/async_client/client.py +67 -0
  19. rpyc_ng-7.0.0/demos/async_client/server.py +37 -0
  20. rpyc_ng-7.0.0/demos/boilerplate/ReadMe.md +31 -0
  21. rpyc_ng-7.0.0/demos/boilerplate/rpyc_client.py +28 -0
  22. rpyc_ng-7.0.0/demos/boilerplate/rpyc_server.py +5 -0
  23. rpyc_ng-7.0.0/demos/boilerplate/rpyc_service.py +32 -0
  24. rpyc_ng-7.0.0/demos/chat/client.pyw +185 -0
  25. rpyc_ng-7.0.0/demos/chat/readme.txt +44 -0
  26. rpyc_ng-7.0.0/demos/chat/server.py +69 -0
  27. rpyc_ng-7.0.0/demos/echo/README.md +2 -0
  28. rpyc_ng-7.0.0/demos/echo/client.py +12 -0
  29. rpyc_ng-7.0.0/demos/echo/server.py +27 -0
  30. rpyc_ng-7.0.0/demos/filemon/client.py +38 -0
  31. rpyc_ng-7.0.0/demos/filemon/readme.txt +2 -0
  32. rpyc_ng-7.0.0/demos/filemon/server.py +33 -0
  33. rpyc_ng-7.0.0/demos/sharing/README.md +2 -0
  34. rpyc_ng-7.0.0/demos/sharing/client.py +99 -0
  35. rpyc_ng-7.0.0/demos/sharing/server.py +75 -0
  36. rpyc_ng-7.0.0/demos/time/client.py +5 -0
  37. rpyc_ng-7.0.0/demos/time/readme.txt +6 -0
  38. rpyc_ng-7.0.0/demos/time/server.py +7 -0
  39. rpyc_ng-7.0.0/demos/time/time_service.py +10 -0
  40. rpyc_ng-7.0.0/demos/web8/client.pyw +97 -0
  41. rpyc_ng-7.0.0/demos/web8/readme.txt +1 -0
  42. rpyc_ng-7.0.0/demos/web8/safegtk.py +24 -0
  43. rpyc_ng-7.0.0/demos/web8/server.py +88 -0
  44. rpyc_ng-7.0.0/docker/docker-compose.yml +47 -0
  45. rpyc_ng-7.0.0/docs/.gitignore +1 -0
  46. rpyc_ng-7.0.0/docs/CONTRIBUTING.md +51 -0
  47. rpyc_ng-7.0.0/docs/Makefile +137 -0
  48. rpyc_ng-7.0.0/docs/_static/banner.png +0 -0
  49. rpyc_ng-7.0.0/docs/_static/facebook-logo.png +0 -0
  50. rpyc_ng-7.0.0/docs/_static/fish-text-black.png +0 -0
  51. rpyc_ng-7.0.0/docs/_static/fish-text-white.png +0 -0
  52. rpyc_ng-7.0.0/docs/_static/fish-text.png +0 -0
  53. rpyc_ng-7.0.0/docs/_static/fish2.png +0 -0
  54. rpyc_ng-7.0.0/docs/_static/github-logo.png +0 -0
  55. rpyc_ng-7.0.0/docs/_static/rpyc-banner.png +0 -0
  56. rpyc_ng-7.0.0/docs/_static/rpyc3-logo-big.png +0 -0
  57. rpyc_ng-7.0.0/docs/_static/rpyc3-logo-medium.png +0 -0
  58. rpyc_ng-7.0.0/docs/_static/rpyc3-logo-tiny.png +0 -0
  59. rpyc_ng-7.0.0/docs/_static/rpyc3-logo.ppt +0 -0
  60. rpyc_ng-7.0.0/docs/_static/screenshot.png +0 -0
  61. rpyc_ng-7.0.0/docs/_templates/breadcrumbs.html +41 -0
  62. rpyc_ng-7.0.0/docs/api/core_brine.rst +15 -0
  63. rpyc_ng-7.0.0/docs/api/core_netref.rst +16 -0
  64. rpyc_ng-7.0.0/docs/api/core_protocol.rst +9 -0
  65. rpyc_ng-7.0.0/docs/api/core_service.rst +8 -0
  66. rpyc_ng-7.0.0/docs/api/core_stream.rst +17 -0
  67. rpyc_ng-7.0.0/docs/api/utils_authenticators.rst +9 -0
  68. rpyc_ng-7.0.0/docs/api/utils_classic.rst +16 -0
  69. rpyc_ng-7.0.0/docs/api/utils_factory.rst +7 -0
  70. rpyc_ng-7.0.0/docs/api/utils_registry.rst +7 -0
  71. rpyc_ng-7.0.0/docs/api/utils_server.rst +7 -0
  72. rpyc_ng-7.0.0/docs/api/utils_zerodeploy.rst +7 -0
  73. rpyc_ng-7.0.0/docs/api.rst +96 -0
  74. rpyc_ng-7.0.0/docs/changelog.rst +7 -0
  75. rpyc_ng-7.0.0/docs/conf.py +243 -0
  76. rpyc_ng-7.0.0/docs/docs/_static/advanced-debugging-chained-connection-w-wireshark.png +0 -0
  77. rpyc_ng-7.0.0/docs/docs/_static/howto-redirected.png +0 -0
  78. rpyc_ng-7.0.0/docs/docs/_static/howto-tunneling.png +0 -0
  79. rpyc_ng-7.0.0/docs/docs/about.rst +34 -0
  80. rpyc_ng-7.0.0/docs/docs/advanced-debugging.rst +90 -0
  81. rpyc_ng-7.0.0/docs/docs/async.rst +109 -0
  82. rpyc_ng-7.0.0/docs/docs/classic.rst +36 -0
  83. rpyc_ng-7.0.0/docs/docs/howto.rst +148 -0
  84. rpyc_ng-7.0.0/docs/docs/rpyc-release-process.rst +99 -0
  85. rpyc_ng-7.0.0/docs/docs/secure-connection.rst +27 -0
  86. rpyc_ng-7.0.0/docs/docs/security.rst +111 -0
  87. rpyc_ng-7.0.0/docs/docs/servers.rst +147 -0
  88. rpyc_ng-7.0.0/docs/docs/services.rst +157 -0
  89. rpyc_ng-7.0.0/docs/docs/theory.rst +130 -0
  90. rpyc_ng-7.0.0/docs/docs/usecases.rst +105 -0
  91. rpyc_ng-7.0.0/docs/docs/zerodeploy.rst +122 -0
  92. rpyc_ng-7.0.0/docs/docs.rst +68 -0
  93. rpyc_ng-7.0.0/docs/index.rst +137 -0
  94. rpyc_ng-7.0.0/docs/install.rst +96 -0
  95. rpyc_ng-7.0.0/docs/issue_template.md +50 -0
  96. rpyc_ng-7.0.0/docs/license.rst +8 -0
  97. rpyc_ng-7.0.0/docs/make.bat +190 -0
  98. rpyc_ng-7.0.0/docs/requirements.txt +2 -0
  99. rpyc_ng-7.0.0/docs/rpyc3-logo-tiny.ico +0 -0
  100. rpyc_ng-7.0.0/docs/tutorial/_static/registry_server.png +0 -0
  101. rpyc_ng-7.0.0/docs/tutorial/_static/running-classic-client.png +0 -0
  102. rpyc_ng-7.0.0/docs/tutorial/_static/running-classic-server.png +0 -0
  103. rpyc_ng-7.0.0/docs/tutorial/_static/symmetry.png +0 -0
  104. rpyc_ng-7.0.0/docs/tutorial/tut1.rst +150 -0
  105. rpyc_ng-7.0.0/docs/tutorial/tut2.rst +154 -0
  106. rpyc_ng-7.0.0/docs/tutorial/tut3.rst +211 -0
  107. rpyc_ng-7.0.0/docs/tutorial/tut4.rst +66 -0
  108. rpyc_ng-7.0.0/docs/tutorial/tut5.rst +206 -0
  109. rpyc_ng-7.0.0/docs/tutorial.rst +15 -0
  110. rpyc_ng-7.0.0/pyproject.toml +62 -0
  111. rpyc_ng-7.0.0/requirements.txt +1 -0
  112. rpyc_ng-7.0.0/rpyc/__init__.py +43 -0
  113. rpyc_ng-7.0.0/rpyc/cli/__init__.py +0 -0
  114. rpyc_ng-7.0.0/rpyc/cli/rpyc_classic.py +130 -0
  115. rpyc_ng-7.0.0/rpyc/cli/rpyc_registry.py +45 -0
  116. rpyc_ng-7.0.0/rpyc/core/__init__.py +8 -0
  117. rpyc_ng-7.0.0/rpyc/core/async.py +2 -0
  118. rpyc_ng-7.0.0/rpyc/core/async_.py +115 -0
  119. rpyc_ng-7.0.0/rpyc/core/brine.py +390 -0
  120. rpyc_ng-7.0.0/rpyc/core/channel.py +88 -0
  121. rpyc_ng-7.0.0/rpyc/core/consts.py +48 -0
  122. rpyc_ng-7.0.0/rpyc/core/netref.py +527 -0
  123. rpyc_ng-7.0.0/rpyc/core/protocol.py +1122 -0
  124. rpyc_ng-7.0.0/rpyc/core/reactor.py +43 -0
  125. rpyc_ng-7.0.0/rpyc/core/service.py +240 -0
  126. rpyc_ng-7.0.0/rpyc/core/stream.py +904 -0
  127. rpyc_ng-7.0.0/rpyc/core/vinegar.py +202 -0
  128. rpyc_ng-7.0.0/rpyc/lib/__init__.py +255 -0
  129. rpyc_ng-7.0.0/rpyc/lib/colls.py +110 -0
  130. rpyc_ng-7.0.0/rpyc/lib/compat.py +194 -0
  131. rpyc_ng-7.0.0/rpyc/utils/__init__.py +41 -0
  132. rpyc_ng-7.0.0/rpyc/utils/authenticators.py +112 -0
  133. rpyc_ng-7.0.0/rpyc/utils/classic.py +407 -0
  134. rpyc_ng-7.0.0/rpyc/utils/factory.py +423 -0
  135. rpyc_ng-7.0.0/rpyc/utils/helpers.py +338 -0
  136. rpyc_ng-7.0.0/rpyc/utils/registry.py +531 -0
  137. rpyc_ng-7.0.0/rpyc/utils/server.py +672 -0
  138. rpyc_ng-7.0.0/rpyc/utils/teleportation.py +149 -0
  139. rpyc_ng-7.0.0/rpyc/utils/zerodeploy.py +275 -0
  140. rpyc_ng-7.0.0/rpyc/version.py +24 -0
  141. rpyc_ng-7.0.0/rpyc_ng.egg-info/PKG-INFO +83 -0
  142. rpyc_ng-7.0.0/rpyc_ng.egg-info/SOURCES.txt +193 -0
  143. rpyc_ng-7.0.0/rpyc_ng.egg-info/dependency_links.txt +1 -0
  144. rpyc_ng-7.0.0/rpyc_ng.egg-info/entry_points.txt +5 -0
  145. rpyc_ng-7.0.0/rpyc_ng.egg-info/requires.txt +1 -0
  146. rpyc_ng-7.0.0/rpyc_ng.egg-info/top_level.txt +1 -0
  147. rpyc_ng-7.0.0/setup.cfg +10 -0
  148. rpyc_ng-7.0.0/tests/__init__.py +20 -0
  149. rpyc_ng-7.0.0/tests/cfg_tests.py +1 -0
  150. rpyc_ng-7.0.0/tests/client-server.bundle.crt +62 -0
  151. rpyc_ng-7.0.0/tests/client.crt +31 -0
  152. rpyc_ng-7.0.0/tests/client.csr +27 -0
  153. rpyc_ng-7.0.0/tests/client.key +52 -0
  154. rpyc_ng-7.0.0/tests/client2.crt +31 -0
  155. rpyc_ng-7.0.0/tests/client2.csr +27 -0
  156. rpyc_ng-7.0.0/tests/client2.key +52 -0
  157. rpyc_ng-7.0.0/tests/gdb_service.py +17 -0
  158. rpyc_ng-7.0.0/tests/gevent_service.py +20 -0
  159. rpyc_ng-7.0.0/tests/requirements.txt +6 -0
  160. rpyc_ng-7.0.0/tests/server.crt +31 -0
  161. rpyc_ng-7.0.0/tests/server.key +52 -0
  162. rpyc_ng-7.0.0/tests/support.py +45 -0
  163. rpyc_ng-7.0.0/tests/test_affinity.py +79 -0
  164. rpyc_ng-7.0.0/tests/test_async.py +66 -0
  165. rpyc_ng-7.0.0/tests/test_attr_access.py +261 -0
  166. rpyc_ng-7.0.0/tests/test_attributes.py +37 -0
  167. rpyc_ng-7.0.0/tests/test_brine.py +21 -0
  168. rpyc_ng-7.0.0/tests/test_classic.py +100 -0
  169. rpyc_ng-7.0.0/tests/test_context_managers.py +64 -0
  170. rpyc_ng-7.0.0/tests/test_custom_service.py +142 -0
  171. rpyc_ng-7.0.0/tests/test_dataclass.py +47 -0
  172. rpyc_ng-7.0.0/tests/test_deploy.py +116 -0
  173. rpyc_ng-7.0.0/tests/test_gdb.py +73 -0
  174. rpyc_ng-7.0.0/tests/test_get_id_pack.py +51 -0
  175. rpyc_ng-7.0.0/tests/test_gevent_server.py +72 -0
  176. rpyc_ng-7.0.0/tests/test_ipv6.py +34 -0
  177. rpyc_ng-7.0.0/tests/test_magic.py +73 -0
  178. rpyc_ng-7.0.0/tests/test_netref_hierachy.py +222 -0
  179. rpyc_ng-7.0.0/tests/test_numpy.py +39 -0
  180. rpyc_ng-7.0.0/tests/test_oneshot_server.py +35 -0
  181. rpyc_ng-7.0.0/tests/test_race.py +78 -0
  182. rpyc_ng-7.0.0/tests/test_refcount.py +41 -0
  183. rpyc_ng-7.0.0/tests/test_registry.py +98 -0
  184. rpyc_ng-7.0.0/tests/test_remote_exception.py +83 -0
  185. rpyc_ng-7.0.0/tests/test_remoting.py +62 -0
  186. rpyc_ng-7.0.0/tests/test_rpyc_over_rpyc.py +109 -0
  187. rpyc_ng-7.0.0/tests/test_service_pickle.py +103 -0
  188. rpyc_ng-7.0.0/tests/test_ssh.py +65 -0
  189. rpyc_ng-7.0.0/tests/test_ssl.py +155 -0
  190. rpyc_ng-7.0.0/tests/test_teleportation.py +159 -0
  191. rpyc_ng-7.0.0/tests/test_threaded_server.py +71 -0
  192. rpyc_ng-7.0.0/tests/test_threads.py +54 -0
  193. rpyc_ng-7.0.0/tests/test_urllib3.py +42 -0
  194. rpyc_ng-7.0.0/tests/test_win32pipes.py +64 -0
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Codespell
3
+
4
+ on:
5
+ workflow_dispatch:
6
+ push:
7
+ branches: [ "main" ]
8
+ pull_request:
9
+ branches: [ "main" ]
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ codespell:
16
+ name: Check for spelling errors
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v6
22
+ - name: Codespell
23
+ uses: codespell-project/actions-codespell@v2
@@ -0,0 +1,63 @@
1
+ # This workflow will upload a Python Package using Twine when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Publish Python 🐍 distribution 📦 to PyPI
10
+
11
+ on:
12
+ release:
13
+ types: [published]
14
+
15
+ permissions:
16
+ contents: read
17
+ jobs:
18
+ build:
19
+ name: Build distribution 📦
20
+ runs-on: ubuntu-latest
21
+
22
+ steps:
23
+ - uses: actions/checkout@v6
24
+ with:
25
+ persist-credentials: false
26
+ - name: Set up Python
27
+ uses: actions/setup-python@v6
28
+ with:
29
+ python-version: "3.x"
30
+ - name: Install pypa/build
31
+ run: >-
32
+ python3 -m
33
+ pip install
34
+ build
35
+ --user
36
+ - name: Build a binary wheel and a source tarball
37
+ run: python3 -m build
38
+ - name: Store the distribution packages
39
+ uses: actions/upload-artifact@v7
40
+ with:
41
+ name: python-package-distributions
42
+ path: dist/
43
+ publish-to-pypi:
44
+ name: >-
45
+ Publish Python 🐍 distribution 📦 to PyPI
46
+ needs:
47
+ - build
48
+ runs-on: ubuntu-latest
49
+ environment:
50
+ name: pypi
51
+ url: https://pypi.org/p/rpyc-ng
52
+ permissions:
53
+ id-token: write # IMPORTANT: mandatory for trusted publishing
54
+ steps:
55
+ - name: Download all the dists
56
+ uses: actions/download-artifact@v8
57
+ with:
58
+ name: python-package-distributions
59
+ path: dist/
60
+ - name: Publish distribution 📦 to PyPI
61
+ uses: pypa/gh-action-pypi-publish@release/v1.13
62
+ with:
63
+ verbose: true
@@ -0,0 +1,105 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a single version of Python
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3
+
4
+ name: RPyC
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ push:
9
+ branches: [ "main" ]
10
+ pull_request:
11
+ branches: [ "main" ]
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ flake8:
18
+ strategy:
19
+ matrix:
20
+ os: [ "ubuntu-latest" ]
21
+ python-version: &PYTHON_VERSIONS ["3", "3.10", "3.11", "3.12", "3.13", "3.14"]
22
+ runs-on: ${{ matrix.os }}
23
+ steps:
24
+ - uses: actions/checkout@v6
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v6
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+ - name: Install dependencies
30
+ run: |
31
+ python -m pip install --upgrade pip
32
+ pip install -U flake8 flake8-polyfill
33
+ pip install -r requirements.txt
34
+ pip install -r tests/requirements.txt
35
+ - name: Lint with flake8
36
+ run: |
37
+ # stop the build if there are Python syntax errors or undefined names
38
+ flake8 --count --show-source --statistics --exclude docs/conf.py -- $(git ls-files '*.py')
39
+ # exit-zero treats all errors as warnings.
40
+ flake8 --count --exit-zero --max-complexity=10 --statistics --exclude docs/conf.py -- $(git ls-files '*.py')
41
+
42
+ unittest:
43
+ strategy:
44
+ fail-fast: false
45
+ matrix:
46
+ os: [ "ubuntu-latest", "windows-latest" ]
47
+ python-version: *PYTHON_VERSIONS
48
+ rpyc-bind-threads: ["true", "false"]
49
+ runs-on: ${{ matrix.os }}
50
+ name: Unittest (${{ matrix.python-version }}, bind_threads=${{ matrix.rpyc-bind-threads }}, os=${{ matrix.os }})
51
+ steps:
52
+ - uses: actions/checkout@v6
53
+ - name: Set up Python ${{ matrix.python-version }}
54
+ uses: actions/setup-python@v6
55
+ with:
56
+ python-version: ${{ matrix.python-version }}
57
+ - name: Install gdb
58
+ if: ${{ matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest' }}
59
+ run: |
60
+ sudo apt-get -o DPkg::Lock::Timeout=-1 install -y gdb
61
+ - name: Install dependencies
62
+ run: |
63
+ python -m pip install --upgrade pip setuptools flake8
64
+ pip install -r requirements.txt
65
+ pip install -r tests/requirements.txt
66
+ - name: Install RPyC
67
+ run: |
68
+ pip install -e .
69
+ - name: Init ssh settings on Linux
70
+ if: ${{ matrix.os == 'ubuntu-latest' }}
71
+ run: |
72
+ mkdir -pv ~/.ssh
73
+ chmod 700 ~/.ssh
74
+ echo NoHostAuthenticationForLocalhost yes >> ~/.ssh/config
75
+ echo StrictHostKeyChecking no >> ~/.ssh/config
76
+ ssh-keygen -q -t ed25519 -f ~/.ssh/id_ed25519 -N ''
77
+ cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
78
+ uname -a
79
+ - name: Init ssh settings on Windows
80
+ if: ${{ matrix.os == 'windows-latest' }}
81
+ run: |
82
+ mkdir $env:USERPROFILE\.ssh
83
+ echo NoHostAuthenticationForLocalhost yes >> $env:USERPROFILE\.ssh\config
84
+ echo StrictHostKeyChecking no >> $env:USERPROFILE\.ssh\config
85
+ ssh-keygen -q -t ed25519 -f $env:USERPROFILE\.ssh\id_ed25519 -N ''
86
+ type $env:USERPROFILE\.ssh\id_ed25519.pub >> $env:USERPROFILE\.ssh\authorized_keys
87
+ - name: Run unittest with default settings on Linux
88
+ if: ${{ matrix.rpyc-bind-threads == 'false' && matrix.os == 'ubuntu-latest' }}
89
+ run: |
90
+ RPYC_SKIP_IPV6="false" python -m unittest discover -v
91
+ - name: Run unittest with RPYC_BIND_THREADS enabled on Linux
92
+ if: ${{ matrix.rpyc-bind-threads == 'true' && matrix.os == 'ubuntu-latest'}}
93
+ run: |
94
+ RPYC_BIND_THREADS="${{ matrix.rpyc-bind-threads }}" RPYC_SKIP_IPV6="false" python -m unittest discover -v
95
+ - name: Run unittest with default settings on Windows
96
+ if: ${{ matrix.rpyc-bind-threads == 'false' && matrix.os == 'windows-latest' }}
97
+ run: |
98
+ $env:RPYC_SKIP_IPV6 = "false"
99
+ python -m unittest discover -v
100
+ - name: Run unittest with RPYC_BIND_THREADS enabled on Windows
101
+ if: ${{ matrix.rpyc-bind-threads == 'true' && matrix.os == 'windows-latest' }}
102
+ run: |
103
+ $env:RPYC_BIND_THREADS = "${{ matrix.rpyc-bind-threads }}"
104
+ $env:RPYC_SKIP_IPV6 = "false"
105
+ python -m unittest discover -v
@@ -0,0 +1,34 @@
1
+ name: "Sphinx Test"
2
+ on:
3
+ workflow_dispatch:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ docs-linkcheck-nitpicky:
14
+ strategy:
15
+ matrix:
16
+ os: [ "ubuntu-latest" ]
17
+ python-version: ["3.14"]
18
+ runs-on: ${{ matrix.os }}
19
+ steps:
20
+ - uses: actions/checkout@v6
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v6
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+ - name: Install Dependencies
26
+ run: |
27
+ pip install -r docs/requirements.txt
28
+ - name: Install RPyC
29
+ run: |
30
+ pip install -e .
31
+ - name: Build linkcheck with nit-picky mode
32
+ working-directory: docs
33
+ run: |
34
+ sphinx-build -W --keep-going -b linkcheck -n -d _build/doctrees . _build/linkcheck
@@ -0,0 +1,16 @@
1
+ /rpyc/version.py
2
+ /venv*/
3
+ /.venv*/
4
+ /allowed_signers
5
+ /MANIFEST
6
+ /build/
7
+ /rpyc_ng.egg-info
8
+ .project
9
+ .pydevproject
10
+ .settings
11
+ dist
12
+ __pycache__
13
+ *.pyc
14
+ *.egg
15
+ *.class
16
+ *.swp
@@ -0,0 +1,22 @@
1
+ # Required
2
+ version: 2
3
+
4
+ # Set the version of Python and other tools you might need
5
+ build:
6
+ os: ubuntu-lts-latest
7
+ tools:
8
+ python: "latest"
9
+
10
+ # Build all formats
11
+ formats: all
12
+
13
+ # Build documentation in the docs/ directory with Sphinx
14
+ sphinx:
15
+ configuration: docs/conf.py
16
+
17
+ # We recommend specifying your dependencies to enable reproducible builds:
18
+ # https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
19
+ python:
20
+ install:
21
+ - requirements: docs/requirements.txt
22
+ - path: .
@@ -0,0 +1,18 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Python: Module",
9
+ "type": "python",
10
+ "request": "launch",
11
+ "module": "unittest",
12
+ "args": [ "discover", "-p", "test_*.py"],
13
+ "env": {"PYTHONPATH": "${workspaceFolder}",
14
+ "PYTHONSTARTUP": "${workspaceFolder}\\.venv\\Scripts\\activate"},
15
+ "cwd": "${workspaceFolder}\\tests"
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "python.testing.unittestArgs": [
3
+ "-v",
4
+ "-s",
5
+ "./tests",
6
+ "-p",
7
+ "test*.py"
8
+ ],
9
+ "python.testing.pytestEnabled": false,
10
+ "python.testing.nosetestsEnabled": false,
11
+ "python.testing.unittestEnabled": true,
12
+ "python.terminal.activateEnvironment": true,
13
+ "python.venvPath": "${workspaceFolder}\\.venv"
14
+ }