diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-10 13:02:53 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 13:02:53 +0000 |
| commit | 760ab59b83dfd354d8efe4adb06c4e46f92afd61 (patch) | |
| tree | 3482cdc750832a846a140bc6df5c173b14a8f48c /python-blackduck.spec | |
| parent | 29b2bc55b130301536bbd212d2fe4d0de26df161 (diff) | |
automatic import of python-blackduck
Diffstat (limited to 'python-blackduck.spec')
| -rw-r--r-- | python-blackduck.spec | 440 |
1 files changed, 440 insertions, 0 deletions
diff --git a/python-blackduck.spec b/python-blackduck.spec new file mode 100644 index 0000000..1a0bfe9 --- /dev/null +++ b/python-blackduck.spec @@ -0,0 +1,440 @@ +%global _empty_manifest_terminate_build 0 +Name: python-blackduck +Version: 1.1.0 +Release: 1 +Summary: Package for using the Synopsys Black Duck Hub REST API. +License: Apache +URL: https://github.com/blackducksoftware/hub-rest-api-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/5b/79/c6c6529ca5fd761faa01472d53240e2ae4cd8f94e57a17e07a7e44278a83/blackduck-1.1.0.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-dateutil + +%description + +# Overview + +The hub-rest-api-python provides Python bindings for Hub REST API. + +# Paging and Black Duck v2022.2 + +In v2022.2 of Black Duck the REST API introduced a max page size to protect system resource usage. See the Black Duck [release notes on Synopsys Community](https://community.synopsys.com/s/article/Black-Duck-Release-Notes) for the details of which API endpoints are affected. Users of the the python bindings here should leverage the Client interface which provides automatic paging support to make best use of these endpoints. + +**The old HubInstance interface and many of the examples using it do not perform paging and will break as a result of the changes in v2022.2**. + +Any issues related to the HubInstance Interface will be closed as *Won't Fix* + +Any PRs with new or modified example scripts/utilities **must** use the client interface. + +# New in 1.0.0 + +Introducing the new Client class. + +In order to provide a more robust long-term connection, faster performance, and an overall better experience a new +Client class has been designed. + +It is backed by a [Requests session](https://docs.python-requests.org/en/master/user/advanced/#session-objects) object. The user specifies a base URL, timeout, retries, proxies, and TLS verification upon initialization and these attributes are persisted across all requests. + +At the REST API level, the Client class provides a consistent way to discover and traverse public resources, uses a +[generator](https://wiki.python.org/moin/Generators) to fetch all items using pagination, and automatically renews the bearer token. + +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison) and also read the [Client User Guide](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-User-Guide) on the [Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki). + +### Important Notes +The old HubInstance (in HubRestApi.py) keeps its existing functionality for backwards compatibility and therefore does **not** currently leverage any of the new features in the Client class. + +We believe that the new features are compelling enough to strongly encourage users to consider moving from HubInstance to Client. +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison). + + +Please give it a try and let us know what you think! + +# To use + +``` +pip3 install blackduck +``` + +```python +from blackduck import Client +import logging +import os + +logging.basicConfig( + level=logging.INFO, + format="[%(asctime)s] {%(module)s:%(lineno)d} %(levelname)s - %(message)s" +) + +bd = Client( + token=os.environ.get('blackduck_token'), + base_url="https://your.blackduck.url", + # verify=False # TLS certificate verification +) + +for project in bd.get_resource(name='projects'): + print(project.get('name')) +``` + +### Examples + +Example code showing how to work with the new Client can be found in the *examples/client* folder. + +**Examples which use the old HubInstance interface -which is not maintained- are not guaranteed to work. Use at your own risk.** + +# Version History + +Including a version history on a go-forward basis. + +## v1.1.0 + +Retries will be attempted for all HTTP verbs, not just GET. + +# Test # + +Using [pytest](https://pytest.readthedocs.io/en/latest/contents.html) + +```bash +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +# optional but advisable: create/use virtualenv +# you should have 3.x+, e.g. Python 3.8.0+ + +pip3 install -r requirements.txt +pip3 install . +cd test +pytest +``` + +## Install package locally + +Do this when testing a new version. + +``` +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +pip3 install -r requirements.txt +pip3 install . +``` + +To uninstall: + +``` +pip3 uninstall blackduck +``` + +## Where can I get the latest release? ## +This package is available on PyPi: + +`pip3 install blackduck` + +## Documentation ## +Documentation for hub-rest-api-python can be found on the base project: +[Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki) + + + + + +%package -n python3-blackduck +Summary: Package for using the Synopsys Black Duck Hub REST API. +Provides: python-blackduck +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-blackduck + +# Overview + +The hub-rest-api-python provides Python bindings for Hub REST API. + +# Paging and Black Duck v2022.2 + +In v2022.2 of Black Duck the REST API introduced a max page size to protect system resource usage. See the Black Duck [release notes on Synopsys Community](https://community.synopsys.com/s/article/Black-Duck-Release-Notes) for the details of which API endpoints are affected. Users of the the python bindings here should leverage the Client interface which provides automatic paging support to make best use of these endpoints. + +**The old HubInstance interface and many of the examples using it do not perform paging and will break as a result of the changes in v2022.2**. + +Any issues related to the HubInstance Interface will be closed as *Won't Fix* + +Any PRs with new or modified example scripts/utilities **must** use the client interface. + +# New in 1.0.0 + +Introducing the new Client class. + +In order to provide a more robust long-term connection, faster performance, and an overall better experience a new +Client class has been designed. + +It is backed by a [Requests session](https://docs.python-requests.org/en/master/user/advanced/#session-objects) object. The user specifies a base URL, timeout, retries, proxies, and TLS verification upon initialization and these attributes are persisted across all requests. + +At the REST API level, the Client class provides a consistent way to discover and traverse public resources, uses a +[generator](https://wiki.python.org/moin/Generators) to fetch all items using pagination, and automatically renews the bearer token. + +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison) and also read the [Client User Guide](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-User-Guide) on the [Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki). + +### Important Notes +The old HubInstance (in HubRestApi.py) keeps its existing functionality for backwards compatibility and therefore does **not** currently leverage any of the new features in the Client class. + +We believe that the new features are compelling enough to strongly encourage users to consider moving from HubInstance to Client. +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison). + + +Please give it a try and let us know what you think! + +# To use + +``` +pip3 install blackduck +``` + +```python +from blackduck import Client +import logging +import os + +logging.basicConfig( + level=logging.INFO, + format="[%(asctime)s] {%(module)s:%(lineno)d} %(levelname)s - %(message)s" +) + +bd = Client( + token=os.environ.get('blackduck_token'), + base_url="https://your.blackduck.url", + # verify=False # TLS certificate verification +) + +for project in bd.get_resource(name='projects'): + print(project.get('name')) +``` + +### Examples + +Example code showing how to work with the new Client can be found in the *examples/client* folder. + +**Examples which use the old HubInstance interface -which is not maintained- are not guaranteed to work. Use at your own risk.** + +# Version History + +Including a version history on a go-forward basis. + +## v1.1.0 + +Retries will be attempted for all HTTP verbs, not just GET. + +# Test # + +Using [pytest](https://pytest.readthedocs.io/en/latest/contents.html) + +```bash +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +# optional but advisable: create/use virtualenv +# you should have 3.x+, e.g. Python 3.8.0+ + +pip3 install -r requirements.txt +pip3 install . +cd test +pytest +``` + +## Install package locally + +Do this when testing a new version. + +``` +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +pip3 install -r requirements.txt +pip3 install . +``` + +To uninstall: + +``` +pip3 uninstall blackduck +``` + +## Where can I get the latest release? ## +This package is available on PyPi: + +`pip3 install blackduck` + +## Documentation ## +Documentation for hub-rest-api-python can be found on the base project: +[Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki) + + + + + +%package help +Summary: Development documents and examples for blackduck +Provides: python3-blackduck-doc +%description help + +# Overview + +The hub-rest-api-python provides Python bindings for Hub REST API. + +# Paging and Black Duck v2022.2 + +In v2022.2 of Black Duck the REST API introduced a max page size to protect system resource usage. See the Black Duck [release notes on Synopsys Community](https://community.synopsys.com/s/article/Black-Duck-Release-Notes) for the details of which API endpoints are affected. Users of the the python bindings here should leverage the Client interface which provides automatic paging support to make best use of these endpoints. + +**The old HubInstance interface and many of the examples using it do not perform paging and will break as a result of the changes in v2022.2**. + +Any issues related to the HubInstance Interface will be closed as *Won't Fix* + +Any PRs with new or modified example scripts/utilities **must** use the client interface. + +# New in 1.0.0 + +Introducing the new Client class. + +In order to provide a more robust long-term connection, faster performance, and an overall better experience a new +Client class has been designed. + +It is backed by a [Requests session](https://docs.python-requests.org/en/master/user/advanced/#session-objects) object. The user specifies a base URL, timeout, retries, proxies, and TLS verification upon initialization and these attributes are persisted across all requests. + +At the REST API level, the Client class provides a consistent way to discover and traverse public resources, uses a +[generator](https://wiki.python.org/moin/Generators) to fetch all items using pagination, and automatically renews the bearer token. + +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison) and also read the [Client User Guide](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-User-Guide) on the [Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki). + +### Important Notes +The old HubInstance (in HubRestApi.py) keeps its existing functionality for backwards compatibility and therefore does **not** currently leverage any of the new features in the Client class. + +We believe that the new features are compelling enough to strongly encourage users to consider moving from HubInstance to Client. +See [Client versus HubInstance Comparison](https://github.com/blackducksoftware/hub-rest-api-python/wiki/Client-versus-HubInstance-Comparison). + + +Please give it a try and let us know what you think! + +# To use + +``` +pip3 install blackduck +``` + +```python +from blackduck import Client +import logging +import os + +logging.basicConfig( + level=logging.INFO, + format="[%(asctime)s] {%(module)s:%(lineno)d} %(levelname)s - %(message)s" +) + +bd = Client( + token=os.environ.get('blackduck_token'), + base_url="https://your.blackduck.url", + # verify=False # TLS certificate verification +) + +for project in bd.get_resource(name='projects'): + print(project.get('name')) +``` + +### Examples + +Example code showing how to work with the new Client can be found in the *examples/client* folder. + +**Examples which use the old HubInstance interface -which is not maintained- are not guaranteed to work. Use at your own risk.** + +# Version History + +Including a version history on a go-forward basis. + +## v1.1.0 + +Retries will be attempted for all HTTP verbs, not just GET. + +# Test # + +Using [pytest](https://pytest.readthedocs.io/en/latest/contents.html) + +```bash +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +# optional but advisable: create/use virtualenv +# you should have 3.x+, e.g. Python 3.8.0+ + +pip3 install -r requirements.txt +pip3 install . +cd test +pytest +``` + +## Install package locally + +Do this when testing a new version. + +``` +git clone https://github.com/blackducksoftware/hub-rest-api-python.git +cd hub-rest-api-python +pip3 install -r requirements.txt +pip3 install . +``` + +To uninstall: + +``` +pip3 uninstall blackduck +``` + +## Where can I get the latest release? ## +This package is available on PyPi: + +`pip3 install blackduck` + +## Documentation ## +Documentation for hub-rest-api-python can be found on the base project: +[Hub REST API Python Wiki](https://github.com/blackducksoftware/hub-rest-api-python/wiki) + + + + + +%prep +%autosetup -n blackduck-1.1.0 + +%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-blackduck -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1 +- Package Spec generated |
