Metadata-Version: 2.4
Name: red-tidegear
Version: 1.10.3
Summary: A small collection of utilities for cog creation with Red-DiscordBot.
Project-URL: Homepage, https://c.csw.im/cswimr/tidegear
Project-URL: Documentation, https://tidegear.csw.im
Project-URL: Issues, https://c.csw.im/cswimr/tidegear/issues
Project-URL: source_archive, https://c.csw.im/cswimr/tidegear/archive/26492558e96afa4635b828915db6cc93b6ad08f6.tar.gz
Author-email: cswimr <seaswimmertehfsh@gmail.com>
License-Expression: MPL-2.0
License-File: LICENSE.md
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Requires-Python: <3.12,>=3.11
Requires-Dist: furl>=2.1.4
Requires-Dist: humanize>=4.12.3
Requires-Dist: pip
Requires-Dist: red-discordbot>=3.5.6
Provides-Extra: pydantic
Requires-Dist: pydantic>=2.11.0; extra == 'pydantic'
Provides-Extra: sentinel
Requires-Dist: phx-class-registry>=5.1.1; extra == 'sentinel'
Requires-Dist: piccolo[sqlite]>=1.27.1; extra == 'sentinel'
Requires-Dist: pydantic>=2.11.0; extra == 'sentinel'
Requires-Dist: redbot-orm>=0.0.4; extra == 'sentinel'
Description-Content-Type: text/markdown

# Tidegear

[<img alt="Discord" src="https://img.shields.io/discord/1070058354925383681?logo=discord&color=%235661f6">](https://discord.gg/eMUMe77Yb8)
[<img alt="Documentation" src="https://img.shields.io/badge/docs-CoastalCommits%20Pages-3e83fd?logo=materialformkdocs">](https://tidegear.csw.im)
[<img alt="Actions Status" src="https://c.csw.im/cswimr/tidegear/badges/workflows/actions.yaml/badge.svg">](https://c.csw.im/cswimr/tidegear/actions?workflow=actions.yaml)
[<img alt="PyPI - Version" src="https://img.shields.io/pypi/v/red-tidegear">](https://pypi.org/project/red-tidegear/)
[<img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/red-tidegear">](https://pypi.org/project/red-tidegear/)
[<img alt="PyPI - License" src="https://img.shields.io/pypi/l/red-tidegear">](https://c.csw.im/cswimr/tidegear/src/tag/v1.10.3/LICENSE.md)  

A collection of utilities for use with [Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot), made for [SeaCogs](https://c.csw.im/cswimr/SeaCogs).

## Metadata File

The cog class provided by [`tidegear.Cog`](https://c.csw.im/cswimr/tidegear/src/tag/v1.10.3/tidegear/cog.py) requires consuming cogs to have a `meta.json` file in your cog's bundled data directory. The `meta.json` file must match the schema provided in [`schema/meta/meta.json`](https://c.csw.im/cswimr/tidegear/src/tag/v1.10.3/schema/meta/meta.json). An example file is located at [`scheme/meta/meta.example.json`](https://c.csw.im/cswimr/tidegear/src/tag/v1.10.3/schema/meta/meta.example.json). Additional keys are disallowed by the schema but will not cause errors.

## Developing

You'll need some prerequisites before you can start working on Tidegear.  
[git](https://git-scm.com) - [uv](https://docs.astral.sh/uv)  
Additionally, I recommend a code editor of some variety. [Visual Studio Code](https://code.visualstudio.com) is a good, beginner-friendly option.

### Installing Prerequisites

_This section of the guide only applies to Windows systems.
If you're on Linux, refer to the documentation of the projects listed above. I also offer a [Nix Flake](https://c.csw.im/cswimr/tidegear/src/tag/v1.10.3/flake.nix) that contains all of the required prerequisites, if you're a Nix user._

#### [`git`](https://git-scm.com)

You can download git from the [git download page](https://git-scm.com/downloads/win).

Alternatively, you can use `winget`:

```ps1
winget install --id=Git.Git -e --source=winget
```

#### [`uv`](https://docs.astral.sh/uv)

You can install uv with the following Powershell command:

```ps1
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Alternatively, you can use `winget`:

```ps1
winget install --id=astral-sh.uv -e
```

### Getting the Source Code

Once you have [`git`](https://git-scm.com) installed, you can use the `git clone` command to get a copy of the repository on your system.

```bash
git clone https://c.csw.im/cswimr/tidegear.git
```

Then, you can use `uv` to install the Python dependencies required for development.

```bash
uv sync --all-groups --all-extras --frozen
```
