summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-dsp-tools.spec319
-rw-r--r--sources1
3 files changed, 321 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c9ea5f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/dsp_tools-2.2.2.tar.gz
diff --git a/python-dsp-tools.spec b/python-dsp-tools.spec
new file mode 100644
index 0000000..710a905
--- /dev/null
+++ b/python-dsp-tools.spec
@@ -0,0 +1,319 @@
+%global _empty_manifest_terminate_build 0
+Name: python-dsp-tools
+Version: 2.2.2
+Release: 1
+Summary: DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.
+License: GPL-3.0-only
+URL: https://www.dasch.swiss/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2b/9b/26844ba5504db8e80a86f29cc1982467c76b432854b0b0597b3e67fc4c01/dsp_tools-2.2.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-jsonpath-ng
+Requires: python3-argparse
+Requires: python3-lxml
+Requires: python3-requests
+Requires: python3-jsonschema
+Requires: python3-openpyxl
+Requires: python3-networkx
+Requires: python3-pandas
+Requires: python3-xlrd
+Requires: python3-regex
+
+%description
+[![PyPI version](https://badge.fury.io/py/dsp-tools.svg)](https://badge.fury.io/py/dsp-tools)
+
+# DSP-TOOLS documentation
+
+DSP-TOOLS is a Python package with a command line interface
+that helps you interact with a DSP server.
+A DSP server is a remote server or a local machine
+where the [DSP-API](https://github.com/dasch-swiss/dsp-api) is running on.
+
+To install the latest version, run:
+
+```bash
+pip3 install dsp-tools
+```
+
+To update to the latest version run:
+
+```bash
+pip3 install --upgrade dsp-tools
+```
+
+The two main tasks that DSP-TOOLS serves for are:
+
+- **Create a project with its data model(s), described in a JSON file, on a DSP server**
+ In order to archive your data on the DaSCH Service Platform,
+ you need a data model that describes your data.
+ The data model is defined in a JSON project definition file
+ which has to be transmitted to the DSP server.
+ If the DSP server is aware of the data model for your project,
+ conforming data can be uploaded into the DSP repository.
+- **Upload data, described in an XML file, to a DSP server that has a project with a matching data model**
+ Sometimes, data is added in large quantities.
+ Therefore, DSP-TOOLS allows you to perform bulk imports of your data.
+ In order to do so, the data has to be described in an XML file.
+ DSP-TOOLS is able to read the XML file
+ and upload all data to the DSP server.
+
+All functionalities of DSP-TOOLS revolve around these two basic tasks.
+
+DSP-TOOLS provides the following functionalities:
+
+- [`dsp-tools create`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#create)
+ creates the project with its data model(s) on a DSP server from a JSON file.
+- [`dsp-tools get`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands#get)
+ reads a project with its data model(s) from
+ a DSP server and writes it into a JSON file.
+- [`dsp-tools xmlupload`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#xmlupload)
+ uploads data from an XML file (bulk data import)
+ and writes the mapping from internal IDs to IRIs into a local file.
+- [`dsp-tools excel2json`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2json)
+ creates an entire JSON project file from a folder with Excel files in it.
+ - [`dsp-tools excel2lists`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2lists)
+ creates the "lists" section of a JSON project file from one or several Excel files.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2resources`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2resources)
+ creates the "resources" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2properties`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2properties)
+ creates the "properties" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+- [`dsp-tools excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2xml)
+ transforms a data source to XML
+ if it is already structured according to the DSP specifications.
+- [The module `excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/excel2xml-module)
+ provides helper methods that can be used in a Python script
+ to convert data from a tabular format into XML.
+- [`dsp-tools id2iri`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#id2iri)
+ takes an XML file for bulk data import and replaces referenced internal IDs with IRIs.
+ The mapping has to be provided with a JSON file.
+- [`dsp-tools start-stack / stop-stack`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#start-stack)
+ assist you in running a DSP stack on your local machine.
+- [`dsp-tools template`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#template)
+ creates a template repository with a minimal JSON and XML file.
+- [`dsp-tools rosetta`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#rosetta)
+ clones the most up to data rosetta repository,
+ creates the data model and uploads the data.
+
+
+%package -n python3-dsp-tools
+Summary: DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.
+Provides: python-dsp-tools
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-dsp-tools
+[![PyPI version](https://badge.fury.io/py/dsp-tools.svg)](https://badge.fury.io/py/dsp-tools)
+
+# DSP-TOOLS documentation
+
+DSP-TOOLS is a Python package with a command line interface
+that helps you interact with a DSP server.
+A DSP server is a remote server or a local machine
+where the [DSP-API](https://github.com/dasch-swiss/dsp-api) is running on.
+
+To install the latest version, run:
+
+```bash
+pip3 install dsp-tools
+```
+
+To update to the latest version run:
+
+```bash
+pip3 install --upgrade dsp-tools
+```
+
+The two main tasks that DSP-TOOLS serves for are:
+
+- **Create a project with its data model(s), described in a JSON file, on a DSP server**
+ In order to archive your data on the DaSCH Service Platform,
+ you need a data model that describes your data.
+ The data model is defined in a JSON project definition file
+ which has to be transmitted to the DSP server.
+ If the DSP server is aware of the data model for your project,
+ conforming data can be uploaded into the DSP repository.
+- **Upload data, described in an XML file, to a DSP server that has a project with a matching data model**
+ Sometimes, data is added in large quantities.
+ Therefore, DSP-TOOLS allows you to perform bulk imports of your data.
+ In order to do so, the data has to be described in an XML file.
+ DSP-TOOLS is able to read the XML file
+ and upload all data to the DSP server.
+
+All functionalities of DSP-TOOLS revolve around these two basic tasks.
+
+DSP-TOOLS provides the following functionalities:
+
+- [`dsp-tools create`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#create)
+ creates the project with its data model(s) on a DSP server from a JSON file.
+- [`dsp-tools get`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands#get)
+ reads a project with its data model(s) from
+ a DSP server and writes it into a JSON file.
+- [`dsp-tools xmlupload`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#xmlupload)
+ uploads data from an XML file (bulk data import)
+ and writes the mapping from internal IDs to IRIs into a local file.
+- [`dsp-tools excel2json`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2json)
+ creates an entire JSON project file from a folder with Excel files in it.
+ - [`dsp-tools excel2lists`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2lists)
+ creates the "lists" section of a JSON project file from one or several Excel files.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2resources`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2resources)
+ creates the "resources" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2properties`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2properties)
+ creates the "properties" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+- [`dsp-tools excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2xml)
+ transforms a data source to XML
+ if it is already structured according to the DSP specifications.
+- [The module `excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/excel2xml-module)
+ provides helper methods that can be used in a Python script
+ to convert data from a tabular format into XML.
+- [`dsp-tools id2iri`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#id2iri)
+ takes an XML file for bulk data import and replaces referenced internal IDs with IRIs.
+ The mapping has to be provided with a JSON file.
+- [`dsp-tools start-stack / stop-stack`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#start-stack)
+ assist you in running a DSP stack on your local machine.
+- [`dsp-tools template`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#template)
+ creates a template repository with a minimal JSON and XML file.
+- [`dsp-tools rosetta`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#rosetta)
+ clones the most up to data rosetta repository,
+ creates the data model and uploads the data.
+
+
+%package help
+Summary: Development documents and examples for dsp-tools
+Provides: python3-dsp-tools-doc
+%description help
+[![PyPI version](https://badge.fury.io/py/dsp-tools.svg)](https://badge.fury.io/py/dsp-tools)
+
+# DSP-TOOLS documentation
+
+DSP-TOOLS is a Python package with a command line interface
+that helps you interact with a DSP server.
+A DSP server is a remote server or a local machine
+where the [DSP-API](https://github.com/dasch-swiss/dsp-api) is running on.
+
+To install the latest version, run:
+
+```bash
+pip3 install dsp-tools
+```
+
+To update to the latest version run:
+
+```bash
+pip3 install --upgrade dsp-tools
+```
+
+The two main tasks that DSP-TOOLS serves for are:
+
+- **Create a project with its data model(s), described in a JSON file, on a DSP server**
+ In order to archive your data on the DaSCH Service Platform,
+ you need a data model that describes your data.
+ The data model is defined in a JSON project definition file
+ which has to be transmitted to the DSP server.
+ If the DSP server is aware of the data model for your project,
+ conforming data can be uploaded into the DSP repository.
+- **Upload data, described in an XML file, to a DSP server that has a project with a matching data model**
+ Sometimes, data is added in large quantities.
+ Therefore, DSP-TOOLS allows you to perform bulk imports of your data.
+ In order to do so, the data has to be described in an XML file.
+ DSP-TOOLS is able to read the XML file
+ and upload all data to the DSP server.
+
+All functionalities of DSP-TOOLS revolve around these two basic tasks.
+
+DSP-TOOLS provides the following functionalities:
+
+- [`dsp-tools create`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#create)
+ creates the project with its data model(s) on a DSP server from a JSON file.
+- [`dsp-tools get`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands#get)
+ reads a project with its data model(s) from
+ a DSP server and writes it into a JSON file.
+- [`dsp-tools xmlupload`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#xmlupload)
+ uploads data from an XML file (bulk data import)
+ and writes the mapping from internal IDs to IRIs into a local file.
+- [`dsp-tools excel2json`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2json)
+ creates an entire JSON project file from a folder with Excel files in it.
+ - [`dsp-tools excel2lists`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2lists)
+ creates the "lists" section of a JSON project file from one or several Excel files.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2resources`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2resources)
+ creates the "resources" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+ - [`dsp-tools excel2properties`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2properties)
+ creates the "properties" section of a JSON project file from an Excel file.
+ The resulting section can be integrated into a JSON project file
+ and then be uploaded to a DSP server with `dsp-tools create`.
+- [`dsp-tools excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#excel2xml)
+ transforms a data source to XML
+ if it is already structured according to the DSP specifications.
+- [The module `excel2xml`](https://docs.dasch.swiss/latest/DSP-TOOLS/excel2xml-module)
+ provides helper methods that can be used in a Python script
+ to convert data from a tabular format into XML.
+- [`dsp-tools id2iri`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#id2iri)
+ takes an XML file for bulk data import and replaces referenced internal IDs with IRIs.
+ The mapping has to be provided with a JSON file.
+- [`dsp-tools start-stack / stop-stack`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#start-stack)
+ assist you in running a DSP stack on your local machine.
+- [`dsp-tools template`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#template)
+ creates a template repository with a minimal JSON and XML file.
+- [`dsp-tools rosetta`](https://docs.dasch.swiss/latest/DSP-TOOLS/cli-commands/#rosetta)
+ clones the most up to data rosetta repository,
+ creates the data model and uploads the data.
+
+
+%prep
+%autosetup -n dsp-tools-2.2.2
+
+%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-dsp-tools -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 2.2.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..579a9bf
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b599d3d9e9d33ecd0947f6494179e39a dsp_tools-2.2.2.tar.gz