%global _empty_manifest_terminate_build 0 Name: python-gaphas Version: 3.10.3 Release: 1 Summary: Gaphas is a GTK+ based diagramming widget License: Apache-2.0 URL: https://gaphas.readthedocs.io/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/27/f74fe15271cc6fa5225cace370e5f59218c559e09df6ae576e554e977bf5/gaphas-3.10.3.tar.gz BuildArch: noarch Requires: python3-PyGObject Requires: python3-pycairo Requires: python3-sphinx Requires: python3-furo Requires: python3-gaphor %description # Gaphas [![Build state](https://github.com/gaphor/gaphas/workflows/build/badge.svg)](https://github.com/gaphor/gaphas/actions) [![Maintainability](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/maintainability)](https://codeclimate.com/github/gaphor/gaphas/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/test_coverage)](https://codeclimate.com/github/gaphor/gaphas/test_coverage) ![Docs build state](https://readthedocs.org/projects/gaphas/badge/?version=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat)](https://github.com/RichardLitt/standard-readme) [![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/Gaphor/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors) > Gaphas is the diagramming widget library for Python. ![Gaphas Demo](https://raw.githubusercontent.com/gaphor/gaphas/main/docs/images/gaphas-demo.gif) Gaphas is a library that provides the user interface component (widget) for drawing diagrams. Diagrams can be drawn to screen and then easily exported to a variety of formats, including SVG and PDF. Want to build an app with chart-like diagrams? Then Gaphas is for you! Use this library to build a tree, network, flowchart, or other diagrams. This library is currently being used by [Gaphor](https://github.com/gaphor/gaphor) for UML drawing, [RAFCON](https://github.com/DLR-RM/RAFCON) for state-machine based robot control, and [ASCEND](http://ascend4.org/) for solving mathematical models. ## 📑 Table of Contents - [Background](#background) - [Install](#install) - [Usage](#usage) - [Contributing](#contributing) - [License](#license) ## 📜 Background Gaphas was built to provide the foundational diagramming portions of [Gaphor](https://github.com/gaphor/gaphor). Since Gaphor is built on GTK and Cairo, [PyGObject](https://pygobject.readthedocs.io/) provides access to the GUI toolkit and [PyCairo](https://pycairo.readthedocs.io/) to the 2D graphics library. However, there wasn't a project that abstracted these technologies to easily create a diagramming tool. Hence, Gaphas was created as a library to allow others to create a diagramming tool using GTK and Cairo. Here is how it works: - Items (Canvas items) can be added to a Canvas. - The Canvas maintains the tree structure (parent-child relationships between items). - A constraint solver is used to maintain item constraints and inter-item constraints. - The item (and user) should not be bothered with things like bounding-box calculations. - Very modular--e.g., handle support could be swapped in and swapped out. - Rendering using Cairo. The main portions of the library include: - canvas - The main canvas class (container for Items). - items - Objects placed on a Canvas. - solver - A constraint solver to define the layout and connection of items. - gtkview - A view to be used in GTK applications that interacts with users with tools. - painters - The workers used to paint items. - tools - Tools are used to handle user events (such as mouse movement and button presses). - aspects - Provides an intermediate step between tools and items. Gaphas contains default implementations for `Canvas` and `Item`s. There are protocols in place to allow you to make your own canvas. ## 💾 Install To install Gaphas, simply use pip: ```bash $ pip install gaphas ``` Use of a [virtual environment](https://virtualenv.pypa.io/en/latest/) is highly recommended. ### Development To setup a development environment with Linux: ```bash $ sudo apt-get install -y python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev $ pip install poetry $ poetry install ``` ## 🔦 Usage API docs and tutorials can be found on [Read the Docs](https://gaphas.readthedocs.io). ## ♥ Contributing Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
Arjan Molenaar
Arjan Molenaar

💻 🐛 📖 👀 💬 🔌
Dan Yeaw
Dan Yeaw

💻 ⚠️ 👀 🐛 💬 🚇 📖
wrobell
wrobell

💻 ⚠️ 👀
Jean-Luc Stevens
Jean-Luc Stevens

💻 🐛 📖
Franz Steinmetz
Franz Steinmetz

💻 🐛
Adrian Boguszewski
Adrian Boguszewski

💻
Rico Belder
Rico Belder

🐛 👀
Adam Boduch
Adam Boduch

🐛
Janet Jose
Janet Jose

