diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-rita-dsl.spec | 307 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 309 insertions, 0 deletions
@@ -0,0 +1 @@ +/rita-dsl-0.7.4.tar.gz diff --git a/python-rita-dsl.spec b/python-rita-dsl.spec new file mode 100644 index 0000000..abaf227 --- /dev/null +++ b/python-rita-dsl.spec @@ -0,0 +1,307 @@ +%global _empty_manifest_terminate_build 0 +Name: python-rita-dsl +Version: 0.7.4 +Release: 1 +Summary: DSL for building language rules +License: MIT +URL: https://github.com/zaibacu/rita-dsl +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/57/02/23f3c8717ce24ca373b448165c743ea314832f1f8fa1533e939f11b4c3ef/rita-dsl-0.7.4.tar.gz +BuildArch: noarch + +Requires: python3-ply + +%description + + +# RITA DSL + +[](http://rita-dsl.readthedocs.io/?badge=latest) +[](https://codecov.io/gh/zaibacu/rita-dsl) +[](https://www.python.org/) +[](https://github.com/zaibacu/rita-dsl/graphs/commit-activity) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://github.com/zaibacu/rita-dsl/blob/master/LICENSE) + +This is a language, loosely based on language [Apache UIMA RUTA](https://uima.apache.org/ruta.html), focused on writing manual language rules, which compiles into either [spaCy](https://github.com/explosion/spaCy) compatible patterns, or pure regex. These patterns can be used for doing [manual NER](https://spacy.io/api/entityruler) as well as used in other processes, like retokenizing and pure matching + +## An Introduction Video +[](https://www.youtube.com/watch?v=GScerMeWz68) + +## Links +- [Website](https://rita-dsl.io/) +- [Live Demo](https://rita-dsl.io/#demo) +- [Simple Chat bot example](https://repl.it/talk/share/Simple-chatbot-done-with-Rita/53471) +- [Documentation](http://rita-dsl.readthedocs.io/) +- [QuickStart](https://rita-dsl.readthedocs.io/en/latest/quickstart/) +- [Language Syntax Plugin for IntelijJ based IDEs](https://plugins.jetbrains.com/plugin/15011-rita-language) + +## Support + +[](https://www.reddit.com/r/ritaDSL/) +[](https://gitter.im/rita-dsl/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +## Install + +`pip install rita-dsl` + +## Simple Rules example + +```python +rules = """ +cuts = {"fitted", "wide-cut"} +lengths = {"short", "long", "calf-length", "knee-length"} +fabric_types = {"soft", "airy", "crinkled"} +fabrics = {"velour", "chiffon", "knit", "woven", "stretch"} + +{IN_LIST(cuts)?, IN_LIST(lengths), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(lengths), IN_LIST(cuts), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(fabric_types)?, IN_LIST(fabrics)}->MARK("DRESS_FABRIC") +""" +``` + +### Loading in spaCy +```python +import spacy +from rita.shortcuts import setup_spacy + + +nlp = spacy.load("en") +setup_spacy(nlp, rules_string=rules) +``` + +And using it: +```python +>>> r = nlp("She was wearing a short wide-cut dress") +>>> [{"label": e.label_, "text": e.text} for e in r.ents] +[{'label': 'DRESS_TYPE', 'text': 'short wide-cut dress'}] +``` + +### Loading using Regex (standalone) +```python +import rita + +patterns = rita.compile_string(rules, use_engine="standalone") +``` + +And using it: +```python +>>> list(patterns.execute("She was wearing a short wide-cut dress")) +[{'end': 38, 'label': 'DRESS_TYPE', 'start': 18, 'text': 'short wide-cut dress'}] +``` + + +%package -n python3-rita-dsl +Summary: DSL for building language rules +Provides: python-rita-dsl +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-rita-dsl + + +# RITA DSL + +[](http://rita-dsl.readthedocs.io/?badge=latest) +[](https://codecov.io/gh/zaibacu/rita-dsl) +[](https://www.python.org/) +[](https://github.com/zaibacu/rita-dsl/graphs/commit-activity) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://github.com/zaibacu/rita-dsl/blob/master/LICENSE) + +This is a language, loosely based on language [Apache UIMA RUTA](https://uima.apache.org/ruta.html), focused on writing manual language rules, which compiles into either [spaCy](https://github.com/explosion/spaCy) compatible patterns, or pure regex. These patterns can be used for doing [manual NER](https://spacy.io/api/entityruler) as well as used in other processes, like retokenizing and pure matching + +## An Introduction Video +[](https://www.youtube.com/watch?v=GScerMeWz68) + +## Links +- [Website](https://rita-dsl.io/) +- [Live Demo](https://rita-dsl.io/#demo) +- [Simple Chat bot example](https://repl.it/talk/share/Simple-chatbot-done-with-Rita/53471) +- [Documentation](http://rita-dsl.readthedocs.io/) +- [QuickStart](https://rita-dsl.readthedocs.io/en/latest/quickstart/) +- [Language Syntax Plugin for IntelijJ based IDEs](https://plugins.jetbrains.com/plugin/15011-rita-language) + +## Support + +[](https://www.reddit.com/r/ritaDSL/) +[](https://gitter.im/rita-dsl/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +## Install + +`pip install rita-dsl` + +## Simple Rules example + +```python +rules = """ +cuts = {"fitted", "wide-cut"} +lengths = {"short", "long", "calf-length", "knee-length"} +fabric_types = {"soft", "airy", "crinkled"} +fabrics = {"velour", "chiffon", "knit", "woven", "stretch"} + +{IN_LIST(cuts)?, IN_LIST(lengths), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(lengths), IN_LIST(cuts), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(fabric_types)?, IN_LIST(fabrics)}->MARK("DRESS_FABRIC") +""" +``` + +### Loading in spaCy +```python +import spacy +from rita.shortcuts import setup_spacy + + +nlp = spacy.load("en") +setup_spacy(nlp, rules_string=rules) +``` + +And using it: +```python +>>> r = nlp("She was wearing a short wide-cut dress") +>>> [{"label": e.label_, "text": e.text} for e in r.ents] +[{'label': 'DRESS_TYPE', 'text': 'short wide-cut dress'}] +``` + +### Loading using Regex (standalone) +```python +import rita + +patterns = rita.compile_string(rules, use_engine="standalone") +``` + +And using it: +```python +>>> list(patterns.execute("She was wearing a short wide-cut dress")) +[{'end': 38, 'label': 'DRESS_TYPE', 'start': 18, 'text': 'short wide-cut dress'}] +``` + + +%package help +Summary: Development documents and examples for rita-dsl +Provides: python3-rita-dsl-doc +%description help + + +# RITA DSL + +[](http://rita-dsl.readthedocs.io/?badge=latest) +[](https://codecov.io/gh/zaibacu/rita-dsl) +[](https://www.python.org/) +[](https://github.com/zaibacu/rita-dsl/graphs/commit-activity) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://pypi.python.org/pypi/rita-dsl/) +[](https://github.com/zaibacu/rita-dsl/blob/master/LICENSE) + +This is a language, loosely based on language [Apache UIMA RUTA](https://uima.apache.org/ruta.html), focused on writing manual language rules, which compiles into either [spaCy](https://github.com/explosion/spaCy) compatible patterns, or pure regex. These patterns can be used for doing [manual NER](https://spacy.io/api/entityruler) as well as used in other processes, like retokenizing and pure matching + +## An Introduction Video +[](https://www.youtube.com/watch?v=GScerMeWz68) + +## Links +- [Website](https://rita-dsl.io/) +- [Live Demo](https://rita-dsl.io/#demo) +- [Simple Chat bot example](https://repl.it/talk/share/Simple-chatbot-done-with-Rita/53471) +- [Documentation](http://rita-dsl.readthedocs.io/) +- [QuickStart](https://rita-dsl.readthedocs.io/en/latest/quickstart/) +- [Language Syntax Plugin for IntelijJ based IDEs](https://plugins.jetbrains.com/plugin/15011-rita-language) + +## Support + +[](https://www.reddit.com/r/ritaDSL/) +[](https://gitter.im/rita-dsl/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +## Install + +`pip install rita-dsl` + +## Simple Rules example + +```python +rules = """ +cuts = {"fitted", "wide-cut"} +lengths = {"short", "long", "calf-length", "knee-length"} +fabric_types = {"soft", "airy", "crinkled"} +fabrics = {"velour", "chiffon", "knit", "woven", "stretch"} + +{IN_LIST(cuts)?, IN_LIST(lengths), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(lengths), IN_LIST(cuts), WORD("dress")}->MARK("DRESS_TYPE") +{IN_LIST(fabric_types)?, IN_LIST(fabrics)}->MARK("DRESS_FABRIC") +""" +``` + +### Loading in spaCy +```python +import spacy +from rita.shortcuts import setup_spacy + + +nlp = spacy.load("en") +setup_spacy(nlp, rules_string=rules) +``` + +And using it: +```python +>>> r = nlp("She was wearing a short wide-cut dress") +>>> [{"label": e.label_, "text": e.text} for e in r.ents] +[{'label': 'DRESS_TYPE', 'text': 'short wide-cut dress'}] +``` + +### Loading using Regex (standalone) +```python +import rita + +patterns = rita.compile_string(rules, use_engine="standalone") +``` + +And using it: +```python +>>> list(patterns.execute("She was wearing a short wide-cut dress")) +[{'end': 38, 'label': 'DRESS_TYPE', 'start': 18, 'text': 'short wide-cut dress'}] +``` + + +%prep +%autosetup -n rita-dsl-0.7.4 + +%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-rita-dsl -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.4-1 +- Package Spec generated @@ -0,0 +1 @@ +d7c9d9f0888c0e0aa30ce0e7df772fce rita-dsl-0.7.4.tar.gz |