Metadata-Version: 2.1
Name: turms
Version: 0.1.12
Summary: graphql-codegen powered by pydantic
License: CC BY-NC 3.0
Author: jhnnsrs
Author-email: jhnnsrs@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: graphql-core (>=3.2.0,<4.0.0)
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: rich (>=11.0.0,<12.0.0)
Description-Content-Type: text/markdown

# turms

[![codecov](https://codecov.io/gh/jhnnsrs/turms/branch/master/graph/badge.svg?token=UGXEA2THBV)](https://codecov.io/gh/jhnnsrs/turms)
[![PyPI version](https://badge.fury.io/py/turms.svg)](https://pypi.org/project/turms/)

### DEVELOPMENT

## Inspiration

Turms is a pure python implementation of the awesome graphql-codegen library, following a simliar extensible design.
It makes heavy use of pydantic and its serialization capablities and provides fully typed querys, mutations and subscriptions

## Supports

- Documents
- Fragments
- Enums
- Query Functions

## Features

- Fully Modular (agnostic of graphql engine)
- Specify type mixins, baseclasses...
- Fully Support type hints for variables (Pylance)

## Installation

```bash
pip install turms
```

## Usage

Open your workspace (create a virtual env), in the root folder

```bash
turms init
```

This creates a configuration file in the working directory, edit this to reflect your
settings (see Configuration)

```bash
turms gen
```

Generate beautifully typed Operations, Enums,...

### Why Turms

In Etruscan religion, Turms (usually written as 𐌕𐌖𐌓𐌌𐌑 Turmś in the Etruscan alphabet) was the equivalent of Roman Mercury and Greek Hermes, both gods of trade and the **messenger** god between people and gods.