📖
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome! 1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a [first-timers-only](https://github.com/gaphor/gaphas/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Afirst-timers-only) tag for issues that should be ideal for people who are not very familiar with the codebase yet. 2. Fork [the repository](https://github.com/gaphor/gaphas) on GitHub to start making your changes to the **main** branch (or branch off of it). 3. Write a test which shows that the bug was fixed or that the feature works as expected. 4. Send a pull request and bug the maintainers until it gets merged and published. :smile: See [the contributing file](CONTRIBUTING.md)! ## © License Copyright © Arjan Molenaar and Dan Yeaw Licensed under the [Apache License 2.0](LICENSE). Summary: You can do what you like with Gaphas, as long as you include the required notices. This permissive license contains a patent license from the contributors of the code. %package -n python3-gaphas Summary: Gaphas is a GTK+ based diagramming widget Provides: python-gaphas BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-gaphas # Gaphas [![Build state](https://github.com/gaphor/gaphas/workflows/build/badge.svg)](https://github.com/gaphor/gaphas/actions) [![Maintainability](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/maintainability)](https://codeclimate.com/github/gaphor/gaphas/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/test_coverage)](https://codeclimate.com/github/gaphor/gaphas/test_coverage) ![Docs build state](https://readthedocs.org/projects/gaphas/badge/?version=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat)](https://github.com/RichardLitt/standard-readme) [![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/Gaphor/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors) > Gaphas is the diagramming widget library for Python. ![Gaphas Demo](https://raw.githubusercontent.com/gaphor/gaphas/main/docs/images/gaphas-demo.gif) Gaphas is a library that provides the user interface component (widget) for drawing diagrams. Diagrams can be drawn to screen and then easily exported to a variety of formats, including SVG and PDF. Want to build an app with chart-like diagrams? Then Gaphas is for you! Use this library to build a tree, network, flowchart, or other diagrams. This library is currently being used by [Gaphor](https://github.com/gaphor/gaphor) for UML drawing, [RAFCON](https://github.com/DLR-RM/RAFCON) for state-machine based robot control, and [ASCEND](http://ascend4.org/) for solving mathematical models. ## 📑 Table of Contents - [Background](#background) - [Install](#install) - [Usage](#usage) - [Contributing](#contributing) - [License](#license) ## 📜 Background Gaphas was built to provide the foundational diagramming portions of [Gaphor](https://github.com/gaphor/gaphor). Since Gaphor is built on GTK and Cairo, [PyGObject](https://pygobject.readthedocs.io/) provides access to the GUI toolkit and [PyCairo](https://pycairo.readthedocs.io/) to the 2D graphics library. However, there wasn't a project that abstracted these technologies to easily create a diagramming tool. Hence, Gaphas was created as a library to allow others to create a diagramming tool using GTK and Cairo. Here is how it works: - Items (Canvas items) can be added to a Canvas. - The Canvas maintains the tree structure (parent-child relationships between items). - A constraint solver is used to maintain item constraints and inter-item constraints. - The item (and user) should not be bothered with things like bounding-box calculations. - Very modular--e.g., handle support could be swapped in and swapped out. - Rendering using Cairo. The main portions of the library include: - canvas - The main canvas class (container for Items). - items - Objects placed on a Canvas. - solver - A constraint solver to define the layout and connection of items. - gtkview - A view to be used in GTK applications that interacts with users with tools. - painters - The workers used to paint items. - tools - Tools are used to handle user events (such as mouse movement and button presses). - aspects - Provides an intermediate step between tools and items. Gaphas contains default implementations for `Canvas` and `Item`s. There are protocols in place to allow you to make your own canvas. ## 💾 Install To install Gaphas, simply use pip: ```bash $ pip install gaphas ``` Use of a [virtual environment](https://virtualenv.pypa.io/en/latest/) is highly recommended. ### Development To setup a development environment with Linux: ```bash $ sudo apt-get install -y python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev $ pip install poetry $ poetry install ``` ## 🔦 Usage API docs and tutorials can be found on [Read the Docs](https://gaphas.readthedocs.io). ## ♥ Contributing Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
Arjan Molenaar
Arjan Molenaar

💻 🐛 📖 👀 💬 🔌
Dan Yeaw
Dan Yeaw

💻 ⚠️ 👀 🐛 💬 🚇 📖
wrobell
wrobell

💻 ⚠️ 👀
Jean-Luc Stevens
Jean-Luc Stevens

💻 🐛 📖
Franz Steinmetz
Franz Steinmetz

💻 🐛
Adrian Boguszewski
Adrian Boguszewski

💻
Rico Belder
Rico Belder

🐛 👀
Adam Boduch
Adam Boduch

🐛
Janet Jose
Janet Jose

📖
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome! 1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a [first-timers-only](https://github.com/gaphor/gaphas/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Afirst-timers-only) tag for issues that should be ideal for people who are not very familiar with the codebase yet. 2. Fork [the repository](https://github.com/gaphor/gaphas) on GitHub to start making your changes to the **main** branch (or branch off of it). 3. Write a test which shows that the bug was fixed or that the feature works as expected. 4. Send a pull request and bug the maintainers until it gets merged and published. :smile: See [the contributing file](CONTRIBUTING.md)! ## © License Copyright © Arjan Molenaar and Dan Yeaw Licensed under the [Apache License 2.0](LICENSE). Summary: You can do what you like with Gaphas, as long as you include the required notices. This permissive license contains a patent license from the contributors of the code. %package help Summary: Development documents and examples for gaphas Provides: python3-gaphas-doc %description help # Gaphas [![Build state](https://github.com/gaphor/gaphas/workflows/build/badge.svg)](https://github.com/gaphor/gaphas/actions) [![Maintainability](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/maintainability)](https://codeclimate.com/github/gaphor/gaphas/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/e9837cc647b72119fd11/test_coverage)](https://codeclimate.com/github/gaphor/gaphas/test_coverage) ![Docs build state](https://readthedocs.org/projects/gaphas/badge/?version=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat)](https://github.com/RichardLitt/standard-readme) [![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/Gaphor/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors) > Gaphas is the diagramming widget library for Python. ![Gaphas Demo](https://raw.githubusercontent.com/gaphor/gaphas/main/docs/images/gaphas-demo.gif) Gaphas is a library that provides the user interface component (widget) for drawing diagrams. Diagrams can be drawn to screen and then easily exported to a variety of formats, including SVG and PDF. Want to build an app with chart-like diagrams? Then Gaphas is for you! Use this library to build a tree, network, flowchart, or other diagrams. This library is currently being used by [Gaphor](https://github.com/gaphor/gaphor) for UML drawing, [RAFCON](https://github.com/DLR-RM/RAFCON) for state-machine based robot control, and [ASCEND](http://ascend4.org/) for solving mathematical models. ## 📑 Table of Contents - [Background](#background) - [Install](#install) - [Usage](#usage) - [Contributing](#contributing) - [License](#license) ## 📜 Background Gaphas was built to provide the foundational diagramming portions of [Gaphor](https://github.com/gaphor/gaphor). Since Gaphor is built on GTK and Cairo, [PyGObject](https://pygobject.readthedocs.io/) provides access to the GUI toolkit and [PyCairo](https://pycairo.readthedocs.io/) to the 2D graphics library. However, there wasn't a project that abstracted these technologies to easily create a diagramming tool. Hence, Gaphas was created as a library to allow others to create a diagramming tool using GTK and Cairo. Here is how it works: - Items (Canvas items) can be added to a Canvas. - The Canvas maintains the tree structure (parent-child relationships between items). - A constraint solver is used to maintain item constraints and inter-item constraints. - The item (and user) should not be bothered with things like bounding-box calculations. - Very modular--e.g., handle support could be swapped in and swapped out. - Rendering using Cairo. The main portions of the library include: - canvas - The main canvas class (container for Items). - items - Objects placed on a Canvas. - solver - A constraint solver to define the layout and connection of items. - gtkview - A view to be used in GTK applications that interacts with users with tools. - painters - The workers used to paint items. - tools - Tools are used to handle user events (such as mouse movement and button presses). - aspects - Provides an intermediate step between tools and items. Gaphas contains default implementations for `Canvas` and `Item`s. There are protocols in place to allow you to make your own canvas. ## 💾 Install To install Gaphas, simply use pip: ```bash $ pip install gaphas ``` Use of a [virtual environment](https://virtualenv.pypa.io/en/latest/) is highly recommended. ### Development To setup a development environment with Linux: ```bash $ sudo apt-get install -y python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev $ pip install poetry $ poetry install ``` ## 🔦 Usage API docs and tutorials can be found on [Read the Docs](https://gaphas.readthedocs.io). ## ♥ Contributing Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
Arjan Molenaar
Arjan Molenaar

💻 🐛 📖 👀 💬 🔌
Dan Yeaw
Dan Yeaw

💻 ⚠️ 👀 🐛 💬 🚇 📖
wrobell
wrobell

💻 ⚠️ 👀
Jean-Luc Stevens
Jean-Luc Stevens

💻 🐛 📖
Franz Steinmetz
Franz Steinmetz

💻 🐛
Adrian Boguszewski
Adrian Boguszewski

💻
Rico Belder
Rico Belder

🐛 👀
Adam Boduch
Adam Boduch

🐛
Janet Jose
Janet Jose

📖
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind are welcome! 1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a [first-timers-only](https://github.com/gaphor/gaphas/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Afirst-timers-only) tag for issues that should be ideal for people who are not very familiar with the codebase yet. 2. Fork [the repository](https://github.com/gaphor/gaphas) on GitHub to start making your changes to the **main** branch (or branch off of it). 3. Write a test which shows that the bug was fixed or that the feature works as expected. 4. Send a pull request and bug the maintainers until it gets merged and published. :smile: See [the contributing file](CONTRIBUTING.md)! ## © License Copyright © Arjan Molenaar and Dan Yeaw Licensed under the [Apache License 2.0](LICENSE). Summary: You can do what you like with Gaphas, as long as you include the required notices. This permissive license contains a patent license from the contributors of the code. %prep %autosetup -n gaphas-3.10.3 %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-gaphas -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 3.10.3-1 - Package Spec generated