summaryrefslogtreecommitdiff
path: root/python-probed.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-probed.spec')
-rw-r--r--python-probed.spec402
1 files changed, 402 insertions, 0 deletions
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
+
+```
+
+<br>
+<br>
+<br>
+
+[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
+
+```
+
+<br>
+<br>
+<br>
+
+[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
+
+```
+
+<br>
+<br>
+<br>
+
+[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 <Python_Bot@openeuler.org> - 0.0.11-1
+- Package Spec generated