From 467607f05c1f880cfab6029590c243c0e92b7acd Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 10 May 2023 06:53:05 +0000 Subject: automatic import of python-probed --- .gitignore | 1 + python-probed.spec | 402 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 404 insertions(+) create mode 100644 python-probed.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..777a443 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/probed-0.0.11.tar.gz diff --git a/python-probed.spec b/python-probed.spec new file mode 100644 index 0000000..3a306b8 --- /dev/null +++ b/python-probed.spec @@ -0,0 +1,402 @@ +%global _empty_manifest_terminate_build 0 +Name: python-probed +Version: 0.0.11 +Release: 1 +Summary: Probed collections +License: MIT +URL: https://github.com/pyrustic/probed +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/93/d7/44f901075cfbf3c2b637d8a6d3931281716f39f38b603e1455231a02d348/probed-0.0.11.tar.gz +BuildArch: noarch + + +%description +# Probed collections + +This project is part of the [Pyrustic Open Ecosystem](https://pyrustic.github.io). +> [Installation](#installation) . [Latest](https://github.com/pyrustic/probed/tags) . [Documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) + + +# Overview +Sometimes you need to know when the content of a data collection has changed. + +`Probed` is a library that exposes three classes: `ProbedDict`, `ProbedList` and `ProbedSet`. + +These classes are containers like the built-in Python containers (dict, list, set) which they subclass but with not a twist but two twists: + +- be notified when the content of your data collection changes (if you wish to be notified); +- being able to put a probe into data collection to do more than just be notified. + +Let's write a script to see `Probed` in action: + +```python +# script.py +from probed import ProbedList + + +def on_change(context): + msg = "\nThe {} operation changed the {} collection\n{}" + print(msg.format(context.operation, context.container, context.collection)) + + +plist = ProbedList(on_change=on_change) +plist.append("hi") +plist.insert(1, "friend") + +``` + +Let's run the script: + +```bash +$ python3 script.py + +The append operation changed the list collection +['hi'] + +The insert operation changed the list collection +['hi', 'friend'] +``` + +Now, let's discover what the `probe` feature does and how to use it: + +```python +# script.py +from probed import ProbedSet + + +def probe(context): + # this probe will lower strings added to the collection + # also, the object None isn't allowed in the collection + if context.operation == "add": + if context.item is None: + context = None + else: + context.item = context.item.lower() + return context + + +pset = ProbedSet(probe=probe) +# add items +pset.add("RED") +pset.add(None) +pset.add("Green") +# print +print(pset) # {'red', 'green'} + +``` + +In the last script, the `probe` was used to control the items added to the data collection. + +All operations that change the contents of the built-in containers are covered by `probed`. + +> **Read the [modules documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) !** + +# Related project +The **Shared** data exchange and persistence library uses `Probed` to implement the `autosave` feature ! + +> **Discover [Shared](https://github.com/pyrustic/shared) !** + + + +# Installation +**Probed** is **cross platform** and versions under **1.0.0** will be considered **Beta** at best. It is built on [Ubuntu](https://ubuntu.com/download/desktop) with [Python 3.8](https://www.python.org/downloads/) and should work on **Python 3.5** or **newer**. + +## For the first time + +```bash +$ pip install probed +``` + +## Upgrade +```bash +$ pip install probed --upgrade --upgrade-strategy eager + +``` + +
+
+
+ +[Back to top](#readme) + + + + + +%package -n python3-probed +Summary: Probed collections +Provides: python-probed +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-probed +# Probed collections + +This project is part of the [Pyrustic Open Ecosystem](https://pyrustic.github.io). +> [Installation](#installation) . [Latest](https://github.com/pyrustic/probed/tags) . [Documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) + + +# Overview +Sometimes you need to know when the content of a data collection has changed. + +`Probed` is a library that exposes three classes: `ProbedDict`, `ProbedList` and `ProbedSet`. + +These classes are containers like the built-in Python containers (dict, list, set) which they subclass but with not a twist but two twists: + +- be notified when the content of your data collection changes (if you wish to be notified); +- being able to put a probe into data collection to do more than just be notified. + +Let's write a script to see `Probed` in action: + +```python +# script.py +from probed import ProbedList + + +def on_change(context): + msg = "\nThe {} operation changed the {} collection\n{}" + print(msg.format(context.operation, context.container, context.collection)) + + +plist = ProbedList(on_change=on_change) +plist.append("hi") +plist.insert(1, "friend") + +``` + +Let's run the script: + +```bash +$ python3 script.py + +The append operation changed the list collection +['hi'] + +The insert operation changed the list collection +['hi', 'friend'] +``` + +Now, let's discover what the `probe` feature does and how to use it: + +```python +# script.py +from probed import ProbedSet + + +def probe(context): + # this probe will lower strings added to the collection + # also, the object None isn't allowed in the collection + if context.operation == "add": + if context.item is None: + context = None + else: + context.item = context.item.lower() + return context + + +pset = ProbedSet(probe=probe) +# add items +pset.add("RED") +pset.add(None) +pset.add("Green") +# print +print(pset) # {'red', 'green'} + +``` + +In the last script, the `probe` was used to control the items added to the data collection. + +All operations that change the contents of the built-in containers are covered by `probed`. + +> **Read the [modules documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) !** + +# Related project +The **Shared** data exchange and persistence library uses `Probed` to implement the `autosave` feature ! + +> **Discover [Shared](https://github.com/pyrustic/shared) !** + + + +# Installation +**Probed** is **cross platform** and versions under **1.0.0** will be considered **Beta** at best. It is built on [Ubuntu](https://ubuntu.com/download/desktop) with [Python 3.8](https://www.python.org/downloads/) and should work on **Python 3.5** or **newer**. + +## For the first time + +```bash +$ pip install probed +``` + +## Upgrade +```bash +$ pip install probed --upgrade --upgrade-strategy eager + +``` + +
+
+
+ +[Back to top](#readme) + + + + + +%package help +Summary: Development documents and examples for probed +Provides: python3-probed-doc +%description help +# Probed collections + +This project is part of the [Pyrustic Open Ecosystem](https://pyrustic.github.io). +> [Installation](#installation) . [Latest](https://github.com/pyrustic/probed/tags) . [Documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) + + +# Overview +Sometimes you need to know when the content of a data collection has changed. + +`Probed` is a library that exposes three classes: `ProbedDict`, `ProbedList` and `ProbedSet`. + +These classes are containers like the built-in Python containers (dict, list, set) which they subclass but with not a twist but two twists: + +- be notified when the content of your data collection changes (if you wish to be notified); +- being able to put a probe into data collection to do more than just be notified. + +Let's write a script to see `Probed` in action: + +```python +# script.py +from probed import ProbedList + + +def on_change(context): + msg = "\nThe {} operation changed the {} collection\n{}" + print(msg.format(context.operation, context.container, context.collection)) + + +plist = ProbedList(on_change=on_change) +plist.append("hi") +plist.insert(1, "friend") + +``` + +Let's run the script: + +```bash +$ python3 script.py + +The append operation changed the list collection +['hi'] + +The insert operation changed the list collection +['hi', 'friend'] +``` + +Now, let's discover what the `probe` feature does and how to use it: + +```python +# script.py +from probed import ProbedSet + + +def probe(context): + # this probe will lower strings added to the collection + # also, the object None isn't allowed in the collection + if context.operation == "add": + if context.item is None: + context = None + else: + context.item = context.item.lower() + return context + + +pset = ProbedSet(probe=probe) +# add items +pset.add("RED") +pset.add(None) +pset.add("Green") +# print +print(pset) # {'red', 'green'} + +``` + +In the last script, the `probe` was used to control the items added to the data collection. + +All operations that change the contents of the built-in containers are covered by `probed`. + +> **Read the [modules documentation](https://github.com/pyrustic/probed/tree/master/docs/modules#readme) !** + +# Related project +The **Shared** data exchange and persistence library uses `Probed` to implement the `autosave` feature ! + +> **Discover [Shared](https://github.com/pyrustic/shared) !** + + + +# Installation +**Probed** is **cross platform** and versions under **1.0.0** will be considered **Beta** at best. It is built on [Ubuntu](https://ubuntu.com/download/desktop) with [Python 3.8](https://www.python.org/downloads/) and should work on **Python 3.5** or **newer**. + +## For the first time + +```bash +$ pip install probed +``` + +## Upgrade +```bash +$ pip install probed --upgrade --upgrade-strategy eager + +``` + +
+
+
+ +[Back to top](#readme) + + + + + +%prep +%autosetup -n probed-0.0.11 + +%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-probed -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot - 0.0.11-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..4f39480 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +cb1c455861f73a5b66ce79b72d7041b1 probed-0.0.11.tar.gz -- cgit v1.2.3