summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 08:59:27 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 08:59:27 +0000
commit537851b0a3b49273ed2b34abcf907a529c6a9502 (patch)
tree50bbf1cb70784eb0579e2deb658201246f9500a6
parentaee31355a6ce2d1ceafac1469b5c39ea475b63c1 (diff)
automatic import of python-blastsight
-rw-r--r--.gitignore1
-rw-r--r--python-blastsight.spec445
-rw-r--r--sources1
3 files changed, 447 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..3268616 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/blastsight-0.10.3.tar.gz
diff --git a/python-blastsight.spec b/python-blastsight.spec
new file mode 100644
index 0000000..7ae26d2
--- /dev/null
+++ b/python-blastsight.spec
@@ -0,0 +1,445 @@
+%global _empty_manifest_terminate_build 0
+Name: python-blastsight
+Version: 0.10.3
+Release: 1
+Summary: A 3D visualization library oriented to mining applications
+License: MIT License
+URL: https://github.com/gsanhueza/BlastSight
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d5/7c/75715fa69106ae4637c743916c8d80c5385529da994a52157f195ac7dd3f/blastsight-0.10.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-numpy
+Requires: python3-dxfgrabber
+Requires: python3-PyOpenGL
+Requires: python3-pandas
+Requires: python3-qtpy
+Requires: python3-h5py
+Requires: python3-tables
+Requires: python3-meshcut
+Requires: python3-freetype-py
+Requires: python3-pyside2
+
+%description
+# BlastSight
+
+BlastSight is a 3D visualization software designed to aid in Mining research.
+
+![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png)
+
+## Installation
+
+You can install BlastSight with the following command:
+
+`pip install blastsight`
+
+BlastSight requires the Python implementation of Qt5, and uses
+`qtpy` to abstract backends.
+
+This means that you need to install a backend yourself, using either of these commands:
+
+- `pip install pyqt5`
+- `pip install pyside2`
+
+Both backends should work, but if you find errors using one backend, try with the other!
+You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy)
+for more information.
+
+## Usage
+
+Implemented in Python 3.7 and qtpy, it's useful as a library and as an application,
+so you can use it as a viewer, or integrate it to an application you're developing.
+
+### Application Mode
+
+Start the application with `python -m blastsight`.
+
+From there you can load elements with File > Load [element].
+
+More information in Help > Help.
+
+### Integrable Mode
+
+You can embed BlastSight's viewer within your application.
+
+Check the following code and adapt it to your needs.
+
+```python
+from qtpy.QtWidgets import QApplication
+from qtpy.QtWidgets import QWidget
+from qtpy.QtWidgets import QGridLayout
+from blastsight.view.integrableviewer import IntegrableViewer
+
+
+class EmbeddedViewer(QWidget):
+ def __init__(self, parent=None):
+ super().__init__(parent)
+ self.setWindowTitle('EmbeddedViewer')
+ self.resize(800, 600)
+ self.viewer = IntegrableViewer(self)
+ self.layout = QGridLayout(self)
+ self.layout.addWidget(self.viewer, 0, 0, 1, 1)
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ embedded = EmbeddedViewer()
+ embedded.show()
+ app.exec_()
+```
+
+### Viewer Mode
+
+You can also use BlastSight as a simple viewer when you write your own script.
+
+Insert the following lines in your script:
+
+```python
+from blastsight.view.viewer import Viewer
+viewer = Viewer()
+
+# Your code
+
+viewer.show()
+```
+
+## Basic API
+
+The following methods can be used to render your elements directly.
+Keep in mind that these methods receive their arguments as *kwargs*, they're not positional.
+
+```python
+# Mesh
+viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool)
+
+# Blocks
+viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str)
+
+# Points
+viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str)
+
+# Lines
+viewer.lines(x: list, y: list, z: list, color: list, loop: bool)
+
+# Tubes
+viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int)
+```
+
+Notes:
+
+* An additional 'name' *kwargs* can be used to give each element a name.
+* For **every** element, you can replace (x, y, z) with *vertices*, which is a list
+of positions, where each position is a list of (x, y, z).
+* For **meshes**, the *indices* argument is a list of index, where index is a list of
+(i1, i2, i3).
+* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*,
+which is a list of colors for each position, where each color is a list of (r, g, b),
+between 0.0 and 1.0.
+
+## Examples
+
+BlastSight comes with a folder of examples that show what you can do with it.
+
+It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/
+to develop an idea of how to use this software.
+
+
+%package -n python3-blastsight
+Summary: A 3D visualization library oriented to mining applications
+Provides: python-blastsight
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-blastsight
+# BlastSight
+
+BlastSight is a 3D visualization software designed to aid in Mining research.
+
+![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png)
+
+## Installation
+
+You can install BlastSight with the following command:
+
+`pip install blastsight`
+
+BlastSight requires the Python implementation of Qt5, and uses
+`qtpy` to abstract backends.
+
+This means that you need to install a backend yourself, using either of these commands:
+
+- `pip install pyqt5`
+- `pip install pyside2`
+
+Both backends should work, but if you find errors using one backend, try with the other!
+You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy)
+for more information.
+
+## Usage
+
+Implemented in Python 3.7 and qtpy, it's useful as a library and as an application,
+so you can use it as a viewer, or integrate it to an application you're developing.
+
+### Application Mode
+
+Start the application with `python -m blastsight`.
+
+From there you can load elements with File > Load [element].
+
+More information in Help > Help.
+
+### Integrable Mode
+
+You can embed BlastSight's viewer within your application.
+
+Check the following code and adapt it to your needs.
+
+```python
+from qtpy.QtWidgets import QApplication
+from qtpy.QtWidgets import QWidget
+from qtpy.QtWidgets import QGridLayout
+from blastsight.view.integrableviewer import IntegrableViewer
+
+
+class EmbeddedViewer(QWidget):
+ def __init__(self, parent=None):
+ super().__init__(parent)
+ self.setWindowTitle('EmbeddedViewer')
+ self.resize(800, 600)
+ self.viewer = IntegrableViewer(self)
+ self.layout = QGridLayout(self)
+ self.layout.addWidget(self.viewer, 0, 0, 1, 1)
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ embedded = EmbeddedViewer()
+ embedded.show()
+ app.exec_()
+```
+
+### Viewer Mode
+
+You can also use BlastSight as a simple viewer when you write your own script.
+
+Insert the following lines in your script:
+
+```python
+from blastsight.view.viewer import Viewer
+viewer = Viewer()
+
+# Your code
+
+viewer.show()
+```
+
+## Basic API
+
+The following methods can be used to render your elements directly.
+Keep in mind that these methods receive their arguments as *kwargs*, they're not positional.
+
+```python
+# Mesh
+viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool)
+
+# Blocks
+viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str)
+
+# Points
+viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str)
+
+# Lines
+viewer.lines(x: list, y: list, z: list, color: list, loop: bool)
+
+# Tubes
+viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int)
+```
+
+Notes:
+
+* An additional 'name' *kwargs* can be used to give each element a name.
+* For **every** element, you can replace (x, y, z) with *vertices*, which is a list
+of positions, where each position is a list of (x, y, z).
+* For **meshes**, the *indices* argument is a list of index, where index is a list of
+(i1, i2, i3).
+* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*,
+which is a list of colors for each position, where each color is a list of (r, g, b),
+between 0.0 and 1.0.
+
+## Examples
+
+BlastSight comes with a folder of examples that show what you can do with it.
+
+It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/
+to develop an idea of how to use this software.
+
+
+%package help
+Summary: Development documents and examples for blastsight
+Provides: python3-blastsight-doc
+%description help
+# BlastSight
+
+BlastSight is a 3D visualization software designed to aid in Mining research.
+
+![blastsight](https://users.dcc.uchile.cl/~gsanhuez/blastsight_app.png)
+
+## Installation
+
+You can install BlastSight with the following command:
+
+`pip install blastsight`
+
+BlastSight requires the Python implementation of Qt5, and uses
+`qtpy` to abstract backends.
+
+This means that you need to install a backend yourself, using either of these commands:
+
+- `pip install pyqt5`
+- `pip install pyside2`
+
+Both backends should work, but if you find errors using one backend, try with the other!
+You can read the documentation from [qtpy](https://github.com/spyder-ide/qtpy)
+for more information.
+
+## Usage
+
+Implemented in Python 3.7 and qtpy, it's useful as a library and as an application,
+so you can use it as a viewer, or integrate it to an application you're developing.
+
+### Application Mode
+
+Start the application with `python -m blastsight`.
+
+From there you can load elements with File > Load [element].
+
+More information in Help > Help.
+
+### Integrable Mode
+
+You can embed BlastSight's viewer within your application.
+
+Check the following code and adapt it to your needs.
+
+```python
+from qtpy.QtWidgets import QApplication
+from qtpy.QtWidgets import QWidget
+from qtpy.QtWidgets import QGridLayout
+from blastsight.view.integrableviewer import IntegrableViewer
+
+
+class EmbeddedViewer(QWidget):
+ def __init__(self, parent=None):
+ super().__init__(parent)
+ self.setWindowTitle('EmbeddedViewer')
+ self.resize(800, 600)
+ self.viewer = IntegrableViewer(self)
+ self.layout = QGridLayout(self)
+ self.layout.addWidget(self.viewer, 0, 0, 1, 1)
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ embedded = EmbeddedViewer()
+ embedded.show()
+ app.exec_()
+```
+
+### Viewer Mode
+
+You can also use BlastSight as a simple viewer when you write your own script.
+
+Insert the following lines in your script:
+
+```python
+from blastsight.view.viewer import Viewer
+viewer = Viewer()
+
+# Your code
+
+viewer.show()
+```
+
+## Basic API
+
+The following methods can be used to render your elements directly.
+Keep in mind that these methods receive their arguments as *kwargs*, they're not positional.
+
+```python
+# Mesh
+viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool)
+
+# Blocks
+viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str)
+
+# Points
+viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str)
+
+# Lines
+viewer.lines(x: list, y: list, z: list, color: list, loop: bool)
+
+# Tubes
+viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int)
+```
+
+Notes:
+
+* An additional 'name' *kwargs* can be used to give each element a name.
+* For **every** element, you can replace (x, y, z) with *vertices*, which is a list
+of positions, where each position is a list of (x, y, z).
+* For **meshes**, the *indices* argument is a list of index, where index is a list of
+(i1, i2, i3).
+* For **blocks** and **points** you can replace (values, vmin, vmax) with *color*,
+which is a list of colors for each position, where each color is a list of (r, g, b),
+between 0.0 and 1.0.
+
+## Examples
+
+BlastSight comes with a folder of examples that show what you can do with it.
+
+It's recommended to check `examples/demo.py` in https://github.com/gsanhueza/BlastSight/
+to develop an idea of how to use this software.
+
+
+%prep
+%autosetup -n blastsight-0.10.3
+
+%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-blastsight -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.10.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..f416bb0
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+95e6a75e9c80e7b1721bcc47fa026230 blastsight-0.10.3.tar.gz