summaryrefslogtreecommitdiff
path: root/python-tartiflette.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 23:50:13 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 23:50:13 +0000
commit493a886ef521c23c22ddd8ac51904f1dad5e2d0a (patch)
tree78a85ad3856734358163a086689fb2b9deb701ee /python-tartiflette.spec
parent27a42437acff1be5dcb2e15219459afdcb3de8f7 (diff)
automatic import of python-tartiflette
Diffstat (limited to 'python-tartiflette.spec')
-rw-r--r--python-tartiflette.spec495
1 files changed, 495 insertions, 0 deletions
diff --git a/python-tartiflette.spec b/python-tartiflette.spec
new file mode 100644
index 0000000..a4a336b
--- /dev/null
+++ b/python-tartiflette.spec
@@ -0,0 +1,495 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tartiflette
+Version: 1.4.1
+Release: 1
+Summary: GraphQL Engine for Python
+License: MIT
+URL: https://tartiflette.io
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9a/be/da5a9906a3fdce96776d6cc3b7df82ce5b0fd2a8a9ea7a768d2248702e6a/tartiflette-1.4.1.tar.gz
+BuildArch: noarch
+
+
+%description
+![Tartiflette](docs/github-landing.png)
+
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=tartiflette_tartiflette&metric=alert_status)](https://sonarcloud.io/dashboard?id=tartiflette_tartiflette)
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/context:python)
+
+
+**Tartiflette** is a GraphQL Server implementation built with **Python 3.6+**.
+
+**Summary**
+
+- [Motivation](#motivation)
+- [Status](#status)
+- [Usage](#usage)
+- [Installation](#installation)
+ - [Building from source](#building-from-source)
+- [HTTP server implementations](#http-server-implementations)
+- [Roadmaps](#roadmaps)
+- [How to contribute to the documentation?](#how-to-contribute-to-the-documentation)
+ - [How to run the website locally?](#how-to-run-the-website-locally)
+
+## Motivation
+
+[Read this blogpost about our motivations](https://medium.com/dailymotion/tartiflette-graphql-api-engine-python-open-source-a200c5bbc477)
+TL; DR
+We reached the limits of Graphene, we wanted to build something which met certain requirements:
+* **Offers a better developer experience** that respects the Python mindset
+* **Uses SDL** _(Schema Definition Language)_
+* Uses **asyncio** as the sole execution engine
+* Be 100% open source
+
+## Status
+
+**The [first milestone](/docs/roadmaps/milestone-1.md) is behind us, we are now [on the road to the milestone 2](/docs/roadmaps/milestone-2.md)**.
+
+**DNA**
+
+* Define the **GraphQL schema** with the brand new [SDL _(Schema Definition Language)_](https://github.com/facebook/graphql/blob/master/spec/Section%203%20--%20Type%20System.md).
+* **Performance oriented:** Performance is the core of our work.
+* **Simple is better than complex:** Built with [the Zen of Python](https://www.python.org/dev/peps/pep-0020/#id3) in mind. No over-engineering.
+
+Discover Tartiflette with our fabulous tutorial on [https://tartiflette.io/docs/tutorial/getting-started](https://tartiflette.io/docs/tutorial/getting-started)
+
+## Usage
+
+```python
+import asyncio
+
+from tartiflette import Resolver, create_engine
+
+@Resolver("Query.hello")
+async def resolver_hello(parent, args, ctx, info):
+ return "hello " + args["name"]
+
+
+async def run():
+ engine = await create_engine(
+ """
+ type Query {
+ hello(name: String): String
+ }
+ """
+ )
+
+ result = await engine.execute(
+ query='query { hello(name: "Chuck") }'
+ )
+
+ print(result)
+ # {'data': {'hello': 'hello Chuck'}}
+
+if __name__ == "__main__":
+ loop = asyncio.get_event_loop()
+ loop.run_until_complete(run())
+```
+
+More details on the [API Documentation](https://tartiflette.io/docs/api/engine/)
+
+## Installation
+
+Tartiflette is available on [pypi.org](https://pypi.org/project/tartiflette/).
+
+While the project depends on *[libgraphqlparser](https://github.com/graphql/libgraphqlparser)*,
+wheels are provided since version 1.4.0, ensuring that no system dependency is required.
+
+To install the library:
+
+```bash
+pip install tartiflette
+```
+
+### Building from source
+
+If you use a platform incompatible with the provided wheels, you'll need to install `cmake` to build `libgraphqlparser`
+in order to install the library.
+
+*macOS*
+```bash
+brew install cmake
+```
+
+*Debian/Ubuntu*
+```bash
+apt-get install cmake
+```
+
+## HTTP server implementations
+
+`tartiflette` library itself is transport agnostic, but to simplify integration with existing HTTP servers, two
+different libraries are available:
+
+- [tartiflette-aiohttp](https://github.com/tartiflette/tartiflette-aiohttp): integration with `aiohttp`
+- [tartiflette-asgi](https://github.com/tartiflette/tartiflette-asgi): integration with ASGI compatible HTTP servers
+
+## Roadmaps
+
+* [Milestone 1 _(Released)_](/docs/roadmaps/milestone-1.md)
+* [Milestone 2 - **Work in progress**](/docs/roadmaps/milestone-2.md)
+
+## How to contribute to the documentation?
+
+As you may know, the documentation is hosted on https://tartiflette.io. This _fabulous_ website is built thanks to another amazing tool, [docusaurus](https://docusaurus.io/).
+
+The content of the documentation is hosted in this repository, to be as close as possible to the code. You will find everything you need/want in the folder `/docs`.
+
+### How to run the website locally?
+
+We built a docker image for the documentation _(tartiflette/tartiflette.io on docker hub)_, which allow us to provide you an easy way to launch the documentation locally, without installing a specific version of node.
+
+**prerequisite**:
+- Docker
+- Docker Compose
+- Make
+
+```bash
+make run-docs
+```
+
+Every change you will make in the `/docs` folder will be automatically hot reloaded. :tada:
+
+
+
+
+%package -n python3-tartiflette
+Summary: GraphQL Engine for Python
+Provides: python-tartiflette
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tartiflette
+![Tartiflette](docs/github-landing.png)
+
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=tartiflette_tartiflette&metric=alert_status)](https://sonarcloud.io/dashboard?id=tartiflette_tartiflette)
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/context:python)
+
+
+**Tartiflette** is a GraphQL Server implementation built with **Python 3.6+**.
+
+**Summary**
+
+- [Motivation](#motivation)
+- [Status](#status)
+- [Usage](#usage)
+- [Installation](#installation)
+ - [Building from source](#building-from-source)
+- [HTTP server implementations](#http-server-implementations)
+- [Roadmaps](#roadmaps)
+- [How to contribute to the documentation?](#how-to-contribute-to-the-documentation)
+ - [How to run the website locally?](#how-to-run-the-website-locally)
+
+## Motivation
+
+[Read this blogpost about our motivations](https://medium.com/dailymotion/tartiflette-graphql-api-engine-python-open-source-a200c5bbc477)
+TL; DR
+We reached the limits of Graphene, we wanted to build something which met certain requirements:
+* **Offers a better developer experience** that respects the Python mindset
+* **Uses SDL** _(Schema Definition Language)_
+* Uses **asyncio** as the sole execution engine
+* Be 100% open source
+
+## Status
+
+**The [first milestone](/docs/roadmaps/milestone-1.md) is behind us, we are now [on the road to the milestone 2](/docs/roadmaps/milestone-2.md)**.
+
+**DNA**
+
+* Define the **GraphQL schema** with the brand new [SDL _(Schema Definition Language)_](https://github.com/facebook/graphql/blob/master/spec/Section%203%20--%20Type%20System.md).
+* **Performance oriented:** Performance is the core of our work.
+* **Simple is better than complex:** Built with [the Zen of Python](https://www.python.org/dev/peps/pep-0020/#id3) in mind. No over-engineering.
+
+Discover Tartiflette with our fabulous tutorial on [https://tartiflette.io/docs/tutorial/getting-started](https://tartiflette.io/docs/tutorial/getting-started)
+
+## Usage
+
+```python
+import asyncio
+
+from tartiflette import Resolver, create_engine
+
+@Resolver("Query.hello")
+async def resolver_hello(parent, args, ctx, info):
+ return "hello " + args["name"]
+
+
+async def run():
+ engine = await create_engine(
+ """
+ type Query {
+ hello(name: String): String
+ }
+ """
+ )
+
+ result = await engine.execute(
+ query='query { hello(name: "Chuck") }'
+ )
+
+ print(result)
+ # {'data': {'hello': 'hello Chuck'}}
+
+if __name__ == "__main__":
+ loop = asyncio.get_event_loop()
+ loop.run_until_complete(run())
+```
+
+More details on the [API Documentation](https://tartiflette.io/docs/api/engine/)
+
+## Installation
+
+Tartiflette is available on [pypi.org](https://pypi.org/project/tartiflette/).
+
+While the project depends on *[libgraphqlparser](https://github.com/graphql/libgraphqlparser)*,
+wheels are provided since version 1.4.0, ensuring that no system dependency is required.
+
+To install the library:
+
+```bash
+pip install tartiflette
+```
+
+### Building from source
+
+If you use a platform incompatible with the provided wheels, you'll need to install `cmake` to build `libgraphqlparser`
+in order to install the library.
+
+*macOS*
+```bash
+brew install cmake
+```
+
+*Debian/Ubuntu*
+```bash
+apt-get install cmake
+```
+
+## HTTP server implementations
+
+`tartiflette` library itself is transport agnostic, but to simplify integration with existing HTTP servers, two
+different libraries are available:
+
+- [tartiflette-aiohttp](https://github.com/tartiflette/tartiflette-aiohttp): integration with `aiohttp`
+- [tartiflette-asgi](https://github.com/tartiflette/tartiflette-asgi): integration with ASGI compatible HTTP servers
+
+## Roadmaps
+
+* [Milestone 1 _(Released)_](/docs/roadmaps/milestone-1.md)
+* [Milestone 2 - **Work in progress**](/docs/roadmaps/milestone-2.md)
+
+## How to contribute to the documentation?
+
+As you may know, the documentation is hosted on https://tartiflette.io. This _fabulous_ website is built thanks to another amazing tool, [docusaurus](https://docusaurus.io/).
+
+The content of the documentation is hosted in this repository, to be as close as possible to the code. You will find everything you need/want in the folder `/docs`.
+
+### How to run the website locally?
+
+We built a docker image for the documentation _(tartiflette/tartiflette.io on docker hub)_, which allow us to provide you an easy way to launch the documentation locally, without installing a specific version of node.
+
+**prerequisite**:
+- Docker
+- Docker Compose
+- Make
+
+```bash
+make run-docs
+```
+
+Every change you will make in the `/docs` folder will be automatically hot reloaded. :tada:
+
+
+
+
+%package help
+Summary: Development documents and examples for tartiflette
+Provides: python3-tartiflette-doc
+%description help
+![Tartiflette](docs/github-landing.png)
+
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=tartiflette_tartiflette&metric=alert_status)](https://sonarcloud.io/dashboard?id=tartiflette_tartiflette)
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/tartiflette/tartiflette.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/tartiflette/tartiflette/context:python)
+
+
+**Tartiflette** is a GraphQL Server implementation built with **Python 3.6+**.
+
+**Summary**
+
+- [Motivation](#motivation)
+- [Status](#status)
+- [Usage](#usage)
+- [Installation](#installation)
+ - [Building from source](#building-from-source)
+- [HTTP server implementations](#http-server-implementations)
+- [Roadmaps](#roadmaps)
+- [How to contribute to the documentation?](#how-to-contribute-to-the-documentation)
+ - [How to run the website locally?](#how-to-run-the-website-locally)
+
+## Motivation
+
+[Read this blogpost about our motivations](https://medium.com/dailymotion/tartiflette-graphql-api-engine-python-open-source-a200c5bbc477)
+TL; DR
+We reached the limits of Graphene, we wanted to build something which met certain requirements:
+* **Offers a better developer experience** that respects the Python mindset
+* **Uses SDL** _(Schema Definition Language)_
+* Uses **asyncio** as the sole execution engine
+* Be 100% open source
+
+## Status
+
+**The [first milestone](/docs/roadmaps/milestone-1.md) is behind us, we are now [on the road to the milestone 2](/docs/roadmaps/milestone-2.md)**.
+
+**DNA**
+
+* Define the **GraphQL schema** with the brand new [SDL _(Schema Definition Language)_](https://github.com/facebook/graphql/blob/master/spec/Section%203%20--%20Type%20System.md).
+* **Performance oriented:** Performance is the core of our work.
+* **Simple is better than complex:** Built with [the Zen of Python](https://www.python.org/dev/peps/pep-0020/#id3) in mind. No over-engineering.
+
+Discover Tartiflette with our fabulous tutorial on [https://tartiflette.io/docs/tutorial/getting-started](https://tartiflette.io/docs/tutorial/getting-started)
+
+## Usage
+
+```python
+import asyncio
+
+from tartiflette import Resolver, create_engine
+
+@Resolver("Query.hello")
+async def resolver_hello(parent, args, ctx, info):
+ return "hello " + args["name"]
+
+
+async def run():
+ engine = await create_engine(
+ """
+ type Query {
+ hello(name: String): String
+ }
+ """
+ )
+
+ result = await engine.execute(
+ query='query { hello(name: "Chuck") }'
+ )
+
+ print(result)
+ # {'data': {'hello': 'hello Chuck'}}
+
+if __name__ == "__main__":
+ loop = asyncio.get_event_loop()
+ loop.run_until_complete(run())
+```
+
+More details on the [API Documentation](https://tartiflette.io/docs/api/engine/)
+
+## Installation
+
+Tartiflette is available on [pypi.org](https://pypi.org/project/tartiflette/).
+
+While the project depends on *[libgraphqlparser](https://github.com/graphql/libgraphqlparser)*,
+wheels are provided since version 1.4.0, ensuring that no system dependency is required.
+
+To install the library:
+
+```bash
+pip install tartiflette
+```
+
+### Building from source
+
+If you use a platform incompatible with the provided wheels, you'll need to install `cmake` to build `libgraphqlparser`
+in order to install the library.
+
+*macOS*
+```bash
+brew install cmake
+```
+
+*Debian/Ubuntu*
+```bash
+apt-get install cmake
+```
+
+## HTTP server implementations
+
+`tartiflette` library itself is transport agnostic, but to simplify integration with existing HTTP servers, two
+different libraries are available:
+
+- [tartiflette-aiohttp](https://github.com/tartiflette/tartiflette-aiohttp): integration with `aiohttp`
+- [tartiflette-asgi](https://github.com/tartiflette/tartiflette-asgi): integration with ASGI compatible HTTP servers
+
+## Roadmaps
+
+* [Milestone 1 _(Released)_](/docs/roadmaps/milestone-1.md)
+* [Milestone 2 - **Work in progress**](/docs/roadmaps/milestone-2.md)
+
+## How to contribute to the documentation?
+
+As you may know, the documentation is hosted on https://tartiflette.io. This _fabulous_ website is built thanks to another amazing tool, [docusaurus](https://docusaurus.io/).
+
+The content of the documentation is hosted in this repository, to be as close as possible to the code. You will find everything you need/want in the folder `/docs`.
+
+### How to run the website locally?
+
+We built a docker image for the documentation _(tartiflette/tartiflette.io on docker hub)_, which allow us to provide you an easy way to launch the documentation locally, without installing a specific version of node.
+
+**prerequisite**:
+- Docker
+- Docker Compose
+- Make
+
+```bash
+make run-docs
+```
+
+Every change you will make in the `/docs` folder will be automatically hot reloaded. :tada:
+
+
+
+
+%prep
+%autosetup -n tartiflette-1.4.1
+
+%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-tartiflette -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.1-1
+- Package Spec generated