From 898d5f6593548761c9c1a746496eccd227d96018 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Tue, 18 Oct 2022 10:50:12 +0200 Subject: [PATCH 01/21] init in new python monorepo --- README.md | 1 + misc/VScode_OpenWorkspaceFromFile.png | Bin 0 -> 276527 bytes 2 files changed, 1 insertion(+) create mode 100644 misc/VScode_OpenWorkspaceFromFile.png diff --git a/README.md b/README.md index 3e9c2322..0316fbd3 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ If you use VSCode, open this setup using the workspace file python-monorepo.code ``` File -> Open Workspace from File... ``` +![File -> Open Workspace from File](misc/VScode_OpenWorkspaceFromFile.png) Each folder is now a project to VSCode. For the Python virtual environments to be picked up automatically, you need to create .vscode/settings.json file in each folder, pointing to the in-project virtual environment created by the poetry. diff --git a/misc/VScode_OpenWorkspaceFromFile.png b/misc/VScode_OpenWorkspaceFromFile.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b4c6d5e910b6a4c9568ae7e3a49feb882a3537 GIT binary patch literal 276527 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ǎjqc^4=k=xZcy7A; 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 z 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\PyQ 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%0D1}|Kem+7o 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 QCCW=vRp({Jiw|G^4_jcRkpKVy literal 0 HcmV?d00001 From 8b077862ade10a1b815869eeec8d443dce232a90 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:40:20 +0200 Subject: [PATCH 02/21] wip readme --- README.md | 170 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 154 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0316fbd3..eee9a681 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,118 @@ -# Polywrap python client +![Public Release Announcement](https://user-images.githubusercontent.com/5522128/177473887-2689cf25-7937-4620-8ca5-17620729a65d.png) -[Polywrap](https://polywrap.io/#/) is a developer tool that enables easy integration of Web3 protocols into any application. It makes it possible for applications on any platform, written in any language, to read and write data to Web3 protocols. +# Polywrap Python Client + +## [Polywrap](https://polywrap.io) is a developer tool that enables easy integration of Web3 protocols into any application. It makes it possible for applications on any platform, written in any language, to read and write data to Web3 protocols. + + +# Working Features + +This MVP Python client enables the execution of **[WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) Polywrappers** *(or just "wrappers")* on a python environment. It's built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust out and battle tested, as it has additional capabilities than this MVP. + +In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, as well as the possibiity of creating WASM wrappers with Python code. + +Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. + +| Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | +| -- | -- | -- | +| Invoke wrappers | yes | yes | +| polywrap-asyncify | replaced with wasmtime | yes | +| polywrap-uri-resolvers | legacy | refactored | +| polywrap-msgpack| yes, tested 100% | yes | +| Subinvoke | wip | yes | +| Wrap Manifest | WIP | yes | +| Client Config Builder Package | wip | yes | +| Interfaces | pending | yes | +| e2e Tests | tbd | no | +| Creating Plugins | tbd | yes | +| Creating Python Wrappers | in a future version | yes | +> TODO: Update table above according to test harness and maybe mention other wip clients + + +# Getting Started: + +Have questions or want to get involved? Join our community [Discord](https://discord.polywrap.io) or [open an issue](https://github.com/polywrap/toolchain/issues) on Github. + +For detailed information about Polywrap and the WRAP standard, visit our [developer documentation](https://docs.polywrap.io/). + +## Pre-requisites -## Setup for building and testing -- Requirement: Python ^3.10, Poetry ^1.1.14 -- If you are using a linux system or WSL, which comes with Python3.8, then you will need to upgrade Python3.8 to Python3.10 and also fix the pip and distutil as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. -- To install poetry follow [this guide](https://python-poetry.org/docs/#installation). If you are on macos then you can install poetry simply with the following homebrew command -``` -brew install poetry -``` - Clone the repo. ``` git clone https://github.com/polywrap/python-client ``` -- We will be using [Poetry](https://python-poetry.org) for building and testing our packages. -- Each of the package folders consists the pyproject.toml file and the poetry.lock file. In pyproject.toml file, one can find out all the project dependencies and configs related to the package. These files will be utilized by Poetry to install correct dependencies, build, lint and test the package. +> ### `python ˆ3.10` +> - Make sure you're running the correct version of python by running: +> ``` +> which python3 +> ``` +> - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. -- For example, we can install deps, build and test the polywrap-msgpack package using Poetry. +> ### `poetry ^1.1.14` +> - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). If you are on MacOS then you can install poetry simply with the following homebrew command +> ``` +> brew install poetry +> ``` +> - To make sure you're it's installed properly, run `poetry` +> - Learn more [here](https://python-poetry.org/docs/) + + + +## Building and Testing + +### Poetry + +- We will be using [Poetry](https://python-poetry.org) for building and testing our packages. + Each of the package folders consists the `pyproject.toml` file and the `poetry.lock` file. In `pyproject.toml` file, one can find out all the project dependencies and configs related to the package. These files will be utilized by Poetry to install correct dependencies, build, lint and test the package. + +- For example, we can **install** deps, **build** and **test** the `polywrap-msgpack` package using Poetry. - Install dependencies using Poetry. ``` poetry install ``` > Make sure your cwd is `polywrap-msgpack` package. -- As we can see in the pyproject.toml file, we installed [PyTest](https://docs.pytest.org) package. We will be using the same as our testing framework. +- As we can see in the `pyproject.toml` file, we installed [PyTest](https://docs.pytest.org) package. We will be using the same as our testing framework. - Now we are ready to build and test the core package using Poetry and PyTest. - To build the package run the following command ``` poetry build ``` - You need to activate the venv with poetry using `poetry shell` command before running any other command -- We are using tox to run lint and tests easily. You can list all the testenv defined in the -tox config with following command + +### Pytest + +In order to assure the integrity of the modules Polywrap Python Client uses [pytest 7.1.3](https://docs.pytest.org/en/7.1.x/contents.html) as a testing framework. + +To run the tests locally, from the terminal `cd` into the appropriate module, for example `./toolchain/packages/py/polywrap-wasm` or `./toolchain/packages/py/polywrap-client`, and run this command: + - `poetry shell` to start env + - `poetry install` to have all dependencies locally + - `poetry run pytest` to test your module + +This last command will run a series of scripts that verify that the specific module of the client is performing as expected in your local machine. The output on your console should look something like this: + +```c +$ poetry run pytest +>> +================================= test session starts ================================= +platform darwin -- Python 3.10.0, pytest-7.1.3, pluggy-1.0.0 +rootdir: /Users/robertohenriquez/pycode/polywrap/toolchain/packages/py, configfile: pytest.ini +collected 26 items + +tests/test_msgpack.py .......................... [100%] +``` + +You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html) + +If anything fails (F), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: +- `poetry run pytests -v` or `poetry run pytests -vv` for even more detail +- Reach out to the devs on the Discord explaining your situation, and what configuration you're using on your machine. + + +### TOX +- We are using `tox` to run lint and tests easily. +- You can list all the testenv defined in the tox config with following command ``` tox -a ``` @@ -42,7 +122,7 @@ tox -a - As we see the mentioned tests passing, we are ready to update and test the package. ## For VSCode users -If you use VSCode, open this setup using the workspace file python-monorepo.code-workspace: +If you use VSCode, open this setup using the workspace file `python-monorepo.code-workspace`: ``` File -> Open Workspace from File... @@ -74,3 +154,61 @@ Here's the `settings.json` file we are using for configuring the vscode: You need to put your virtual env path you got from the poetry under: `python.defaultInterpreterPath` Once you configure this you should be good to go. + + + + +## What WASM wrappers can you execute today? + +Check these resources to browse a variety available wrappers, for DeFi, decentralised storage, and other development utilites: + +- [Wrappers.io](https://wrappers.io/) +- [Polywrap Integrations Repository](https://github.com/polywrap/integrations) + +# Example call + +Calling a function of a wrapper from the python client is as simple as creating a file in the `xxx TBD` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. + +```python +# get_eth_txns.py +from polywrap_client import PolywrapClient +from polywrap_core import Uri, InvokerOptions + +async def get_eth_transactions(accountAddress): + client = PolywrapClient() + #uri = Uri("wrap://ens/defiwrapper.polywrap.eth") + uri = Uri(f'fs/{Path(__file__).parent.joinpath("cases", "wrap.wasm").absolute()}') + args = { + "accountAddress": "'0x123EtherumAddress12312'" + } + options = InvokerOptions(uri=uri, method="simpleMethod", args=args, encode_result=False) + result = await client.invoke(options) + return result.result + +if __name__ == "__main__": + return get_eth_transactions(portfolio_address) +``` + + +## Creating your own tests + + TODO: It is suggested to follow a [TDD](https://en.wikipedia.org/wiki/Test-driven_development) approach to build your own implementations. + +# Contributing + +The Polywrap project is completely open-source and we welcome contributors of all levels. Learn more about how you can contribute [here](https://github.com/polywrap/toolchain#contributing). + + + +# Contact Us: + +[Join our discord](https://discord.polywrap.io) and ask your questions right away! + + +# Resources + +- [Polywrap Documentation](https://docs.polywrap.io) +- [Polywrap Integrations Repository](https://github.com/polywrap/integrations) +- [Building tests with Pytest](https://realpython.com/pytest-python-testing/) +- [Running operations concurrently with python's asyncio](https://realpython.com/async-io-python/#the-10000-foot-view-of-async-io) +- [Intro Video](TODO) From 30089f3615172d8a25fd3dd752fefb7a0fa839ba Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:47:49 +0200 Subject: [PATCH 03/21] readme improvements --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index eee9a681..a6827587 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,11 @@ poetry build In order to assure the integrity of the modules Polywrap Python Client uses [pytest 7.1.3](https://docs.pytest.org/en/7.1.x/contents.html) as a testing framework. -To run the tests locally, from the terminal `cd` into the appropriate module, for example `./toolchain/packages/py/polywrap-wasm` or `./toolchain/packages/py/polywrap-client`, and run this command: +To run the tests locally, make sure your `cwd` is the appropriate module, for example `polywrap-wasm` or `polywrap-client`, and run these commands if you haven't already: - `poetry shell` to start env - `poetry install` to have all dependencies locally + +Finally, to execute the test suite: - `poetry run pytest` to test your module This last command will run a series of scripts that verify that the specific module of the client is performing as expected in your local machine. The output on your console should look something like this: @@ -105,13 +107,13 @@ tests/test_msgpack.py .......................... You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html) -If anything fails (F), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: +If anything fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: - `poetry run pytests -v` or `poetry run pytests -vv` for even more detail -- Reach out to the devs on the Discord explaining your situation, and what configuration you're using on your machine. +- Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. ### TOX -- We are using `tox` to run lint and tests easily. +- We are using `tox` to run lint and tests even more easily. - You can list all the testenv defined in the tox config with following command ``` tox -a @@ -121,7 +123,7 @@ tox -a - While developing, you can run `tox -e dev` and apply lint fixes and style formatting. - As we see the mentioned tests passing, we are ready to update and test the package. -## For VSCode users +## VSCode users: Improved experience If you use VSCode, open this setup using the workspace file `python-monorepo.code-workspace`: ``` @@ -158,7 +160,7 @@ Once you configure this you should be good to go. -## What WASM wrappers can you execute today? +# What WASM wrappers can you execute today? Check these resources to browse a variety available wrappers, for DeFi, decentralised storage, and other development utilites: @@ -167,7 +169,7 @@ Check these resources to browse a variety available wrappers, for DeFi, decentra # Example call -Calling a function of a wrapper from the python client is as simple as creating a file in the `xxx TBD` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. +Calling a function of a wrapper from the python client is as simple as creating a file in the `xxx TODO` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. ```python # get_eth_txns.py From 19dae6147a05c4b2b9eef8deb8faff62ddd7f30e Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Tue, 18 Oct 2022 12:45:56 +0200 Subject: [PATCH 04/21] improved readme! --- README.md | 131 +++++++++++++++++++++++--------------- misc/VScode_workspace.png | Bin 0 -> 15324 bytes 2 files changed, 79 insertions(+), 52 deletions(-) create mode 100644 misc/VScode_workspace.png diff --git a/README.md b/README.md index a6827587..b06e42f0 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This MVP Python client enables the execution of **[WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) Polywrappers** *(or just "wrappers")* on a python environment. It's built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust out and battle tested, as it has additional capabilities than this MVP. -In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, as well as the possibiity of creating WASM wrappers with Python code. +In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, including the possibiity of creating WASM wrappers with Python code. Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. @@ -26,7 +26,7 @@ Here you can see which features have been implemented on each language, and make | e2e Tests | tbd | no | | Creating Plugins | tbd | yes | | Creating Python Wrappers | in a future version | yes | -> TODO: Update table above according to test harness and maybe mention other wip clients +> TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) # Getting Started: @@ -37,15 +37,15 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo ## Pre-requisites -- Clone the repo. -``` -git clone https://github.com/polywrap/python-client -``` +>### Clone the repo. +>``` +>git clone https://github.com/polywrap/python-client +>``` > ### `python ˆ3.10` > - Make sure you're running the correct version of python by running: > ``` -> which python3 +> python3 --version > ``` > - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. @@ -54,14 +54,13 @@ git clone https://github.com/polywrap/python-client > ``` > brew install poetry > ``` -> - To make sure you're it's installed properly, run `poetry` -> - Learn more [here](https://python-poetry.org/docs/) +> - To make sure you're it's installed properly, run `poetry`. Learn more [here](https://python-poetry.org/docs/) -## Building and Testing +# Building and Testing -### Poetry +## Poetry - We will be using [Poetry](https://python-poetry.org) for building and testing our packages. Each of the package folders consists the `pyproject.toml` file and the `poetry.lock` file. In `pyproject.toml` file, one can find out all the project dependencies and configs related to the package. These files will be utilized by Poetry to install correct dependencies, build, lint and test the package. @@ -72,25 +71,29 @@ git clone https://github.com/polywrap/python-client ``` poetry install ``` -> Make sure your cwd is `polywrap-msgpack` package. -- As we can see in the `pyproject.toml` file, we installed [PyTest](https://docs.pytest.org) package. We will be using the same as our testing framework. -- Now we are ready to build and test the core package using Poetry and PyTest. +> Make sure your cwd is the appropriate module, for example `polywrap-msgpack`, `polywrap-wasm` or `polywrap-client`. + +## Pytest + +In order to assure the integrity of the modules Polywrap Python Client uses [pytest 7.1.3](https://docs.pytest.org/en/7.1.x/contents.html) as a testing framework. + +- As we can see in the `pyproject.toml` files, we installed the [PyTest](https://docs.pytest.org) package. We will be using it as our testing framework. +- Now we are ready to **build** and **test** the core package using Poetry and PyTest. - To build the package run the following command ``` poetry build ``` -- You need to activate the venv with poetry using `poetry shell` command before running any other command - -### Pytest - -In order to assure the integrity of the modules Polywrap Python Client uses [pytest 7.1.3](https://docs.pytest.org/en/7.1.x/contents.html) as a testing framework. +- You need to activate the venv with poetry using the `shell` command before running any other command + +``` +poetry shell +``` -To run the tests locally, make sure your `cwd` is the appropriate module, for example `polywrap-wasm` or `polywrap-client`, and run these commands if you haven't already: - - `poetry shell` to start env - - `poetry install` to have all dependencies locally +Finally, to test your module to execute the test suite: +``` +poetry run pytest +``` -Finally, to execute the test suite: - - `poetry run pytest` to test your module This last command will run a series of scripts that verify that the specific module of the client is performing as expected in your local machine. The output on your console should look something like this: @@ -99,52 +102,79 @@ $ poetry run pytest >> ================================= test session starts ================================= platform darwin -- Python 3.10.0, pytest-7.1.3, pluggy-1.0.0 -rootdir: /Users/robertohenriquez/pycode/polywrap/toolchain/packages/py, configfile: pytest.ini +rootdir: /Users/polywrap/pycode/polywrap/toolchain/packages/py, configfile: pytest.ini collected 26 items tests/test_msgpack.py .......................... [100%] ``` -You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html) +> ### Debugging with Pytets: +> +> You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If anything fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: +> - `poetry run pytests -v` or `poetry run pytests -vv` for even more detail +> - Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. -If anything fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: -- `poetry run pytests -v` or `poetry run pytests -vv` for even more detail -- Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. +## TOX + We are using [`tox`](https://tox.wiki/en) to run lint and tests even more easily. Below are some basic commands to get you running. -### TOX -- We are using `tox` to run lint and tests even more easily. -- You can list all the testenv defined in the tox config with following command +### List all the testenv defined in the tox config ``` tox -a ``` -- To run tests using tox simply run `tox` -- You can run linters with the `tox -e lint` and check type with `tox -e typecheck`. By running `tox -e secure`, you can find security vulnerability if any. -- While developing, you can run `tox -e dev` and apply lint fixes and style formatting. -- As we see the mentioned tests passing, we are ready to update and test the package. +### Run tests +``` +tox +``` -## VSCode users: Improved experience -If you use VSCode, open this setup using the workspace file `python-monorepo.code-workspace`: +### Linting +``` +tox -e lint +``` +### Check types +``` +tox -e typecheck +``` + +### Find security vulnerabilities, if any +``` +tox -e secure +``` + +### Dev environment +Use this command to only apply lint fixes and style formatting. +``` +tox -e dev +``` + +- After running these commands we should see all the tests passing and commands executing successfully, which means that we are ready to update and test the package. +- To create your own tox scripts, modify the `tox.ini` file in the respective module. + +## VSCode users: Improved venv experience +If you use VSCode, we have prepared a pre-configured workspace, so to open the workspace file `python-monorepo.code-workspace`, go to: ``` File -> Open Workspace from File... ``` ![File -> Open Workspace from File](misc/VScode_OpenWorkspaceFromFile.png) -Each folder is now a project to VSCode. For the Python virtual environments to be picked up automatically, you need to create .vscode/settings.json file in each folder, pointing to the in-project virtual environment created by the poetry. +Each folder is now a project to VSCode. This action does not change the underlying code, but facilitates the development process. So our file directory should look like this now: + +![all modules have their respective folder, along with a root folder](misc/VScode_workspace.png) -You can easily find the correct virtual env by running following command in the package for which you want to find it +### Picking up the virtual environments automatically +We will need to create a `.vscode/settings.json` file in each module's folder, pointing to the in-project virtual environment created by the poetry. + +- You can easily find the path to the virtual env by running following command in the package for which you want to find it for: ``` poetry shell ``` -Once you get the virtual env, you need to create the following `settings.json` file under the .vscode folder of the given package. -Ex: in case of polywrap-client package, it would be under: -``` -polywrap-client -> .vscode -> settings.json -``` +- Once you get the path virtual env, you need to create the following `settings.json` file under the `.vscode/` folder of the given package. For example, in case of `polywrap-client` package, it would be under +`./polywrap-client/.vscode/settings.json` + -Here's the `settings.json` file we are using for configuring the vscode: +Here's the structure `settings.json` file we are using for configuring the vscode. Make sure you need to put your virtual env path you got from the poetry as the `python.defaultInterpreterPath` argument: ```json { "python.formatting.provider": "black", @@ -153,11 +183,8 @@ Here's the `settings.json` file we are using for configuring the vscode: "python.defaultInterpreterPath": "/Users/polywrap/Library/Caches/pypoetry/virtualenvs/polywrap-client-abcdef-py3.10" } ``` -You need to put your virtual env path you got from the poetry under: `python.defaultInterpreterPath` - -Once you configure this you should be good to go. - +Once you configure this you should be good to go! # What WASM wrappers can you execute today? @@ -169,7 +196,7 @@ Check these resources to browse a variety available wrappers, for DeFi, decentra # Example call -Calling a function of a wrapper from the python client is as simple as creating a file in the `xxx TODO` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. +Calling a function of a wrapper from the python client is as simple as creating a file in the `TODO (?polywrap-client)` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. ```python # get_eth_txns.py @@ -194,7 +221,7 @@ if __name__ == "__main__": ## Creating your own tests - TODO: It is suggested to follow a [TDD](https://en.wikipedia.org/wiki/Test-driven_development) approach to build your own implementations. +TODO: It is suggested to follow a [TDD](https://en.wikipedia.org/wiki/Test-driven_development) approach to build your own implementations. # Contributing diff --git a/misc/VScode_workspace.png b/misc/VScode_workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..830aef91c6b87b80003520810dd2c2a7a0759dbe GIT binary patch literal 15324 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 WuaF^0&;S0BKulO#s9HeR|Nj7)WNfhj literal 0 HcmV?d00001 From 749df0dc118da201e92818e8acf1936d886900b1 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Tue, 18 Oct 2022 12:53:01 +0200 Subject: [PATCH 05/21] readme improvements --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b06e42f0..0bc33dd5 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,7 @@ poetry shell `./polywrap-client/.vscode/settings.json` -Here's the structure `settings.json` file we are using for configuring the vscode. Make sure you need to put your virtual env path you got from the poetry as the `python.defaultInterpreterPath` argument: +Here's the structure `settings.json` file we are using for configuring the vscode. Make sure you update your virtual env path you got from poetry as the `python.defaultInterpreterPath` argument: ```json { "python.formatting.provider": "black", @@ -184,7 +184,7 @@ Here's the structure `settings.json` file we are using for configuring the vscod } ``` -Once you configure this you should be good to go! +Keep in mind that these venv paths will vary for each module you run `poetry shell` on. Once you configure these `setting.json` files correctly on each module you should be good to go! # What WASM wrappers can you execute today? From b6b536655279a5d39e9e113bf42a3917c50fd702 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 13:25:36 +0200 Subject: [PATCH 06/21] readme_edits --- README.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 0bc33dd5..b7de5793 100644 --- a/README.md +++ b/README.md @@ -7,28 +7,26 @@ # Working Features -This MVP Python client enables the execution of **[WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) Polywrappers** *(or just "wrappers")* on a python environment. It's built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust out and battle tested, as it has additional capabilities than this MVP. +This MVP Python client enables the execution of **[WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) Polywrappers** *(or just "wrappers")* on a python environment, regardless of what language this wrapper was built in. -In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, including the possibiity of creating WASM wrappers with Python code. +The client is built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust and battle tested, as it has additional capabilities than this MVP. In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack. Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. | Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | | -- | -- | -- | | Invoke wrappers | yes | yes | -| polywrap-asyncify | replaced with wasmtime | yes | -| polywrap-uri-resolvers | legacy | refactored | -| polywrap-msgpack| yes, tested 100% | yes | -| Subinvoke | wip | yes | -| Wrap Manifest | WIP | yes | -| Client Config Builder Package | wip | yes | +| Subinvoke wrappers | wip | yes | | Interfaces | pending | yes | -| e2e Tests | tbd | no | -| Creating Plugins | tbd | yes | -| Creating Python Wrappers | in a future version | yes | +| Env Configuration | | | +| Client Config Builder Package | wip | yes | +| Plugins | tbd | yes | +| Wrap Manifest | WIP | yes | +| Uri Resolution | legacy | refactored | > TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) + # Getting Started: Have questions or want to get involved? Join our community [Discord](https://discord.polywrap.io) or [open an issue](https://github.com/polywrap/toolchain/issues) on Github. @@ -37,7 +35,7 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo ## Pre-requisites ->### Clone the repo. +### Clone the repo. >``` >git clone https://github.com/polywrap/python-client >``` @@ -108,7 +106,7 @@ collected 26 items tests/test_msgpack.py .......................... [100%] ``` -> ### Debugging with Pytets: +> ### Debugging with Pytest: > > You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If anything fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: > - `poetry run pytests -v` or `poetry run pytests -vv` for even more detail From 72ec96fbd0075757d81a6d9710648c6fe806e84e Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 13:33:56 +0200 Subject: [PATCH 07/21] readme_improvements --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b7de5793..1fc9517a 100644 --- a/README.md +++ b/README.md @@ -217,9 +217,11 @@ if __name__ == "__main__": ``` -## Creating your own tests +## Creating your own tests for the client -TODO: It is suggested to follow a [TDD](https://en.wikipedia.org/wiki/Test-driven_development) approach to build your own implementations. +By creating tests you can quickly experiment with the Polywrap Client and its growing set of wrappers. Since Pytest is already set up on the repo, go to the `polywrap-client\tests\` directory, and take a look at how some of the functions are built. You can use similar patterns to mod your own apps and prototypes. + +Here's a good guide to learn about [building tests with Pytest](https://realpython.com/pytest-python-testing/) # Contributing @@ -236,6 +238,5 @@ The Polywrap project is completely open-source and we welcome contributors of al - [Polywrap Documentation](https://docs.polywrap.io) - [Polywrap Integrations Repository](https://github.com/polywrap/integrations) -- [Building tests with Pytest](https://realpython.com/pytest-python-testing/) - [Running operations concurrently with python's asyncio](https://realpython.com/async-io-python/#the-10000-foot-view-of-async-io) - [Intro Video](TODO) From 2f16f0548a8495930412ab426d9ce4312726f334 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:10:31 +0200 Subject: [PATCH 08/21] readme --- README.md | 55 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 1fc9517a..84009d96 100644 --- a/README.md +++ b/README.md @@ -13,20 +13,18 @@ The client is built following the functionality of the [JavaScript Polywrap Clie Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. -| Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | -| -- | -- | -- | -| Invoke wrappers | yes | yes | -| Subinvoke wrappers | wip | yes | -| Interfaces | pending | yes | -| Env Configuration | | | -| Client Config Builder Package | wip | yes | -| Plugins | tbd | yes | -| Wrap Manifest | WIP | yes | -| Uri Resolution | legacy | refactored | +| Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | [Go]() | [Rust](https://github.com/polywrap/rust-client) | +| -- | -- | -- | -- | -- | +| Invoke wrappers | yes | yes | | | +| Subinvoke wrappers | wip | yes | | | +| Interfaces | pending | yes | | | +| Env Configuration | | | | | +| Client Config Builder Package | wip | yes | | | +| Plugins | tbd | yes | | | +| Wrap Manifest | WIP | yes | | | +| Uri Resolution | legacy | refactored | | | > TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) - - # Getting Started: Have questions or want to get involved? Join our community [Discord](https://discord.polywrap.io) or [open an issue](https://github.com/polywrap/toolchain/issues) on Github. @@ -197,23 +195,34 @@ Check these resources to browse a variety available wrappers, for DeFi, decentra Calling a function of a wrapper from the python client is as simple as creating a file in the `TODO (?polywrap-client)` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. ```python -# get_eth_txns.py +# hello_world.py from polywrap_client import PolywrapClient from polywrap_core import Uri, InvokerOptions -async def get_eth_transactions(accountAddress): +async def update_contract_message(message: str): + + # Instantiate the client client = PolywrapClient() - #uri = Uri("wrap://ens/defiwrapper.polywrap.eth") - uri = Uri(f'fs/{Path(__file__).parent.joinpath("cases", "wrap.wasm").absolute()}') - args = { - "accountAddress": "'0x123EtherumAddress12312'" - } - options = InvokerOptions(uri=uri, method="simpleMethod", args=args, encode_result=False) + + # Load the WebAssembly wrapper through a URI that points to local file system + uri = Uri( + f'fs/{Path(__file__).parent.joinpath("cases", "simple-invoke", "wrap.wasm").absolute()}' + ) + + args = {"arg": message } + + # Configure the client + options = InvokerOptions( + uri=uri, method="simpleMethod", args=args, encode_result=False + ) + + # Invoke the wrapper result = await client.invoke(options) + return result.result if __name__ == "__main__": - return get_eth_transactions(portfolio_address) + return update_contract_message('hello polywrap!') ``` @@ -227,8 +236,6 @@ Here's a good guide to learn about [building tests with Pytest](https://realpyth The Polywrap project is completely open-source and we welcome contributors of all levels. Learn more about how you can contribute [here](https://github.com/polywrap/toolchain#contributing). - - # Contact Us: [Join our discord](https://discord.polywrap.io) and ask your questions right away! @@ -239,4 +246,4 @@ The Polywrap project is completely open-source and we welcome contributors of al - [Polywrap Documentation](https://docs.polywrap.io) - [Polywrap Integrations Repository](https://github.com/polywrap/integrations) - [Running operations concurrently with python's asyncio](https://realpython.com/async-io-python/#the-10000-foot-view-of-async-io) -- [Intro Video](TODO) +- [Intro Video](TODO) \ No newline at end of file From 9b0fa76ab51fd3094274e903ff55ffd42a48b9c3 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:25:19 +0200 Subject: [PATCH 09/21] readme --- README.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 84009d96..13a8150f 100644 --- a/README.md +++ b/README.md @@ -33,19 +33,19 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo ## Pre-requisites -### Clone the repo. +### `Clone the repo.` >``` >git clone https://github.com/polywrap/python-client >``` -> ### `python ˆ3.10` +### `python ˆ3.10` > - Make sure you're running the correct version of python by running: > ``` > python3 --version > ``` > - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. -> ### `poetry ^1.1.14` +### `poetry ^1.1.14` > - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). If you are on MacOS then you can install poetry simply with the following homebrew command > ``` > brew install poetry @@ -93,7 +93,7 @@ poetry run pytest This last command will run a series of scripts that verify that the specific module of the client is performing as expected in your local machine. The output on your console should look something like this: -```c +```py $ poetry run pytest >> ================================= test session starts ================================= @@ -101,7 +101,7 @@ platform darwin -- Python 3.10.0, pytest-7.1.3, pluggy-1.0.0 rootdir: /Users/polywrap/pycode/polywrap/toolchain/packages/py, configfile: pytest.ini collected 26 items -tests/test_msgpack.py .......................... [100%] +tests/test_msgpack.py ........................ [100%] ``` > ### Debugging with Pytest: @@ -205,9 +205,7 @@ async def update_contract_message(message: str): client = PolywrapClient() # Load the WebAssembly wrapper through a URI that points to local file system - uri = Uri( - f'fs/{Path(__file__).parent.joinpath("cases", "simple-invoke", "wrap.wasm").absolute()}' - ) + uri = Uri(f'fs/{Path(__file__).parent.joinpath("cases", "simple-invoke", "HelloWorldWrapper.wasm").absolute()}') args = {"arg": message } @@ -228,7 +226,7 @@ if __name__ == "__main__": ## Creating your own tests for the client -By creating tests you can quickly experiment with the Polywrap Client and its growing set of wrappers. Since Pytest is already set up on the repo, go to the `polywrap-client\tests\` directory, and take a look at how some of the functions are built. You can use similar patterns to mod your own apps and prototypes. +By creating tests you can quickly experiment with the Polywrap Client and its growing set of wrappers. Since Pytest is already set up on the repo, go to the `polywrap-client\tests\` directory, and take a look at how some of the functions are built. You can use similar patterns to mod your own apps and build new prototypes with more complex functionality. Here's a good guide to learn about [building tests with Pytest](https://realpython.com/pytest-python-testing/) From 114785b4ff0aa00493dca7b2575d46c0d02178c0 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:29:43 +0200 Subject: [PATCH 10/21] readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 13a8150f..4dbc0f42 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ tox -e dev - To create your own tox scripts, modify the `tox.ini` file in the respective module. ## VSCode users: Improved venv experience -If you use VSCode, we have prepared a pre-configured workspace, so to open the workspace file `python-monorepo.code-workspace`, go to: +If you use VSCode, we have prepared a pre-configured workspace that improves your dev experience. So when you open VScode, set up the workspace file `python-monorepo.code-workspace` by going to: ``` File -> Open Workspace from File... @@ -158,6 +158,8 @@ Each folder is now a project to VSCode. This action does not change the underlyi ![all modules have their respective folder, along with a root folder](misc/VScode_workspace.png) +> Note: You might have to do this step again next time you close and open VS code! + ### Picking up the virtual environments automatically We will need to create a `.vscode/settings.json` file in each module's folder, pointing to the in-project virtual environment created by the poetry. From e2d6fedbfd49aba5cc104bf91ffeaf0fd534c4f8 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:32:29 +0200 Subject: [PATCH 11/21] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4dbc0f42..a3268304 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This MVP Python client enables the execution of **[WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) Polywrappers** *(or just "wrappers")* on a python environment, regardless of what language this wrapper was built in. -The client is built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust and battle tested, as it has additional capabilities than this MVP. In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack. +The client is built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust and battle tested, as it has additional capabilities than this MVP. In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, while building in parallel clients for other languages like Go and Rust. Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. From 3ba4b507c63a5fc1ce74cb605791490299636b48 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:37:48 +0200 Subject: [PATCH 12/21] readme --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a3268304..bfc66187 100644 --- a/README.md +++ b/README.md @@ -194,14 +194,16 @@ Check these resources to browse a variety available wrappers, for DeFi, decentra # Example call -Calling a function of a wrapper from the python client is as simple as creating a file in the `TODO (?polywrap-client)` directory, importing the Polywrap Python Client, calling the Uri where the WASM wrapper is hosted, and specifying any required arguments. +Calling a function of a wrapper from the python client is as simple as creating a file in the `TODO (?polywrap-client)` directory, importing the `PolywrapClient`, calling the `Uri` where the WASM wrapper is hosted, and specifying any required `arguments`. + +Here is an example which takes in a message as a string and returns it. ```python # hello_world.py from polywrap_client import PolywrapClient from polywrap_core import Uri, InvokerOptions -async def update_contract_message(message: str): +async def echo_message(message: str): # Instantiate the client client = PolywrapClient() @@ -222,7 +224,7 @@ async def update_contract_message(message: str): return result.result if __name__ == "__main__": - return update_contract_message('hello polywrap!') + return echo_message('hello polywrap!') ``` From 5a154d84b25565763ab4c982e9661a9d04ecb5ad Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:43:57 +0200 Subject: [PATCH 13/21] readme --- README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bfc66187..8077eb9a 100644 --- a/README.md +++ b/README.md @@ -15,16 +15,18 @@ Here you can see which features have been implemented on each language, and make | Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | [Go]() | [Rust](https://github.com/polywrap/rust-client) | | -- | -- | -- | -- | -- | -| Invoke wrappers | yes | yes | | | -| Subinvoke wrappers | wip | yes | | | -| Interfaces | pending | yes | | | -| Env Configuration | | | | | -| Client Config Builder Package | wip | yes | | | -| Plugins | tbd | yes | | | -| Wrap Manifest | WIP | yes | | | -| Uri Resolution | legacy | refactored | | | +| Invoke | ✅ | ✅ | | | +| Subinvoke | ⚠️ | ✅ | | | +| Interfaces | ❌ | ✅ | | | +| Env Configuration | | ✅ | | | +| Client Config Builder Package | ⚠️ | ✅ | | | +| Plugins | tbd | ✅ | | | +| Wrap Manifest | ⚠️ | ✅ | | | +| Uri Resolution | ⚠️ | ✅ | | | > TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) +✅ for fully working, ⚠️ for partially working , ❌ or 🚫 for not working + # Getting Started: Have questions or want to get involved? Join our community [Discord](https://discord.polywrap.io) or [open an issue](https://github.com/polywrap/toolchain/issues) on Github. From 8eef6c1d4c41ac382ca45e1f3983d8b9fce80815 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:53:16 +0200 Subject: [PATCH 14/21] readme --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8077eb9a..81964fb3 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,15 @@ Here you can see which features have been implemented on each language, and make | Subinvoke | ⚠️ | ✅ | | | | Interfaces | ❌ | ✅ | | | | Env Configuration | | ✅ | | | -| Client Config Builder Package | ⚠️ | ✅ | | | -| Plugins | tbd | ✅ | | | +| Client Config | ⚠️ | ✅ | | | +| Plugins | ❌ | ✅ | | | | Wrap Manifest | ⚠️ | ✅ | | | | Uri Resolution | ⚠️ | ✅ | | | > TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) -✅ for fully working, ⚠️ for partially working , ❌ or 🚫 for not working +✅ = fully working +⚠️ = partially working +❌ = not yet implemented # Getting Started: From abf66850df55d2d20b708f283acea9440918cdf2 Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:58:09 +0200 Subject: [PATCH 15/21] readme --- README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 81964fb3..3fffb7cc 100644 --- a/README.md +++ b/README.md @@ -16,18 +16,21 @@ Here you can see which features have been implemented on each language, and make | Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | [Go]() | [Rust](https://github.com/polywrap/rust-client) | | -- | -- | -- | -- | -- | | Invoke | ✅ | ✅ | | | -| Subinvoke | ⚠️ | ✅ | | | +| Subinvoke | ⚙️ | ✅ | | | | Interfaces | ❌ | ✅ | | | -| Env Configuration | | ✅ | | | -| Client Config | ⚠️ | ✅ | | | +| Env Configuration | ⚙️ | ✅ | | | +| Client Config | ⚙️ | ✅ | | | | Plugins | ❌ | ✅ | | | -| Wrap Manifest | ⚠️ | ✅ | | | -| Uri Resolution | ⚠️ | ✅ | | | +| Wrap Manifest | ⚙️ | ✅ | | | +| Uri Resolution | ⚙️ | ✅ | | | > TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) -✅ = fully working -⚠️ = partially working -❌ = not yet implemented +|status| | +| -- | -- | +|✅ | fully working| +|⚙️|partially working| +|❌|not yet implemented| + # Getting Started: From 3cf5907dce2acc26c2f391d35574e988f1feb2dd Mon Sep 17 00:00:00 2001 From: DaoAdvocate <12145726+rihp@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:59:54 +0200 Subject: [PATCH 16/21] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fffb7cc..2f292ba2 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Here you can see which features have been implemented on each language, and make |status| | | -- | -- | |✅ | fully working| -|⚙️|partially working| +|⚙️| partially working| |❌|not yet implemented| From 504e22e37e2cdd0376350e2c5265283c0ea3771c Mon Sep 17 00:00:00 2001 From: Media <12145726+rihp@users.noreply.github.com> Date: Tue, 25 Oct 2022 13:01:06 +0200 Subject: [PATCH 17/21] Update README.md --- README.md | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 2f292ba2..0aa705c2 100644 --- a/README.md +++ b/README.md @@ -11,25 +11,7 @@ This MVP Python client enables the execution of **[WebAssembly](https://en.wikip The client is built following the functionality of the [JavaScript Polywrap Client](https://github.com/polywrap/toolchain), which is currently more robust and battle tested, as it has additional capabilities than this MVP. In the future, the Polywrap DAO will continue improving this Python capabilities to reach feature parity with the JS stack, while building in parallel clients for other languages like Go and Rust. -Here you can see which features have been implemented on each language, and make the decision of which one to use for your project. - -| Feature | [Python](https://github.com/polywrap/python-client) | [Javascript](https://github.com/polywrap/toolchain) | [Go]() | [Rust](https://github.com/polywrap/rust-client) | -| -- | -- | -- | -- | -- | -| Invoke | ✅ | ✅ | | | -| Subinvoke | ⚙️ | ✅ | | | -| Interfaces | ❌ | ✅ | | | -| Env Configuration | ⚙️ | ✅ | | | -| Client Config | ⚙️ | ✅ | | | -| Plugins | ❌ | ✅ | | | -| Wrap Manifest | ⚙️ | ✅ | | | -| Uri Resolution | ⚙️ | ✅ | | | -> TODO: Update table above according to test harness and maybe mention other wip clients (go, rust) - -|status| | -| -- | -- | -|✅ | fully working| -|⚙️| partially working| -|❌|not yet implemented| +[Here](https://github.com/polywrap/client-test-harness) you can see which features have been implemented on each language, and make the decision of which one to use for your project. # Getting Started: @@ -53,7 +35,8 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo > - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. ### `poetry ^1.1.14` -> - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). If you are on MacOS then you can install poetry simply with the following homebrew command +> - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). +> - If you are on MacOS then you can install poetry simply with the following homebrew command > ``` > brew install poetry > ``` @@ -66,7 +49,7 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo ## Poetry - We will be using [Poetry](https://python-poetry.org) for building and testing our packages. - Each of the package folders consists the `pyproject.toml` file and the `poetry.lock` file. In `pyproject.toml` file, one can find out all the project dependencies and configs related to the package. These files will be utilized by Poetry to install correct dependencies, build, lint and test the package. + Each of the package folders consists of the `pyproject.toml` file and the `poetry.lock` file. In `pyproject.toml` file, one can find out all the project dependencies and configs related to the package. These files will be utilized by Poetry to install correct dependencies, build, lint and test the package. - For example, we can **install** deps, **build** and **test** the `polywrap-msgpack` package using Poetry. @@ -82,12 +65,13 @@ In order to assure the integrity of the modules Polywrap Python Client uses [pyt - As we can see in the `pyproject.toml` files, we installed the [PyTest](https://docs.pytest.org) package. We will be using it as our testing framework. - Now we are ready to **build** and **test** the core package using Poetry and PyTest. -- To build the package run the following command + +To build the package run the following command ``` poetry build ``` -- You need to activate the venv with poetry using the `shell` command before running any other command - + +You need to activate the venv with poetry using the `shell` command before running any other command ``` poetry shell ``` @@ -113,7 +97,7 @@ tests/test_msgpack.py ........................ > ### Debugging with Pytest: > -> You should expect to see the tests passing with a 100% accuracy. To better understand and read these outputs, check [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If anything fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: +> You should expect to see the tests passing with a 100% accuracy. To better understand these outputs, read [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If any of the functionality fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: > - `poetry run pytests -v` or `poetry run pytests -vv` for even more detail > - Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. @@ -129,7 +113,6 @@ tox -a ``` tox ``` - ### Linting ``` tox -e lint @@ -255,4 +238,4 @@ The Polywrap project is completely open-source and we welcome contributors of al - [Polywrap Documentation](https://docs.polywrap.io) - [Polywrap Integrations Repository](https://github.com/polywrap/integrations) - [Running operations concurrently with python's asyncio](https://realpython.com/async-io-python/#the-10000-foot-view-of-async-io) -- [Intro Video](TODO) \ No newline at end of file +- [Intro Video](TODO) From aaa4bbfd297825e8b5ae3d7ff0118febecc013c9 Mon Sep 17 00:00:00 2001 From: Media <12145726+rihp@users.noreply.github.com> Date: Thu, 27 Oct 2022 13:01:16 +0200 Subject: [PATCH 18/21] Update README.md --- README.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 0aa705c2..a7c51504 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Polywrap Python Client -## [Polywrap](https://polywrap.io) is a developer tool that enables easy integration of Web3 protocols into any application. It makes it possible for applications on any platform, written in any language, to read and write data to Web3 protocols. +[Polywrap](https://polywrap.io) is a developer tool that enables easy integration of Web3 protocols into any application. It makes it possible for applications on any platform, written in any language, to read and write data to Web3 protocols. # Working Features @@ -22,24 +22,24 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo ## Pre-requisites -### `Clone the repo.` ->``` ->git clone https://github.com/polywrap/python-client ->``` +### Clone the repo. +``` +git clone https://github.com/polywrap/python-client +``` -### `python ˆ3.10` -> - Make sure you're running the correct version of python by running: -> ``` -> python3 --version -> ``` +### python ˆ3.10 +- Make sure you're running the correct version of python by running: +``` +python3 --version +``` > - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. -### `poetry ^1.1.14` -> - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). -> - If you are on MacOS then you can install poetry simply with the following homebrew command -> ``` -> brew install poetry -> ``` +### poetry ^1.1.14 +- To install poetry follow [this guide](https://python-poetry.org/docs/#installation). +- If you are on MacOS then you can install poetry simply with the following homebrew command +``` +brew install poetry +``` > - To make sure you're it's installed properly, run `poetry`. Learn more [here](https://python-poetry.org/docs/) @@ -84,7 +84,7 @@ poetry run pytest This last command will run a series of scripts that verify that the specific module of the client is performing as expected in your local machine. The output on your console should look something like this: -```py +``` $ poetry run pytest >> ================================= test session starts ================================= @@ -95,11 +95,11 @@ collected 26 items tests/test_msgpack.py ........................ [100%] ``` -> ### Debugging with Pytest: -> -> You should expect to see the tests passing with a 100% accuracy. To better understand these outputs, read [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If any of the functionality fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: -> - `poetry run pytests -v` or `poetry run pytests -vv` for even more detail -> - Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. +### Debugging with Pytest: + +You should expect to see the tests passing with a 100% accuracy. To better understand these outputs, read [this quick guide](https://docs.pytest.org/en/7.1.x/how-to/output.html). If any of the functionality fails (marked with an 'F'), or if there are any Warnings raised, you can debug them by running a verbose version of the test suite: +- `poetry run pytests -v` or `poetry run pytests -vv` for even more detail +- Reach out to the devs on the [Discord](https://discord.polywrap.io) explaining your situation, and what configuration you're using on your machine. ## TOX @@ -136,7 +136,7 @@ tox -e dev - After running these commands we should see all the tests passing and commands executing successfully, which means that we are ready to update and test the package. - To create your own tox scripts, modify the `tox.ini` file in the respective module. -## VSCode users: Improved venv experience +## VSCode users: Improved dev experience If you use VSCode, we have prepared a pre-configured workspace that improves your dev experience. So when you open VScode, set up the workspace file `python-monorepo.code-workspace` by going to: ``` From 405fbf48be253b586efa6ff2ddaeb3bd941d6d97 Mon Sep 17 00:00:00 2001 From: Media <12145726+rihp@users.noreply.github.com> Date: Thu, 27 Oct 2022 13:03:29 +0200 Subject: [PATCH 19/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7c51504..5c771d01 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ async def echo_message(message: str): client = PolywrapClient() # Load the WebAssembly wrapper through a URI that points to local file system - uri = Uri(f'fs/{Path(__file__).parent.joinpath("cases", "simple-invoke", "HelloWorldWrapper.wasm").absolute()}') + uri = Uri('ens/rinkeby/helloworld.dev.polywrap.eth') args = {"arg": message } From e23110c54676b3cf3ecfa9e7ce3d092fc6fb1fe0 Mon Sep 17 00:00:00 2001 From: Media <12145726+rihp@users.noreply.github.com> Date: Thu, 27 Oct 2022 13:04:26 +0200 Subject: [PATCH 20/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c771d01..35233706 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ async def echo_message(message: str): client = PolywrapClient() # Load the WebAssembly wrapper through a URI that points to local file system - uri = Uri('ens/rinkeby/helloworld.dev.polywrap.eth') + uri = Uri('wrap://ens/rinkeby/helloworld.dev.polywrap.eth') args = {"arg": message } From c952dcfa59e0ec78a143cbb35eaf6b573af726c4 Mon Sep 17 00:00:00 2001 From: Media <12145726+rihp@users.noreply.github.com> Date: Thu, 27 Oct 2022 13:10:40 +0200 Subject: [PATCH 21/21] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 35233706..201c25c4 100644 --- a/README.md +++ b/README.md @@ -27,20 +27,20 @@ For detailed information about Polywrap and the WRAP standard, visit our [develo git clone https://github.com/polywrap/python-client ``` -### python ˆ3.10 +### `python ˆ3.10` - Make sure you're running the correct version of python by running: ``` python3 --version ``` -> - If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. +> If you are using a Linux system or WSL, which comes with Python3.8, then you will need to upgrade from Python3.8 to Python3.10 and also fix the `pip` and `distutil` as upgrading to Python3.10 will break them. You may follow [this guide](https://cloudbytes.dev/snippets/upgrade-python-to-latest-version-on-ubuntu-linux) to upgrade. -### poetry ^1.1.14 +### `poetry ^1.1.14` - To install poetry follow [this guide](https://python-poetry.org/docs/#installation). - If you are on MacOS then you can install poetry simply with the following homebrew command ``` brew install poetry ``` -> - To make sure you're it's installed properly, run `poetry`. Learn more [here](https://python-poetry.org/docs/) +> To make sure you're it's installed properly, run `poetry`. Learn more [here](https://python-poetry.org/docs/)