summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 09:56:04 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 09:56:04 +0000
commitad356492eec58eb64795a4d50807897127ec0dd9 (patch)
tree54434ceb951a5ed49ffb1d32b021cdf2bdbe54ad
parent681a6c762d42e2231b7c1cd5950b6ac6a55d3ddf (diff)
automatic import of python-neuroglancer
-rw-r--r--.gitignore1
-rw-r--r--python-neuroglancer.spec604
-rw-r--r--sources1
3 files changed, 606 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..a9393b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/neuroglancer-2.36.tar.gz
diff --git a/python-neuroglancer.spec b/python-neuroglancer.spec
new file mode 100644
index 0000000..5ce0df3
--- /dev/null
+++ b/python-neuroglancer.spec
@@ -0,0 +1,604 @@
+%global _empty_manifest_terminate_build 0
+Name: python-neuroglancer
+Version: 2.36
+Release: 1
+Summary: Python data backend for neuroglancer, a WebGL-based viewer for volumetric data
+License: Apache License 2.0
+URL: https://github.com/google/neuroglancer
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c9/4c/0b433830d596f94151700a426d3d40862147046f251331dd12a82538d324/neuroglancer-2.36.tar.gz
+
+Requires: python3-Pillow
+Requires: python3-numpy
+Requires: python3-requests
+Requires: python3-tornado
+Requires: python3-six
+Requires: python3-google-apitools
+Requires: python3-google-auth
+Requires: python3-atomicwrites
+Requires: python3-typing-extensions
+Requires: python3-pytest
+Requires: python3-pytest-rerunfailures
+Requires: python3-pytest-timeout
+Requires: python3-selenium
+Requires: python3-webdriver-manager
+
+%description
+# Neuroglancer Python Integration
+
+This package provides a Python interface for controlling
+[Neuroglancer](https://github.com/google/neuroglancer), a web-based 3-d
+volumetric data viewer.
+
+The following features are supported:
+ - Viewing in-memory NumPy arrays (or any other array type with a similar
+ interface, including HDF5 arrays loaded through h5py)
+ - Reading and writing the Neuroglancer viewer state from Python
+ - Changing Neuroglancer key and mouse bindings
+ - Defining actions (to be triggered by key or mouse bindings) that cause a
+ Python callback to be invoked.
+
+It starts a local web server for communicating state changes using sockjs,
+serving a copy of the Neuroglancer client code, and for serving data to the
+Neuroglancer client if Python data sources are used.
+
+## Installation
+
+It is recommended that you activate a suitable Python virtual environment before installing.
+
+Python 3.5 or later is required.
+
+You can install the latest published package from [PyPI](https://pypi.org/project/neuroglancer)
+with:
+
+```shell
+pip install neuroglancer
+```
+
+In most cases, this will use a prebuilt binary wheel, which requires neither node.js (to build the
+Neuroglancer client) nor a C++ compiler. If no binary wheel is available for your platform, a
+source distribution (sdist) will be used instead, which requires a C++ compiler to build but does
+not require node.js (the source distribution includes a prebuilt copy of the Neuroglancer client).
+
+### Direct installation from remote git repository
+
+To install the latest version from the Neuroglancer git repository, you can use:
+
+```shell
+pip install git+https://github.com/google/neuroglancer
+```
+
+Note that installing from a git repository requires Node.js and a C++ compiler.
+
+To install a specific commit `XXXXXXXXX`:
+
+```shell
+pip install git+https://github.com/google/neuroglancer@XXXXXXXXX
+```
+
+In another Python package, you can declare a dependency on a git version using the syntax:
+
+```python
+setup(
+ name='<package>',
+ ...,
+ install_requires=[
+ ...,
+ 'neuroglancer @ git+https://github.com/google/neuroglancer@XXXXXXXXX',
+ ],
+)
+```
+
+### Installation from local checkout of git repository
+
+You can also install from a local checkout of the git repository. Two forms of installation are
+supported: normal installation, and an editable installation for development purposes.
+
+As with installation from a remote git repository, installation from a local checkout requires
+Node.js to build the Neuroglancer client and a C++ compiler to build the C++ mesh generation
+extension module.
+
+#### Normal installation
+
+For normal installation, run the following from the root of the repository:
+
+```shell
+python setup.py install
+```
+
+That will automatically build the Neuroglancer client using Node.js if it has not already been built
+(i.e. if `neuroglancer/static/index.html` does not exist). To rebuild the Neuroglancer client
+explicitly, you can use:
+
+```shell
+python setup.py bundle_client
+```
+
+or
+
+```shell
+npm run build-python
+```
+
+Note: Installing from a local checkout using `pip install .` also works, but it may be slower
+because it makes a full copy of the local directory (https://github.com/pypa/pip/pull/7882),
+including the possibly-large `.git` and `node_modules` directories.
+
+#### Editable installation (for development purposes)
+
+During development, an *editable* installation allows the package to be imported directly from the
+local checkout directory:
+
+```shell
+pip install -e .
+```
+
+Any changes you make to the .py source files take effect the next time the package is imported,
+without the need to reinstall. If you make changes to the Neuroglancer client, you still need to
+rebuild it with `npm run build-python`. You can also keep the Neuroglancer client continuously
+up-to-date by running `npm run dev-server-python`.
+
+## Examples
+
+See the example programs in the [examples/](examples/) directory. Run them
+using the Python interpreter in interactive mode, e.g.
+
+```shell
+python -i example.py
+```
+
+or using the IPython magic command
+
+```
+%run -i python.py
+```
+
+Do not run an example non-interactively as
+
+```shell
+python example.py
+```
+because then the server will exit immediately.
+
+## Mesh generation
+
+For in-memory segmentation volumes, mesh representations of the surface of each
+object can be generated on-demand as they are requested by the client (e.g. due
+to the user selecting a segment)
+
+## Security
+
+By default the server binds only to the `127.0.0.1` address, and for protection
+against cross-site scripting attacks only accepts requests that include a valid
+randomly-generated 160-bit secret key.
+
+## Test suite
+
+The test suite can be run using the `tox` command. Some of the tests require a WebGL2-enabled web
+browser in order to test interaction with the Neuroglancer client. Both Chrome and Firefox are
+supported, but currently due to bugs in Swiftshader, Chrome Headless does not work. Firefox
+Headless also currently does not support WebGL at all. On Linux, you can successfully run the tests
+headlessly on Firefox using `xvfb-run`. On other platforms, tests can't be run headlessly.
+
+```shell
+# For headless using Firefox on xvfb (Linux only)
+sudo apt-get instrall xvfb # On Debian-based systems
+tox -e firefox-xvfb # Run tests using non-headless Firefox
+
+# For non-headless using Chrome
+tox -e chrome
+
+# For non-headless using Firefox
+tox -e firefox
+
+# To run only tests that do not require a browser
+tox -e skip-browser-tests
+```
+
+Refer to [tox.ini](../tox.ini) for details of the test procedure.
+
+
+%package -n python3-neuroglancer
+Summary: Python data backend for neuroglancer, a WebGL-based viewer for volumetric data
+Provides: python-neuroglancer
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-neuroglancer
+# Neuroglancer Python Integration
+
+This package provides a Python interface for controlling
+[Neuroglancer](https://github.com/google/neuroglancer), a web-based 3-d
+volumetric data viewer.
+
+The following features are supported:
+ - Viewing in-memory NumPy arrays (or any other array type with a similar
+ interface, including HDF5 arrays loaded through h5py)
+ - Reading and writing the Neuroglancer viewer state from Python
+ - Changing Neuroglancer key and mouse bindings
+ - Defining actions (to be triggered by key or mouse bindings) that cause a
+ Python callback to be invoked.
+
+It starts a local web server for communicating state changes using sockjs,
+serving a copy of the Neuroglancer client code, and for serving data to the
+Neuroglancer client if Python data sources are used.
+
+## Installation
+
+It is recommended that you activate a suitable Python virtual environment before installing.
+
+Python 3.5 or later is required.
+
+You can install the latest published package from [PyPI](https://pypi.org/project/neuroglancer)
+with:
+
+```shell
+pip install neuroglancer
+```
+
+In most cases, this will use a prebuilt binary wheel, which requires neither node.js (to build the
+Neuroglancer client) nor a C++ compiler. If no binary wheel is available for your platform, a
+source distribution (sdist) will be used instead, which requires a C++ compiler to build but does
+not require node.js (the source distribution includes a prebuilt copy of the Neuroglancer client).
+
+### Direct installation from remote git repository
+
+To install the latest version from the Neuroglancer git repository, you can use:
+
+```shell
+pip install git+https://github.com/google/neuroglancer
+```
+
+Note that installing from a git repository requires Node.js and a C++ compiler.
+
+To install a specific commit `XXXXXXXXX`:
+
+```shell
+pip install git+https://github.com/google/neuroglancer@XXXXXXXXX
+```
+
+In another Python package, you can declare a dependency on a git version using the syntax:
+
+```python
+setup(
+ name='<package>',
+ ...,
+ install_requires=[
+ ...,
+ 'neuroglancer @ git+https://github.com/google/neuroglancer@XXXXXXXXX',
+ ],
+)
+```
+
+### Installation from local checkout of git repository
+
+You can also install from a local checkout of the git repository. Two forms of installation are
+supported: normal installation, and an editable installation for development purposes.
+
+As with installation from a remote git repository, installation from a local checkout requires
+Node.js to build the Neuroglancer client and a C++ compiler to build the C++ mesh generation
+extension module.
+
+#### Normal installation
+
+For normal installation, run the following from the root of the repository:
+
+```shell
+python setup.py install
+```
+
+That will automatically build the Neuroglancer client using Node.js if it has not already been built
+(i.e. if `neuroglancer/static/index.html` does not exist). To rebuild the Neuroglancer client
+explicitly, you can use:
+
+```shell
+python setup.py bundle_client
+```
+
+or
+
+```shell
+npm run build-python
+```
+
+Note: Installing from a local checkout using `pip install .` also works, but it may be slower
+because it makes a full copy of the local directory (https://github.com/pypa/pip/pull/7882),
+including the possibly-large `.git` and `node_modules` directories.
+
+#### Editable installation (for development purposes)
+
+During development, an *editable* installation allows the package to be imported directly from the
+local checkout directory:
+
+```shell
+pip install -e .
+```
+
+Any changes you make to the .py source files take effect the next time the package is imported,
+without the need to reinstall. If you make changes to the Neuroglancer client, you still need to
+rebuild it with `npm run build-python`. You can also keep the Neuroglancer client continuously
+up-to-date by running `npm run dev-server-python`.
+
+## Examples
+
+See the example programs in the [examples/](examples/) directory. Run them
+using the Python interpreter in interactive mode, e.g.
+
+```shell
+python -i example.py
+```
+
+or using the IPython magic command
+
+```
+%run -i python.py
+```
+
+Do not run an example non-interactively as
+
+```shell
+python example.py
+```
+because then the server will exit immediately.
+
+## Mesh generation
+
+For in-memory segmentation volumes, mesh representations of the surface of each
+object can be generated on-demand as they are requested by the client (e.g. due
+to the user selecting a segment)
+
+## Security
+
+By default the server binds only to the `127.0.0.1` address, and for protection
+against cross-site scripting attacks only accepts requests that include a valid
+randomly-generated 160-bit secret key.
+
+## Test suite
+
+The test suite can be run using the `tox` command. Some of the tests require a WebGL2-enabled web
+browser in order to test interaction with the Neuroglancer client. Both Chrome and Firefox are
+supported, but currently due to bugs in Swiftshader, Chrome Headless does not work. Firefox
+Headless also currently does not support WebGL at all. On Linux, you can successfully run the tests
+headlessly on Firefox using `xvfb-run`. On other platforms, tests can't be run headlessly.
+
+```shell
+# For headless using Firefox on xvfb (Linux only)
+sudo apt-get instrall xvfb # On Debian-based systems
+tox -e firefox-xvfb # Run tests using non-headless Firefox
+
+# For non-headless using Chrome
+tox -e chrome
+
+# For non-headless using Firefox
+tox -e firefox
+
+# To run only tests that do not require a browser
+tox -e skip-browser-tests
+```
+
+Refer to [tox.ini](../tox.ini) for details of the test procedure.
+
+
+%package help
+Summary: Development documents and examples for neuroglancer
+Provides: python3-neuroglancer-doc
+%description help
+# Neuroglancer Python Integration
+
+This package provides a Python interface for controlling
+[Neuroglancer](https://github.com/google/neuroglancer), a web-based 3-d
+volumetric data viewer.
+
+The following features are supported:
+ - Viewing in-memory NumPy arrays (or any other array type with a similar
+ interface, including HDF5 arrays loaded through h5py)
+ - Reading and writing the Neuroglancer viewer state from Python
+ - Changing Neuroglancer key and mouse bindings
+ - Defining actions (to be triggered by key or mouse bindings) that cause a
+ Python callback to be invoked.
+
+It starts a local web server for communicating state changes using sockjs,
+serving a copy of the Neuroglancer client code, and for serving data to the
+Neuroglancer client if Python data sources are used.
+
+## Installation
+
+It is recommended that you activate a suitable Python virtual environment before installing.
+
+Python 3.5 or later is required.
+
+You can install the latest published package from [PyPI](https://pypi.org/project/neuroglancer)
+with:
+
+```shell
+pip install neuroglancer
+```
+
+In most cases, this will use a prebuilt binary wheel, which requires neither node.js (to build the
+Neuroglancer client) nor a C++ compiler. If no binary wheel is available for your platform, a
+source distribution (sdist) will be used instead, which requires a C++ compiler to build but does
+not require node.js (the source distribution includes a prebuilt copy of the Neuroglancer client).
+
+### Direct installation from remote git repository
+
+To install the latest version from the Neuroglancer git repository, you can use:
+
+```shell
+pip install git+https://github.com/google/neuroglancer
+```
+
+Note that installing from a git repository requires Node.js and a C++ compiler.
+
+To install a specific commit `XXXXXXXXX`:
+
+```shell
+pip install git+https://github.com/google/neuroglancer@XXXXXXXXX
+```
+
+In another Python package, you can declare a dependency on a git version using the syntax:
+
+```python
+setup(
+ name='<package>',
+ ...,
+ install_requires=[
+ ...,
+ 'neuroglancer @ git+https://github.com/google/neuroglancer@XXXXXXXXX',
+ ],
+)
+```
+
+### Installation from local checkout of git repository
+
+You can also install from a local checkout of the git repository. Two forms of installation are
+supported: normal installation, and an editable installation for development purposes.
+
+As with installation from a remote git repository, installation from a local checkout requires
+Node.js to build the Neuroglancer client and a C++ compiler to build the C++ mesh generation
+extension module.
+
+#### Normal installation
+
+For normal installation, run the following from the root of the repository:
+
+```shell
+python setup.py install
+```
+
+That will automatically build the Neuroglancer client using Node.js if it has not already been built
+(i.e. if `neuroglancer/static/index.html` does not exist). To rebuild the Neuroglancer client
+explicitly, you can use:
+
+```shell
+python setup.py bundle_client
+```
+
+or
+
+```shell
+npm run build-python
+```
+
+Note: Installing from a local checkout using `pip install .` also works, but it may be slower
+because it makes a full copy of the local directory (https://github.com/pypa/pip/pull/7882),
+including the possibly-large `.git` and `node_modules` directories.
+
+#### Editable installation (for development purposes)
+
+During development, an *editable* installation allows the package to be imported directly from the
+local checkout directory:
+
+```shell
+pip install -e .
+```
+
+Any changes you make to the .py source files take effect the next time the package is imported,
+without the need to reinstall. If you make changes to the Neuroglancer client, you still need to
+rebuild it with `npm run build-python`. You can also keep the Neuroglancer client continuously
+up-to-date by running `npm run dev-server-python`.
+
+## Examples
+
+See the example programs in the [examples/](examples/) directory. Run them
+using the Python interpreter in interactive mode, e.g.
+
+```shell
+python -i example.py
+```
+
+or using the IPython magic command
+
+```
+%run -i python.py
+```
+
+Do not run an example non-interactively as
+
+```shell
+python example.py
+```
+because then the server will exit immediately.
+
+## Mesh generation
+
+For in-memory segmentation volumes, mesh representations of the surface of each
+object can be generated on-demand as they are requested by the client (e.g. due
+to the user selecting a segment)
+
+## Security
+
+By default the server binds only to the `127.0.0.1` address, and for protection
+against cross-site scripting attacks only accepts requests that include a valid
+randomly-generated 160-bit secret key.
+
+## Test suite
+
+The test suite can be run using the `tox` command. Some of the tests require a WebGL2-enabled web
+browser in order to test interaction with the Neuroglancer client. Both Chrome and Firefox are
+supported, but currently due to bugs in Swiftshader, Chrome Headless does not work. Firefox
+Headless also currently does not support WebGL at all. On Linux, you can successfully run the tests
+headlessly on Firefox using `xvfb-run`. On other platforms, tests can't be run headlessly.
+
+```shell
+# For headless using Firefox on xvfb (Linux only)
+sudo apt-get instrall xvfb # On Debian-based systems
+tox -e firefox-xvfb # Run tests using non-headless Firefox
+
+# For non-headless using Chrome
+tox -e chrome
+
+# For non-headless using Firefox
+tox -e firefox
+
+# To run only tests that do not require a browser
+tox -e skip-browser-tests
+```
+
+Refer to [tox.ini](../tox.ini) for details of the test procedure.
+
+
+%prep
+%autosetup -n neuroglancer-2.36
+
+%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-neuroglancer -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.36-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..11f4256
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d59f7f34b1eb0e85657c4ed378b94b7b neuroglancer-2.36.tar.gz