Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: Deploy docs to GitHub Pages

# yamllint disable-line rule:truthy
on:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
- name: 🏗 Set up Python
uses: actions/setup-python@v5.0.0
with:
python-version: "3.12"
- name: 🏗 Install pydoc-markdown
run: pip install pydoc-markdown
Copy link

Copilot AI Feb 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow installs pydoc-markdown via pip install directly, which bypasses the repo’s existing uv-based, locked dependency approach used in other workflows. To make docs builds reproducible, consider adding pydoc-markdown to the project’s dev dependencies and using uv sync/uv run here as well (or at least pin the installed version).

Suggested change
run: pip install pydoc-markdown
run: pip install pydoc-markdown==4.8.2

Copilot uses AI. Check for mistakes.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't use PIP, bu UV instead. :)

- name: 🏗 Set up Node.js
uses: actions/setup-node@v4.0.2
with:
node-version-file: ".nvmrc"
cache: "npm"
- name: 🏗 Install dependencies
run: npm ci
- name: 🔨 Build with VitePress
run: npm run docs:build
- name: 📦 Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist

deploy:
name: Deploy
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
steps:
- name: 🚀 Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,14 @@ coverage.xml
# Django stuff:
*.log

# Sphinx documentation
docs/_build/
# VitePress
docs/.vitepress/cache
docs/.vitepress/dist

# Auto-generated docs (created by scripts/generate_docs.py via pydoc-markdown)
docs/api.md
docs/models.md
docs/exceptions.md

# pyenv
.python-version
Expand Down
10 changes: 8 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,14 @@ coverage.xml
# Django stuff:
*.log

# Sphinx documentation
docs/_build/
# VitePress
docs/.vitepress/cache
docs/.vitepress/dist

# Auto-generated docs
docs/api.md
docs/models.md
docs/exceptions.md

# pyenv
.python-version
Expand Down
29 changes: 0 additions & 29 deletions .readthedocs.yaml

This file was deleted.

9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

[![Build Status][build-shield]][build]
[![Code Coverage][codecov-shield]][codecov]
[![Documentation][docs-shield]][docs]
[![Quality Gate Status][sonarcloud-shield]][sonarcloud]
[![Documentation Status][readthedocs-shield]][readthedocs]
[![Open in Dev Containers][devcontainer-shield]][devcontainer]

Asynchronous Python client to control Tado devices.
Expand All @@ -22,7 +22,8 @@ Not all endpoints and features are fully supported.
This is the continuation project of PyTado.

## Documentation
A full documentation can be found at [Read the Docs][readthedocs].

Full documentation is available at [GitHub Pages][docs].

## Installation

Expand Down Expand Up @@ -168,6 +169,8 @@ SOFTWARE.
[contributors]: https://github.com/erwindouna/python-tado/graphs/contributors
[devcontainer-shield]: https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode
[devcontainer]: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/erwindouna/python-tado
[docs]: https://erwindouna.github.io/python-tado/
[docs-shield]: https://github.com/erwindouna/python-tado/actions/workflows/deploy-docs.yaml/badge.svg
[erwindouna]: https://github.com/erwindouna
[github-sponsors-shield]: https://erwindouna.dev/wp-content/uploads/2019/12/github_sponsor.png
[github-sponsors]: https://github.com/sponsors/erwindouna
Expand All @@ -185,5 +188,3 @@ SOFTWARE.
[semver]: http://semver.org/spec/v2.0.0.html
[sonarcloud-shield]: https://sonarcloud.io/api/project_badges/measure?project=erwindouna_python-tado&metric=alert_status
[sonarcloud]: https://sonarcloud.io/summary/new_code?id=erwindouna_python-tado
[readthedocs-shield]: https://readthedocs.org/projects/python-tado/badge/?version=latest
[readthedocs]: https://python-tado.readthedocs.io/en/latest/index.html
43 changes: 43 additions & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import { defineConfig } from "vitepress";

// https://vitepress.dev/reference/site-config
export default defineConfig({
base: "/python-tado/",
title: "Tado Async",
description:
"Asynchronous Python client for controlling Tado devices, mainly used for Home Assistant",
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: "Home", link: "/" },
{ text: "Usage", link: "/usage" },
{ text: "API", link: "/api" },
{ text: "Models", link: "/models" },
{ text: "Exceptions", link: "/exceptions" },
],

sidebar: [
{
text: "Documentation",
items: [
{ text: "Home", link: "/" },
{ text: "Usage", link: "/usage" },
{ text: "API Reference", link: "/api" },
{ text: "Models Reference", link: "/models" },
{ text: "Exceptions Reference", link: "/exceptions" },
],
},
],

search: {
provider: "local",
},

socialLinks: [
{
icon: "github",
link: "https://github.com/erwindouna/python-tado",
},
],
},
});
20 changes: 0 additions & 20 deletions docs/Makefile

This file was deleted.

1 change: 0 additions & 1 deletion docs/__init__.py

This file was deleted.

35 changes: 35 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home

hero:
name: "Tado Async"
text: "Asynchronous Python client for the Tado API"
tagline: Control Tado devices from within Python, mainly used for Home Assistant.
actions:
- theme: brand
text: Get Started
link: /usage
- theme: alt
text: API Reference
link: /api

features:
- title: Async Support
details: Fully asynchronous Python client using aiohttp for non-blocking I/O.
- title: Home Assistant
details: Designed for use within Home Assistant, but can also be used standalone.
- title: Comprehensive API
details: Covers zones, devices, weather, capabilities, overlays, and more.
---

## About

**Tado Async** is a Python library that allows you to control Tado devices.
Although it can be used as a standalone package, its current scope is to be used within Home Assistant.
Not all endpoints and features are fully supported.
This is the continuation project of PyTado.

::: warning
This project is under active development.
:::
35 changes: 0 additions & 35 deletions docs/make.bat

This file was deleted.

2 changes: 0 additions & 2 deletions docs/requirements.txt

This file was deleted.

1 change: 0 additions & 1 deletion docs/source/__init__.py

This file was deleted.

9 changes: 0 additions & 9 deletions docs/source/api.rst

This file was deleted.

42 changes: 0 additions & 42 deletions docs/source/conf.py

This file was deleted.

23 changes: 0 additions & 23 deletions docs/source/index.rst

This file was deleted.

Loading
Loading