summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 12:04:40 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 12:04:40 +0000
commita1d9649d4cc9a8f0dc3733acc8510ddc68120547 (patch)
treef184f8a370e9c8c56e2349244c18564d2689ab62
parent7a42a4a8a14f1aac025b76f491bd5a605076ac63 (diff)
automatic import of python-penmanopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-penman.spec578
-rw-r--r--sources1
3 files changed, 580 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..75de954 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/Penman-1.2.2.tar.gz
diff --git a/python-penman.spec b/python-penman.spec
new file mode 100644
index 0000000..655dd37
--- /dev/null
+++ b/python-penman.spec
@@ -0,0 +1,578 @@
+%global _empty_manifest_terminate_build 0
+Name: python-Penman
+Version: 1.2.2
+Release: 1
+Summary: PENMAN notation for graphs (e.g., AMR)
+License: MIT
+URL: https://github.com/goodmami/penman
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9d/7a/025fb68e15b754380d5ac4da54fca7d5480c191539ad0abd00e33496efe4/Penman-1.2.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-sphinx
+Requires: python3-furo
+Requires: python3-pygments
+Requires: python3-sphinx-copybutton
+Requires: python3-pytest
+Requires: python3-mypy
+Requires: python3-flake8
+Requires: python3-setuptools
+Requires: python3-wheel
+Requires: python3-twine
+Requires: python3-sphinx
+Requires: python3-furo
+Requires: python3-pygments
+Requires: python3-sphinx-copybutton
+Requires: python3-pytest
+Requires: python3-mypy
+Requires: python3-flake8
+
+%description
+
+# Penman &mdash; a Python library for PENMAN graph notation
+
+[![PyPI Version](https://img.shields.io/pypi/v/penman.svg)](https://pypi.org/project/Penman/)
+![Python Support](https://img.shields.io/pypi/pyversions/penman.svg)
+[![.github/workflows/checks.yml](https://github.com/goodmami/penman/actions/workflows/checks.yml/badge.svg?branch=main)](https://github.com/goodmami/penman/actions/workflows/checks.yml)
+[![Documentation Status](https://readthedocs.org/projects/penman/badge/?version=latest)](https://penman.readthedocs.io/en/latest/?badge=latest)
+
+
+This package models graphs encoded in [PENMAN
+notation](#penman-notation) (e.g., [AMR][]), such as the following for
+*the boy wants to go*:
+
+```
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+```
+
+The Penman package may be used as a Python [library](#library-usage)
+or as a [script](#script-usage).
+
+
+### Features
+
+- [x] Read and write PENMAN-serialized graphs or triple conjunctions
+- [x] Read metadata in comments (e.g., `# ::id 1234`)
+- [x] Read surface alignments (e.g., `foo~e.1,2`)
+- [x] Inspect and manipulate the [graph][] or [tree][] structures
+- [x] Customize graphs for writing:
+ - Adjust indentation and compactness
+ - Select a new top node
+ - Rearrange edges
+ - Restructure the tree shape
+ - Relabel node variables
+- [x] [Transform][transform] the graph
+ - Canonicalize roles
+ - Reify and dereify edges
+ - Reify attributes
+ - Embed the tree structure with additional `TOP` triples
+- [x] [AMR model][]: role inventory and transformations
+- [x] Check graphs for model compliance
+- [x] Tested (but not yet 100% coverage)
+- [x] Documented (see the [documentation][])
+
+
+### Library Usage
+
+```python-console
+>>> import penman
+>>> g = penman.decode('(b / bark-01 :ARG0 (d / dog))')
+>>> g.triples
+[('b', ':instance', 'bark-01'), ('b', ':ARG0', 'd'), ('d', ':instance', 'dog')]
+>>> g.edges()
+[Edge(source='b', role=':ARG0', target='d')]
+>>> print(penman.encode(g, indent=3))
+(b / bark-01
+ :ARG0 (d / dog))
+>>> print(penman.encode(g, indent=None))
+(b / bark-01 :ARG0 (d / dog))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/library.html))
+
+
+### Script Usage
+
+```console
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman --make-variables="a{i}"
+(a0 / want-01
+ :ARG0 (a1 / boy)
+ :ARG1 (a2 / go
+ :ARG0 a1))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/command.html))
+
+
+### Demo
+
+For a demonstration of the API usage, see the included
+[Jupyter](https://jupyter.org/) notebook:
+
+- View it on GitHub: [docs/api-demo.ipynb](docs/api-demo.ipynb)
+- Run it on [mybinder.org](https://mybinder.org/):
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/goodmami/penman/master?filepath=docs%2Fapi-demo.ipynb)
+
+ (Note: clear the output before running: *Cell* > *All Output* >
+ *Clear*):
+
+
+### PENMAN Notation
+
+A description of the PENMAN notation can be found in the
+[documentation](https://penman.readthedocs.io/en/latest/notation.html).
+This module expands the original notation slightly to allow for
+untyped nodes (e.g., `(x)`) and anonymous relations (e.g., `(x :
+(y))`). It also accommodates slightly malformed graphs as well as
+surface alignments.
+
+### Citation
+
+If you make use of Penman in your work, please cite [Goodman, 2020].
+The BibTeX is below:
+
+[Goodman, 2020]: https://www.aclweb.org/anthology/2020.acl-demos.35/
+
+```bibtex
+@inproceedings{goodman-2020-penman,
+ title = "{P}enman: An Open-Source Library and Tool for {AMR} Graphs",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations",
+ month = jul,
+ year = "2020",
+ address = "Online",
+ publisher = "Association for Computational Linguistics",
+ url = "https://www.aclweb.org/anthology/2020.acl-demos.35",
+ pages = "312--319",
+ abstract = "Abstract Meaning Representation (AMR) (Banarescu et al., 2013) is a framework for semantic dependencies that encodes its rooted and directed acyclic graphs in a format called PENMAN notation. The format is simple enough that users of AMR data often write small scripts or libraries for parsing it into an internal graph representation, but there is enough complexity that these users could benefit from a more sophisticated and well-tested solution. The open-source Python library Penman provides a robust parser, functions for graph inspection and manipulation, and functions for formatting graphs into PENMAN notation. Many functions are also available in a command-line tool, thus extending its utility to non-Python setups.",
+}
+```
+
+For the graph transformation/normalization work, please use the
+following:
+
+``` bibtex
+@inproceedings{Goodman:2019,
+ title = "{AMR} Normalization for Fairer Evaluation",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 33rd Pacific Asia Conference on Language, Information, and Computation",
+ year = "2019",
+ pages = "47--56",
+ address = "Hakodate"
+}
+```
+
+
+### Disclaimer
+
+This project is not affiliated with [ISI][], the [PENMAN][] project,
+or the [AMR][] project.
+
+[PENMAN]: http://www.isi.edu/natural-language/penman/penman.html
+[AMR]: http://amr.isi.edu/
+[Kasper 1989]: http://www.aclweb.org/anthology/H89-1022
+[PEG]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
+[ISI]: http://isi.edu/
+
+[documentation]: https://penman.readthedocs.io/
+[graph]: https://penman.readthedocs.io/en/latest/api/penman.graph.html
+[tree]: https://penman.readthedocs.io/en/latest/api/penman.tree.html
+[transform]: https://penman.readthedocs.io/en/latest/api/penman.transform.html
+[AMR model]: https://penman.readthedocs.io/en/latest/api/penman.models.amr.html
+
+
+
+
+%package -n python3-Penman
+Summary: PENMAN notation for graphs (e.g., AMR)
+Provides: python-Penman
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-Penman
+
+# Penman &mdash; a Python library for PENMAN graph notation
+
+[![PyPI Version](https://img.shields.io/pypi/v/penman.svg)](https://pypi.org/project/Penman/)
+![Python Support](https://img.shields.io/pypi/pyversions/penman.svg)
+[![.github/workflows/checks.yml](https://github.com/goodmami/penman/actions/workflows/checks.yml/badge.svg?branch=main)](https://github.com/goodmami/penman/actions/workflows/checks.yml)
+[![Documentation Status](https://readthedocs.org/projects/penman/badge/?version=latest)](https://penman.readthedocs.io/en/latest/?badge=latest)
+
+
+This package models graphs encoded in [PENMAN
+notation](#penman-notation) (e.g., [AMR][]), such as the following for
+*the boy wants to go*:
+
+```
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+```
+
+The Penman package may be used as a Python [library](#library-usage)
+or as a [script](#script-usage).
+
+
+### Features
+
+- [x] Read and write PENMAN-serialized graphs or triple conjunctions
+- [x] Read metadata in comments (e.g., `# ::id 1234`)
+- [x] Read surface alignments (e.g., `foo~e.1,2`)
+- [x] Inspect and manipulate the [graph][] or [tree][] structures
+- [x] Customize graphs for writing:
+ - Adjust indentation and compactness
+ - Select a new top node
+ - Rearrange edges
+ - Restructure the tree shape
+ - Relabel node variables
+- [x] [Transform][transform] the graph
+ - Canonicalize roles
+ - Reify and dereify edges
+ - Reify attributes
+ - Embed the tree structure with additional `TOP` triples
+- [x] [AMR model][]: role inventory and transformations
+- [x] Check graphs for model compliance
+- [x] Tested (but not yet 100% coverage)
+- [x] Documented (see the [documentation][])
+
+
+### Library Usage
+
+```python-console
+>>> import penman
+>>> g = penman.decode('(b / bark-01 :ARG0 (d / dog))')
+>>> g.triples
+[('b', ':instance', 'bark-01'), ('b', ':ARG0', 'd'), ('d', ':instance', 'dog')]
+>>> g.edges()
+[Edge(source='b', role=':ARG0', target='d')]
+>>> print(penman.encode(g, indent=3))
+(b / bark-01
+ :ARG0 (d / dog))
+>>> print(penman.encode(g, indent=None))
+(b / bark-01 :ARG0 (d / dog))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/library.html))
+
+
+### Script Usage
+
+```console
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman --make-variables="a{i}"
+(a0 / want-01
+ :ARG0 (a1 / boy)
+ :ARG1 (a2 / go
+ :ARG0 a1))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/command.html))
+
+
+### Demo
+
+For a demonstration of the API usage, see the included
+[Jupyter](https://jupyter.org/) notebook:
+
+- View it on GitHub: [docs/api-demo.ipynb](docs/api-demo.ipynb)
+- Run it on [mybinder.org](https://mybinder.org/):
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/goodmami/penman/master?filepath=docs%2Fapi-demo.ipynb)
+
+ (Note: clear the output before running: *Cell* > *All Output* >
+ *Clear*):
+
+
+### PENMAN Notation
+
+A description of the PENMAN notation can be found in the
+[documentation](https://penman.readthedocs.io/en/latest/notation.html).
+This module expands the original notation slightly to allow for
+untyped nodes (e.g., `(x)`) and anonymous relations (e.g., `(x :
+(y))`). It also accommodates slightly malformed graphs as well as
+surface alignments.
+
+### Citation
+
+If you make use of Penman in your work, please cite [Goodman, 2020].
+The BibTeX is below:
+
+[Goodman, 2020]: https://www.aclweb.org/anthology/2020.acl-demos.35/
+
+```bibtex
+@inproceedings{goodman-2020-penman,
+ title = "{P}enman: An Open-Source Library and Tool for {AMR} Graphs",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations",
+ month = jul,
+ year = "2020",
+ address = "Online",
+ publisher = "Association for Computational Linguistics",
+ url = "https://www.aclweb.org/anthology/2020.acl-demos.35",
+ pages = "312--319",
+ abstract = "Abstract Meaning Representation (AMR) (Banarescu et al., 2013) is a framework for semantic dependencies that encodes its rooted and directed acyclic graphs in a format called PENMAN notation. The format is simple enough that users of AMR data often write small scripts or libraries for parsing it into an internal graph representation, but there is enough complexity that these users could benefit from a more sophisticated and well-tested solution. The open-source Python library Penman provides a robust parser, functions for graph inspection and manipulation, and functions for formatting graphs into PENMAN notation. Many functions are also available in a command-line tool, thus extending its utility to non-Python setups.",
+}
+```
+
+For the graph transformation/normalization work, please use the
+following:
+
+``` bibtex
+@inproceedings{Goodman:2019,
+ title = "{AMR} Normalization for Fairer Evaluation",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 33rd Pacific Asia Conference on Language, Information, and Computation",
+ year = "2019",
+ pages = "47--56",
+ address = "Hakodate"
+}
+```
+
+
+### Disclaimer
+
+This project is not affiliated with [ISI][], the [PENMAN][] project,
+or the [AMR][] project.
+
+[PENMAN]: http://www.isi.edu/natural-language/penman/penman.html
+[AMR]: http://amr.isi.edu/
+[Kasper 1989]: http://www.aclweb.org/anthology/H89-1022
+[PEG]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
+[ISI]: http://isi.edu/
+
+[documentation]: https://penman.readthedocs.io/
+[graph]: https://penman.readthedocs.io/en/latest/api/penman.graph.html
+[tree]: https://penman.readthedocs.io/en/latest/api/penman.tree.html
+[transform]: https://penman.readthedocs.io/en/latest/api/penman.transform.html
+[AMR model]: https://penman.readthedocs.io/en/latest/api/penman.models.amr.html
+
+
+
+
+%package help
+Summary: Development documents and examples for Penman
+Provides: python3-Penman-doc
+%description help
+
+# Penman &mdash; a Python library for PENMAN graph notation
+
+[![PyPI Version](https://img.shields.io/pypi/v/penman.svg)](https://pypi.org/project/Penman/)
+![Python Support](https://img.shields.io/pypi/pyversions/penman.svg)
+[![.github/workflows/checks.yml](https://github.com/goodmami/penman/actions/workflows/checks.yml/badge.svg?branch=main)](https://github.com/goodmami/penman/actions/workflows/checks.yml)
+[![Documentation Status](https://readthedocs.org/projects/penman/badge/?version=latest)](https://penman.readthedocs.io/en/latest/?badge=latest)
+
+
+This package models graphs encoded in [PENMAN
+notation](#penman-notation) (e.g., [AMR][]), such as the following for
+*the boy wants to go*:
+
+```
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+```
+
+The Penman package may be used as a Python [library](#library-usage)
+or as a [script](#script-usage).
+
+
+### Features
+
+- [x] Read and write PENMAN-serialized graphs or triple conjunctions
+- [x] Read metadata in comments (e.g., `# ::id 1234`)
+- [x] Read surface alignments (e.g., `foo~e.1,2`)
+- [x] Inspect and manipulate the [graph][] or [tree][] structures
+- [x] Customize graphs for writing:
+ - Adjust indentation and compactness
+ - Select a new top node
+ - Rearrange edges
+ - Restructure the tree shape
+ - Relabel node variables
+- [x] [Transform][transform] the graph
+ - Canonicalize roles
+ - Reify and dereify edges
+ - Reify attributes
+ - Embed the tree structure with additional `TOP` triples
+- [x] [AMR model][]: role inventory and transformations
+- [x] Check graphs for model compliance
+- [x] Tested (but not yet 100% coverage)
+- [x] Documented (see the [documentation][])
+
+
+### Library Usage
+
+```python-console
+>>> import penman
+>>> g = penman.decode('(b / bark-01 :ARG0 (d / dog))')
+>>> g.triples
+[('b', ':instance', 'bark-01'), ('b', ':ARG0', 'd'), ('d', ':instance', 'dog')]
+>>> g.edges()
+[Edge(source='b', role=':ARG0', target='d')]
+>>> print(penman.encode(g, indent=3))
+(b / bark-01
+ :ARG0 (d / dog))
+>>> print(penman.encode(g, indent=None))
+(b / bark-01 :ARG0 (d / dog))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/library.html))
+
+
+### Script Usage
+
+```console
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman
+(w / want-01
+ :ARG0 (b / boy)
+ :ARG1 (g / go
+ :ARG0 b))
+$ echo "(w / want-01 :ARG0 (b / boy) :ARG1 (g / go :ARG0 b))" | penman --make-variables="a{i}"
+(a0 / want-01
+ :ARG0 (a1 / boy)
+ :ARG1 (a2 / go
+ :ARG0 a1))
+
+```
+
+([more information](https://penman.readthedocs.io/en/latest/command.html))
+
+
+### Demo
+
+For a demonstration of the API usage, see the included
+[Jupyter](https://jupyter.org/) notebook:
+
+- View it on GitHub: [docs/api-demo.ipynb](docs/api-demo.ipynb)
+- Run it on [mybinder.org](https://mybinder.org/):
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/goodmami/penman/master?filepath=docs%2Fapi-demo.ipynb)
+
+ (Note: clear the output before running: *Cell* > *All Output* >
+ *Clear*):
+
+
+### PENMAN Notation
+
+A description of the PENMAN notation can be found in the
+[documentation](https://penman.readthedocs.io/en/latest/notation.html).
+This module expands the original notation slightly to allow for
+untyped nodes (e.g., `(x)`) and anonymous relations (e.g., `(x :
+(y))`). It also accommodates slightly malformed graphs as well as
+surface alignments.
+
+### Citation
+
+If you make use of Penman in your work, please cite [Goodman, 2020].
+The BibTeX is below:
+
+[Goodman, 2020]: https://www.aclweb.org/anthology/2020.acl-demos.35/
+
+```bibtex
+@inproceedings{goodman-2020-penman,
+ title = "{P}enman: An Open-Source Library and Tool for {AMR} Graphs",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations",
+ month = jul,
+ year = "2020",
+ address = "Online",
+ publisher = "Association for Computational Linguistics",
+ url = "https://www.aclweb.org/anthology/2020.acl-demos.35",
+ pages = "312--319",
+ abstract = "Abstract Meaning Representation (AMR) (Banarescu et al., 2013) is a framework for semantic dependencies that encodes its rooted and directed acyclic graphs in a format called PENMAN notation. The format is simple enough that users of AMR data often write small scripts or libraries for parsing it into an internal graph representation, but there is enough complexity that these users could benefit from a more sophisticated and well-tested solution. The open-source Python library Penman provides a robust parser, functions for graph inspection and manipulation, and functions for formatting graphs into PENMAN notation. Many functions are also available in a command-line tool, thus extending its utility to non-Python setups.",
+}
+```
+
+For the graph transformation/normalization work, please use the
+following:
+
+``` bibtex
+@inproceedings{Goodman:2019,
+ title = "{AMR} Normalization for Fairer Evaluation",
+ author = "Goodman, Michael Wayne",
+ booktitle = "Proceedings of the 33rd Pacific Asia Conference on Language, Information, and Computation",
+ year = "2019",
+ pages = "47--56",
+ address = "Hakodate"
+}
+```
+
+
+### Disclaimer
+
+This project is not affiliated with [ISI][], the [PENMAN][] project,
+or the [AMR][] project.
+
+[PENMAN]: http://www.isi.edu/natural-language/penman/penman.html
+[AMR]: http://amr.isi.edu/
+[Kasper 1989]: http://www.aclweb.org/anthology/H89-1022
+[PEG]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
+[ISI]: http://isi.edu/
+
+[documentation]: https://penman.readthedocs.io/
+[graph]: https://penman.readthedocs.io/en/latest/api/penman.graph.html
+[tree]: https://penman.readthedocs.io/en/latest/api/penman.tree.html
+[transform]: https://penman.readthedocs.io/en/latest/api/penman.transform.html
+[AMR model]: https://penman.readthedocs.io/en/latest/api/penman.models.amr.html
+
+
+
+
+%prep
+%autosetup -n Penman-1.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-Penman -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..22e3066
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+243e617f8cbaf7b2b77bf5fac2128742 Penman-1.2.2.tar.gz