diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:15:07 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:15:07 +0000 |
commit | 4b2659f3980441cb6f604f1f760ed75f3c6a3a0a (patch) | |
tree | 683b6f0f6212e0e6c253e6c29dd6e4a00de41d87 | |
parent | b370175d59f89d701716d5b370970838b3a534bb (diff) |
automatic import of python-netsbloxopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-netsblox.spec | 323 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 325 insertions, 0 deletions
@@ -0,0 +1 @@ +/netsblox-0.5.14.tar.gz diff --git a/python-netsblox.spec b/python-netsblox.spec new file mode 100644 index 0000000..7d3fe10 --- /dev/null +++ b/python-netsblox.spec @@ -0,0 +1,323 @@ +%global _empty_manifest_terminate_build 0 +Name: python-netsblox +Version: 0.5.14 +Release: 1 +Summary: A python interface for accessing NetsBlox services +License: Apache 2.0 +URL: https://github.com/dragazo/NetsBlox-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/80/58/60d64ef211a5c06d4e414f8015a99c1489f9dcfe4f7cdd84e06ac8bc44a6/netsblox-0.5.14.tar.gz +BuildArch: noarch + +Requires: python3-darkdetect +Requires: python3-deprecation +Requires: python3-gelidum +Requires: python3-jedi +Requires: python3-nb2pb +Requires: python3-numpy +Requires: python3-parso +Requires: python3-pillow +Requires: python3-randomname +Requires: python3-requests +Requires: python3-websocket-client + +%description +# PyBlox + +NetsBlox is a block-based programming environment which has a focus on distributed computing and internet connectivity. +One of the core features of NetsBlox are _remote procedure calls_ (RPCs), which connect to the NetsBlox server and provide access to online resources such as databases, GoogleMaps, online translation, wireless robotics, mobile phone sensors/control, and more. + +PyBlox is an interface for accessing all [NetsBlox](https://netsblox.org/) services from within python. +You can import this package in any python program that has internet access and begin calling RPCs and sending/receiving messages! + +For more information about NetsBlox and the available services, see the official [NetsBlox Documentation](https://editor.netsblox.org/docs/index.html). + +# Example Usage + +Here's a short example to see how you can access the [`MaunaLoaCO2Data`](https://editor.netsblox.org/docs/services/MaunaLoaCO2Data/index.html) service from python. + +```py +import netsblox +nb = netsblox.Client() # create a client to access NetsBlox + +data = nb.mauna_loa_co2_data.get_co2_trend(2000, 2010) +print(data) +``` + +# Graphical Environment + +PyBlox, while useful on its own for accessing NetsBlox services, has a side goal of helping transition students from block-based languages like NetsBlox and Snap! into textual languages like python. +Because of this, PyBlox comes with a power graphical environment that supports most of the same features as NetsBlox/Snap!, as well as an IDE for creating python projects in a way that is still structured like a NetsBlox/Snap! project in both appearnance and concurrency model (closest approximation). + +These features are only activated when explicitly called, leaving the default behavior as a normal python package for accessing NetsBlox services. + +To launch the IDE, you can simply run PyBlox (`netsblox`) as a module: + +```sh +python -m netsblox +``` + +# Installation + +PyBlox is available as a pip package called `netsblox` (keep in mind that PyBlox is a python3 package, so you may need to use `pip3` if your `pip` still points to the python2 version). + +```sh +pip install netsblox +``` + +If you run into installation issues with the `nb2pb` dependency, follow the instruction [here](https://github.com/dragazo/nb2pb). +It is possible that there is not a wheel build for your platform and/or python version, which means that it must be compiled from source. +This requires installing [`cargo`](https://doc.rust-lang.org/cargo/getting-started/installation.html), after which you can reattempt installing `netsblox`. +If this solves your problem, feel free to [submit an issue](https://github.com/dragazo/PyBlox/issues/new) including your operating system and processor architecture. + +The following additional setup is required, depending on your operating system. + +## Windows + +_No additional install dependencies_ + +## Mac + +```sh +brew install python-tk +``` + +## Linux + +```sh +sudo apt install python3-pil python3-pil.imagetk +sudo apt install idle3 +``` + +# Structured Data + +Due to the limited type primitives in Snap!, one NetsBlox typing convention is "structured data", which is really just a list of lists (pairs) denoting (unique string) keys and values. +In the python interface, this is replaced by `dict` for both input and return value. +The python interface will automatically convert input `dict` values into lists of lists, and convert lists of lists return values into `dict` (where appropriate). +Note that this conversion is only performed by the static service wrappers like `Client.chart.default_options()`, and not for the dynamic invocation method: `Client.call('Chart', 'defaultOptions')`. + +# Naming Conventions + +The python names for services, functions, and input parameters are identical to those in the official [NetsBlox documentation](https://editor.netsblox.org/docs/index.html), except that they are converted into snake case to by more pythonic. +Of course, any modern editor will have some form of intellisense built in, so in practice this is a non-issue. + + + + +%package -n python3-netsblox +Summary: A python interface for accessing NetsBlox services +Provides: python-netsblox +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-netsblox +# PyBlox + +NetsBlox is a block-based programming environment which has a focus on distributed computing and internet connectivity. +One of the core features of NetsBlox are _remote procedure calls_ (RPCs), which connect to the NetsBlox server and provide access to online resources such as databases, GoogleMaps, online translation, wireless robotics, mobile phone sensors/control, and more. + +PyBlox is an interface for accessing all [NetsBlox](https://netsblox.org/) services from within python. +You can import this package in any python program that has internet access and begin calling RPCs and sending/receiving messages! + +For more information about NetsBlox and the available services, see the official [NetsBlox Documentation](https://editor.netsblox.org/docs/index.html). + +# Example Usage + +Here's a short example to see how you can access the [`MaunaLoaCO2Data`](https://editor.netsblox.org/docs/services/MaunaLoaCO2Data/index.html) service from python. + +```py +import netsblox +nb = netsblox.Client() # create a client to access NetsBlox + +data = nb.mauna_loa_co2_data.get_co2_trend(2000, 2010) +print(data) +``` + +# Graphical Environment + +PyBlox, while useful on its own for accessing NetsBlox services, has a side goal of helping transition students from block-based languages like NetsBlox and Snap! into textual languages like python. +Because of this, PyBlox comes with a power graphical environment that supports most of the same features as NetsBlox/Snap!, as well as an IDE for creating python projects in a way that is still structured like a NetsBlox/Snap! project in both appearnance and concurrency model (closest approximation). + +These features are only activated when explicitly called, leaving the default behavior as a normal python package for accessing NetsBlox services. + +To launch the IDE, you can simply run PyBlox (`netsblox`) as a module: + +```sh +python -m netsblox +``` + +# Installation + +PyBlox is available as a pip package called `netsblox` (keep in mind that PyBlox is a python3 package, so you may need to use `pip3` if your `pip` still points to the python2 version). + +```sh +pip install netsblox +``` + +If you run into installation issues with the `nb2pb` dependency, follow the instruction [here](https://github.com/dragazo/nb2pb). +It is possible that there is not a wheel build for your platform and/or python version, which means that it must be compiled from source. +This requires installing [`cargo`](https://doc.rust-lang.org/cargo/getting-started/installation.html), after which you can reattempt installing `netsblox`. +If this solves your problem, feel free to [submit an issue](https://github.com/dragazo/PyBlox/issues/new) including your operating system and processor architecture. + +The following additional setup is required, depending on your operating system. + +## Windows + +_No additional install dependencies_ + +## Mac + +```sh +brew install python-tk +``` + +## Linux + +```sh +sudo apt install python3-pil python3-pil.imagetk +sudo apt install idle3 +``` + +# Structured Data + +Due to the limited type primitives in Snap!, one NetsBlox typing convention is "structured data", which is really just a list of lists (pairs) denoting (unique string) keys and values. +In the python interface, this is replaced by `dict` for both input and return value. +The python interface will automatically convert input `dict` values into lists of lists, and convert lists of lists return values into `dict` (where appropriate). +Note that this conversion is only performed by the static service wrappers like `Client.chart.default_options()`, and not for the dynamic invocation method: `Client.call('Chart', 'defaultOptions')`. + +# Naming Conventions + +The python names for services, functions, and input parameters are identical to those in the official [NetsBlox documentation](https://editor.netsblox.org/docs/index.html), except that they are converted into snake case to by more pythonic. +Of course, any modern editor will have some form of intellisense built in, so in practice this is a non-issue. + + + + +%package help +Summary: Development documents and examples for netsblox +Provides: python3-netsblox-doc +%description help +# PyBlox + +NetsBlox is a block-based programming environment which has a focus on distributed computing and internet connectivity. +One of the core features of NetsBlox are _remote procedure calls_ (RPCs), which connect to the NetsBlox server and provide access to online resources such as databases, GoogleMaps, online translation, wireless robotics, mobile phone sensors/control, and more. + +PyBlox is an interface for accessing all [NetsBlox](https://netsblox.org/) services from within python. +You can import this package in any python program that has internet access and begin calling RPCs and sending/receiving messages! + +For more information about NetsBlox and the available services, see the official [NetsBlox Documentation](https://editor.netsblox.org/docs/index.html). + +# Example Usage + +Here's a short example to see how you can access the [`MaunaLoaCO2Data`](https://editor.netsblox.org/docs/services/MaunaLoaCO2Data/index.html) service from python. + +```py +import netsblox +nb = netsblox.Client() # create a client to access NetsBlox + +data = nb.mauna_loa_co2_data.get_co2_trend(2000, 2010) +print(data) +``` + +# Graphical Environment + +PyBlox, while useful on its own for accessing NetsBlox services, has a side goal of helping transition students from block-based languages like NetsBlox and Snap! into textual languages like python. +Because of this, PyBlox comes with a power graphical environment that supports most of the same features as NetsBlox/Snap!, as well as an IDE for creating python projects in a way that is still structured like a NetsBlox/Snap! project in both appearnance and concurrency model (closest approximation). + +These features are only activated when explicitly called, leaving the default behavior as a normal python package for accessing NetsBlox services. + +To launch the IDE, you can simply run PyBlox (`netsblox`) as a module: + +```sh +python -m netsblox +``` + +# Installation + +PyBlox is available as a pip package called `netsblox` (keep in mind that PyBlox is a python3 package, so you may need to use `pip3` if your `pip` still points to the python2 version). + +```sh +pip install netsblox +``` + +If you run into installation issues with the `nb2pb` dependency, follow the instruction [here](https://github.com/dragazo/nb2pb). +It is possible that there is not a wheel build for your platform and/or python version, which means that it must be compiled from source. +This requires installing [`cargo`](https://doc.rust-lang.org/cargo/getting-started/installation.html), after which you can reattempt installing `netsblox`. +If this solves your problem, feel free to [submit an issue](https://github.com/dragazo/PyBlox/issues/new) including your operating system and processor architecture. + +The following additional setup is required, depending on your operating system. + +## Windows + +_No additional install dependencies_ + +## Mac + +```sh +brew install python-tk +``` + +## Linux + +```sh +sudo apt install python3-pil python3-pil.imagetk +sudo apt install idle3 +``` + +# Structured Data + +Due to the limited type primitives in Snap!, one NetsBlox typing convention is "structured data", which is really just a list of lists (pairs) denoting (unique string) keys and values. +In the python interface, this is replaced by `dict` for both input and return value. +The python interface will automatically convert input `dict` values into lists of lists, and convert lists of lists return values into `dict` (where appropriate). +Note that this conversion is only performed by the static service wrappers like `Client.chart.default_options()`, and not for the dynamic invocation method: `Client.call('Chart', 'defaultOptions')`. + +# Naming Conventions + +The python names for services, functions, and input parameters are identical to those in the official [NetsBlox documentation](https://editor.netsblox.org/docs/index.html), except that they are converted into snake case to by more pythonic. +Of course, any modern editor will have some form of intellisense built in, so in practice this is a non-issue. + + + + +%prep +%autosetup -n netsblox-0.5.14 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-netsblox -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.14-1 +- Package Spec generated @@ -0,0 +1 @@ +c04afb4563e08f42d918dd90a4a638ed netsblox-0.5.14.tar.gz |