| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | python: Add tests for rpc:release. | Nick Mathewson | 2024-10-23 | 2 | -0/+49 | |
| | | ||||||
| * | python: Enforce that a response has just one type. | Nick Mathewson | 2024-10-21 | 1 | -3/+13 | |
| | | ||||||
| * | Typo fixes from @jnewsome | Nick Mathewson | 2024-10-22 | 1 | -2/+2 | |
| | | ||||||
| * | python: add tests for opening streams via RPC. | Nick Mathewson | 2024-10-21 | 2 | -0/+35 | |
| | | ||||||
| * | python: Expose RPC status code from errors. | Nick Mathewson | 2024-10-21 | 4 | -3/+52 | |
| | | ||||||
| * | python: Rename connect to open_stream, for consistency. | Nick Mathewson | 2024-10-21 | 1 | -1/+1 | |
| | | ||||||
| * | python: add more tests for the rpc code. | Nick Mathewson | 2024-10-21 | 1 | -1/+38 | |
| | | ||||||
| * | python: avoid redundant error messages. | Nick Mathewson | 2024-10-21 | 1 | -1/+4 | |
| | | ||||||
| * | python: Move meta.features test to new module. | Nick Mathewson | 2024-10-21 | 3 | -47/+50 | |
| | | ||||||
| * | python: remove an unused import | Nick Mathewson | 2024-10-21 | 1 | -1/+0 | |
| | | ||||||
| * | python: Return "stream" as an object. | Nick Mathewson | 2024-10-21 | 1 | -3/+4 | |
| | | | | | Make the return type from connect() more sensible. | |||||
| * | python: Provide a sensible way to set metaparams in requests | Nick Mathewson | 2024-10-21 | 2 | -2/+36 | |
| | | ||||||
| * | python: Decode JSON in rpc responses more aggressively | Nick Mathewson | 2024-10-21 | 3 | -26/+91 | |
| | | | | | | | | | | | | This tweaks the APIs to return a dict in cases where we know that we are getting a result, and to return an ArtiRpcResponse in cases where we don't know what kind of response we're getting. It also expands our Error objects to support decoding. Rationale: everybody who is using this libaray will want to decode the json objects that they receive. By doing it in the library, we can save them some annoyance. | |||||
| * | python: Allow execute methods to accept dicts | Nick Mathewson | 2024-10-21 | 2 | -4/+19 | |
| | | | | | | Previously, they only took strings, which sometimes required the caller to use json. | |||||
| * | rpc: List missing required features in error data | Nick Mathewson | 2024-10-17 | 1 | -0/+41 | |
| | | | | | | | | | | | Our spec says that when the RPC client has said "I require you to have feature X" and we don't have it, we need to include the feature(s) we don't have in an `rpc:unsupported_features` field of our error. Also, add an integration test for this behavior. Closes #1662 | |||||
| * | python: fix a return type annotation. | Nick Mathewson | 2024-10-17 | 1 | -1/+1 | |
| | | | | | (Found while writing a test.) | |||||
| * | rpc-tests: Resolve unused variable/import warnings. | Nick Mathewson | 2024-10-10 | 3 | -6/+2 | |
| | | ||||||
| * | rpc-tests: Avoid 'import *' | Nick Mathewson | 2024-10-10 | 1 | -1/+1 | |
| | | ||||||
| * | rpc-tests: Reformat using "black". | Nick Mathewson | 2024-10-10 | 6 | -10/+20 | |
| | | | | | | (This is all on the theory that any formatting standard is better than none.) | |||||
| * | rpc-tests: Use argparse to parse cli. | Nick Mathewson | 2024-10-10 | 2 | -9/+32 | |
| | | | | | | | Right now, we only support two things in the CLI: overriding ARTI_RPC_TEST_DIR, and passing additional arguments to arti_rpc_tests. | |||||
| * | rpc-tests: Rename setup.py to context.py | Nick Mathewson | 2024-10-10 | 3 | -7/+7 | |
| | | ||||||
| * | rpc-tests: Use a decorator instead of a magic function name | Nick Mathewson | 2024-10-10 | 3 | -4/+16 | |
| | | ||||||
| * | rpc-tests: Use __init__ instead of weird staticmethod. | Nick Mathewson | 2024-10-10 | 2 | -6/+2 | |
| | | ||||||
| * | rpc-tests: Format config file correctly for Toml. | Nick Mathewson | 2024-10-10 | 1 | -16/+16 | |
| | | | | | | | | | | | | | We use the `tomli_w` package to generate reasonable toml output, instead of trying to use `str.format`. Without this, there's not an easy way to tell string.Formatter to convert Path('/abc/"def"') to `"abc/\"def\""`. Something like this would be necessary even if we weren't using Path, since the toml rules for sring encoding aren't the same as produced by Python's repr(), which we were using before. | |||||
| * | rpc-integration: Use Path instead of str. | Nick Mathewson | 2024-10-10 | 2 | -12/+15 | |
| | | ||||||
| * | Start a set of integration tests in python | Nick Mathewson | 2024-10-10 | 8 | -0/+479 | |
| | | | | | | | | | These tests are loosely modeled after stem's test suite for Tor and the Tor control port. They're meant to exercise Arti, Arti RPC, and the Arti RPC client library. (For now, they exercise very little.) | |||||
| * | python: Note two methods which will need new args | Nick Mathewson | 2024-10-10 | 1 | -0/+2 | |
| | | ||||||
| * | python: Use mypy option for cleaner code wrt rebinding. | Nick Mathewson | 2024-10-03 | 1 | -11/+24 | |
| | | ||||||
| * | python: Fix annotation typo. | Nick Mathewson | 2024-10-03 | 1 | -1/+1 | |
| | | ||||||
| * | python: Remove TODO about WinDLL | Nick Mathewson | 2024-10-03 | 1 | -5/+0 | |
| | | | | | | | @opara says that we'll want to have our API functions be `extern "C"` everywhere, and so `ctypes.CDLL` should work fine for them on Windows. This sounds good to me. | |||||
| * | python: annotate CDLL-related functions | Nick Mathewson | 2024-10-03 | 1 | -16/+11 | |
| | | | | | This, incidentally, turned up a repeated mistake in the code. | |||||
| * | python: Remove todos about annotating "params" | Nick Mathewson | 2024-10-03 | 1 | -2/+0 | |
| | | | | | | Since params can be "anything encodeable to json", there isn't a lot of point in restricting its type. | |||||
| * | python: Prefer Optional over Union. | Nick Mathewson | 2024-10-03 | 1 | -4/+4 | |
| | | ||||||
| * | python: Type-annotate rpc.py | Nick Mathewson | 2024-10-01 | 2 | -38/+66 | |
| | | | | | | | | | | | | | | | | This has required a few code changes and turned up a few bugs. The type annotations pass with `mypy`. Notable code changes: With type annotations, variable assignment may no longer change the type of a variable. (I disagree with these semantics, but here we are.) Note that some TODOs remain: I have no clear sense how to annotate the library type from `ctypes`, and better wrappers are needed in some cases. | |||||
| * | python: Add minimal annotations for "mypy" to pass. | Nick Mathewson | 2024-10-01 | 1 | -4/+6 | |
| | | ||||||
| * | Python: Use the correct library extension on osx, windows. | Nick Mathewson | 2024-09-30 | 1 | -2/+11 | |
| | | | | | (The windows case is untested; the osx case worked fine.) | |||||
| * | python/arti_rpc: Add an initial pyproject.toml | Nick Mathewson | 2024-09-26 | 1 | -0/+23 | |
| | | | | | | I've tried "python -m build" to make sure it works; haven't tested anything else. | |||||
| * | python: Move arti_rpc package into new subdirectory | Nick Mathewson | 2024-09-26 | 5 | -1/+3 | |
| | | | | | | This will make it easier to add other Python packages in the future as needed. | |||||
| * | python: in README, prepend to PYTHONPATH. | Nick Mathewson | 2024-09-26 | 1 | -2/+1 | |
| | | ||||||
| * | Python: Readme fixes from @anonym | Nick Mathewson | 2024-09-26 | 1 | -3/+3 | |
| | | | | Thanks: Anonym | |||||
| * | Add a scary README to the Python directory | Nick Mathewson | 2024-09-26 | 1 | -0/+47 | |
| | | ||||||
| * | Python: Add a quick RPC demo to show how the APIs work. | Nick Mathewson | 2024-09-26 | 1 | -0/+24 | |
| | | ||||||
| * | Python: Add a pythonic wrapper for arti-rpc-client-core | Nick Mathewson | 2024-09-26 | 2 | -0/+339 | |
| | | | | | | This module tries to provide a set of APIs more closely resembling those you'd expect to use in a real python program. | |||||
| * | Python: Add a ctypes wrapper for arti-rpc-client-core | Nick Mathewson | 2024-09-26 | 1 | -0/+191 | |
| This wrapper uses Python's `ctypes` module to wrap the APIs from `arti-rpc-client-core`. It needs more work on Windows (and likely MacOS too), but that will come later. This is not a suitable API for direct use in Python. | ||||||
