Site updated at 2016-10-04 20:10:44 UTC
This commit is contained in:
parent
bf0b9cb09e
commit
3b9c663df3
25 changed files with 68 additions and 68 deletions
2
atom.xml
2
atom.xml
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Home Assistant]]></title>
|
<title><![CDATA[Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Community | Home Assistant]]></title>
|
<title><![CDATA[Category: Community | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/community/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/community/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Device-Tracking | Home Assistant]]></title>
|
<title><![CDATA[Category: Device-Tracking | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/device-tracking/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/device-tracking/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: ESP8266 | Home Assistant]]></title>
|
<title><![CDATA[Category: ESP8266 | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/esp8266/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/esp8266/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: How-To | Home Assistant]]></title>
|
<title><![CDATA[Category: How-To | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/how-to/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/how-to/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: iBeacons | Home Assistant]]></title>
|
<title><![CDATA[Category: iBeacons | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/ibeacons/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/ibeacons/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Internet-of-Things | Home Assistant]]></title>
|
<title><![CDATA[Category: Internet-of-Things | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/internet-of-things/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/internet-of-things/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: IoT-Data | Home Assistant]]></title>
|
<title><![CDATA[Category: IoT-Data | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/iot-data/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/iot-data/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Micropython | Home Assistant]]></title>
|
<title><![CDATA[Category: Micropython | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/micropython/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/micropython/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: MQTT | Home Assistant]]></title>
|
<title><![CDATA[Category: MQTT | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/mqtt/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/mqtt/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Organisation | Home Assistant]]></title>
|
<title><![CDATA[Category: Organisation | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/organisation/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/organisation/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: OwnTracks | Home Assistant]]></title>
|
<title><![CDATA[Category: OwnTracks | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/owntracks/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/owntracks/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Presence-Detection | Home Assistant]]></title>
|
<title><![CDATA[Category: Presence-Detection | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/presence-detection/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/presence-detection/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Public-Service-Announcement | Home Assistant]]></title>
|
<title><![CDATA[Category: Public-Service-Announcement | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/public-service-announcement/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/public-service-announcement/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Release-Notes | Home Assistant]]></title>
|
<title><![CDATA[Category: Release-Notes | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/release-notes/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/release-notes/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Survey | Home Assistant]]></title>
|
<title><![CDATA[Category: Survey | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/survey/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/survey/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Talks | Home Assistant]]></title>
|
<title><![CDATA[Category: Talks | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/talks/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/talks/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Technology | Home Assistant]]></title>
|
<title><![CDATA[Category: Technology | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/technology/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/technology/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: User-Stories | Home Assistant]]></title>
|
<title><![CDATA[Category: User-Stories | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/user-stories/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/user-stories/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Video | Home Assistant]]></title>
|
<title><![CDATA[Category: Video | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/video/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/video/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Website | Home Assistant]]></title>
|
<title><![CDATA[Category: Website | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/website/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/website/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-10-04T20:03:44+00:00</updated>
|
<updated>2016-10-04T20:09:01+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Home Assistant]]></name>
|
<name><![CDATA[Home Assistant]]></name>
|
||||||
|
|
|
@ -7,26 +7,26 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
<title>Checklist - Home Assistant</title>
|
<title>Development Checklist - Home Assistant</title>
|
||||||
<meta name="author" content="Home Assistant">
|
<meta name="author" content="Home Assistant">
|
||||||
<meta name="description" content="Overview of the requirements for an improvment for Home Assistant.">
|
<meta name="description" content="Overview of the requirements for an improvement for Home Assistant.">
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width">
|
<meta name="viewport" content="width=device-width">
|
||||||
<link rel="canonical" href="https://home-assistant.io/developers/development_checklist/">
|
<link rel="canonical" href="https://home-assistant.io/developers/development_checklist/">
|
||||||
|
|
||||||
<meta property="fb:app_id" content="338291289691179">
|
<meta property="fb:app_id" content="338291289691179">
|
||||||
<meta property="og:title" content="Checklist">
|
<meta property="og:title" content="Development Checklist">
|
||||||
<meta property="og:site_name" content="Home Assistant">
|
<meta property="og:site_name" content="Home Assistant">
|
||||||
<meta property="og:url" content="https://home-assistant.io/developers/development_checklist/">
|
<meta property="og:url" content="https://home-assistant.io/developers/development_checklist/">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:description" content="Overview of the requirements for an improvment for Home Assistant.">
|
<meta property="og:description" content="Overview of the requirements for an improvement for Home Assistant.">
|
||||||
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
|
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary_large_image">
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
<meta name="twitter:site" content="@home_assistant">
|
<meta name="twitter:site" content="@home_assistant">
|
||||||
|
|
||||||
<meta name="twitter:title" content="Checklist">
|
<meta name="twitter:title" content="Development Checklist">
|
||||||
<meta name="twitter:description" content="Overview of the requirements for an improvment for Home Assistant.">
|
<meta name="twitter:description" content="Overview of the requirements for an improvement for Home Assistant.">
|
||||||
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
|
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
|
||||||
|
|
||||||
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
|
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
|
||||||
|
@ -83,19 +83,23 @@
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<h1 class="title indent">
|
<h1 class="title indent">
|
||||||
Checklist
|
Development Checklist
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<hr class="divider">
|
<hr class="divider">
|
||||||
|
|
||||||
|
|
||||||
<p>After you finish your work:</p>
|
<p>Before you commit any changes, check your work against these requirements:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Check that all dependencies are included via the <code class="highlighter-rouge">REQUIREMENTS</code> variable in your platform/component and only imported inside functions that use them.</li>
|
<li>All dependencies are included via the <code class="highlighter-rouge">REQUIREMENTS</code> variable in your platform or component and only imported inside functions that use them</li>
|
||||||
<li>Add any new dependencies to <code class="highlighter-rouge">requirements_all.txt</code> if needed. Use <code class="highlighter-rouge">script/gen_requirements_all.py</code>.</li>
|
<li>New dependencies are added to <code class="highlighter-rouge">requirements_all.txt</code> (if applicable), using <code class="highlighter-rouge">script/gen_requirements_all.py</code></li>
|
||||||
<li>Update the <code class="highlighter-rouge">.coveragerc</code> file to exclude your platform if there are no tests available or your new code uses a 3rd party library for communication with the device/service/sensor.</li>
|
<li>The <code class="highlighter-rouge">.coveragerc</code> file is updated to exclude your platform if there are no tests available or your new code uses a third-party library for communication with the device, service, or sensor</li>
|
||||||
<li>Provide some documentation for <a href="https://home-assistant.io/">home-assistant.io</a>. It’s OK to just add a docstring with configuration details (sample entry for <code class="highlighter-rouge">configuration.yaml</code> file and alike) to the file header as a start. Visit the <a href="/developers/website/">website documentation</a> for further information on contributing to <a href="https://github.com/home-assistant/home-assistant.github.io">home-assistant.io</a>.</li>
|
<li>Documentation is developed for <a href="https://home-assistant.io/">home-assistant.io</a>
|
||||||
|
<ul>
|
||||||
|
<li>It’s OK to start with adding a docstring with configuration details (for example, sample entry for <code class="highlighter-rouge">configuration.yaml</code> file) to the file header. Visit the <a href="/developers/website/">website documentation</a> for more information about contributing to <a href="https://github.com/home-assistant/home-assistant.github.io">home-assistant.io</a>.</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -109,14 +109,11 @@
|
||||||
<p><code class="highlighter-rouge">git add .</code></p>
|
<p><code class="highlighter-rouge">git add .</code></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">git commit -m "Added some-feature"</code></p>
|
<p><code class="highlighter-rouge">git commit -m "Added some-feature"</code></p>
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Consider adding tests to ensure that your code works.</li>
|
<li>Consider adding tests to ensure that your code works.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</li>
|
||||||
<ol>
|
|
||||||
<li>
|
<li>
|
||||||
<p>Push your committed changes back to your fork on GitHub:</p>
|
<p>Push your committed changes back to your fork on GitHub:</p>
|
||||||
|
|
||||||
|
|
|
@ -89,31 +89,31 @@
|
||||||
<hr class="divider">
|
<hr class="divider">
|
||||||
|
|
||||||
|
|
||||||
<p>Home Assistant enforces strict <a href="https://www.python.org/dev/peps/pep-0008/">PEP8 style</a> compliance on all code submitted. Every Pull Request is automatically tested with <a href="https://coveralls.io/github/home-assistant/home-assistant">Coveralls</a> and <a href="https://travis-ci.org/home-assistant/home-assistant">Travis CI</a> after it is created.</p>
|
<p>Home Assistant enforces strict <a href="https://www.python.org/dev/peps/pep-0008/">PEP8 style</a> compliance on all code submitted. We automatically test every pull request with <a href="https://coveralls.io/github/home-assistant/home-assistant">Coveralls</a> and <a href="https://travis-ci.org/home-assistant/home-assistant">Travis CI</a>.</p>
|
||||||
|
|
||||||
<h3><a class="title-link" name="local-testing" href="#local-testing"></a> Local testing</h3>
|
<h3><a class="title-link" name="local-testing" href="#local-testing"></a> Local testing</h3>
|
||||||
|
|
||||||
<p>It’s highly recommended to run <code class="highlighter-rouge">tox</code> before you create your Pull Request to avoid annoying fixes. Local testing requires <code class="highlighter-rouge">tox</code> to be installed.</p>
|
<p><strong>Important:</strong> Run tox before you create your pull request to avoid annoying fixes. Local testing requires installing tox.</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install tox
|
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install tox
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Start the test of your code with <code class="highlighter-rouge">tox</code>.</p>
|
<p>Start your code test with <code class="highlighter-rouge">tox</code>.</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>tox
|
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>tox
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>This will run unit tests against python 3.4 and 3.5 (if both are available locally), as well as run a set of tests which validate <code class="highlighter-rouge">pep8</code> and <code class="highlighter-rouge">pylint</code> style of the code.</p>
|
<p>This will run unit tests against Python 3.4 and 3.5 (if both are available locally), as well as tests that validate <code class="highlighter-rouge">pep8</code> and <code class="highlighter-rouge">pylint</code> style.</p>
|
||||||
|
|
||||||
<h4><a class="title-link" name="testing-tips" href="#testing-tips"></a> Testing Tips</h4>
|
<h4><a class="title-link" name="testing-tips" href="#testing-tips"></a> Testing Tips</h4>
|
||||||
|
|
||||||
<p>You can optionally run tests on only one tox target using the <code class="highlighter-rouge">-e</code> option to select an environment. For instance <code class="highlighter-rouge">tox -e lint</code> will run the linters only, <code class="highlighter-rouge">tox -e py34</code> will run unit tests only on python 3.4.</p>
|
<p>You can run tests on only one tox target – just use <code class="highlighter-rouge">-e</code> to select an environment. For example, <code class="highlighter-rouge">tox -e lint</code> runs the linters only, and <code class="highlighter-rouge">tox -e py34</code> runs unit tests only on Python 3.4.</p>
|
||||||
|
|
||||||
<p>Tox uses virtual environments under the hood to create isolated testing environments. The Tox virtual environments will get out date when requirements change causing test errors. Run <code class="highlighter-rouge">tox -r</code> to create new Tox virtual environments.</p>
|
<p>tox uses virtual environments under the hood to create isolated testing environments. The tox virtual environments will get out-of-date when requirements change, causing test errors. Run <code class="highlighter-rouge">tox -r</code> to create new tox virtual environments.</p>
|
||||||
|
|
||||||
<p>During development on a specific file, it can speed up your workflow to just run tests and linting related to the file that you’re working on. To run individual files:</p>
|
<p>During development on a specific file, speed up your workflow by running tests and linting only for the file that you’re working on. To run individual files:</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>flake8 homeassistant/core.py
|
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>flake8 homeassistant/core.py
|
||||||
<span class="gp">$ </span>pylint homeassistant/core.py
|
<span class="gp">$ </span>pylint homeassistant/core.py
|
||||||
|
@ -121,27 +121,26 @@
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>You also run linting tests against all changed files, as reported by <code class="highlighter-rouge">git diff upstream/dev --name-only</code> using the <code class="highlighter-rouge">lint</code> script:</p>
|
<p>You can also run linting tests against all changed files, as reported by <code class="highlighter-rouge">git diff upstream/dev --name-only</code>, using the <code class="highlighter-rouge">lint</code> script:</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">home-assistant$ </span>script/lint --changed
|
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">home-assistant$ </span>script/lint --changed
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3><a class="title-link" name="prevent-linter-errors" href="#prevent-linter-errors"></a> Prevent Linter Errors</h3>
|
<h3><a class="title-link" name="preventing-linter-errors" href="#preventing-linter-errors"></a> Preventing Linter Errors</h3>
|
||||||
|
|
||||||
<p>You can save yourself the hassle of extra commits just to fix style errors by enabling the flake8 git commit hook. It will check your code when you attempt to commit to the repository. It will block the commit if there are any style issues, giving you a chance to fix it.</p>
|
<p>Save yourself the hassle of extra commits just to fix style errors by enabling the Flake8 git commit hook. Flake8 will check your code when you try to commit to the repository and block the commit if there are any style errors, which gives you a chance to fix them!</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install flake8 flake8-docstrings
|
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install flake8 flake8-docstrings
|
||||||
<span class="gp">$ </span>flake8 --install-hook<span class="o">=</span>git
|
<span class="gp">$ </span>flake8 --install-hook<span class="o">=</span>git
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>The flake8-docstrings extension will check docstrings according to <a href="https://www.python.org/dev/peps/pep-0257/">PEP257</a> when running flake8.</p>
|
<p>The <code class="highlighter-rouge">flake8-docstrings</code> extension will check docstrings according to <a href="https://www.python.org/dev/peps/pep-0257/">PEP257</a> when running Flake8.</p>
|
||||||
|
|
||||||
<h3><a class="title-link" name="notes-on-pylint-and-pep8-validation" href="#notes-on-pylint-and-pep8-validation"></a> Notes on PyLint and PEP8 validation</h3>
|
<h3><a class="title-link" name="notes-on-pylint-and-pep8-validation" href="#notes-on-pylint-and-pep8-validation"></a> Notes on PyLint and PEP8 validation</h3>
|
||||||
|
|
||||||
<p>In case a PyLint warning cannot be avoided, add a comment to disable the PyLint check for that line. This can be done using the format <code class="highlighter-rouge"># pylint: disable=YOUR-ERROR-NAME</code>. Example of an unavoidable PyLint warning is if you do not use the passed in datetime if you’re listening for time change.</p>
|
<p>If you can’t avoid a PyLint warning, add a comment to disable the PyLint check for that line with <code class="highlighter-rouge"># pylint: disable=YOUR-ERROR-NAME</code>. An example of an unavoidable PyLint warning is not using the passed-in datetime if you’re listening for a time change.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
30
sitemap.xml
30
sitemap.xml
|
@ -2113,62 +2113,62 @@
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/frontend.html</loc>
|
<loc>https://home-assistant.io/demo/frontend.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/index.html</loc>
|
<loc>https://home-assistant.io/demo/index.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-event.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-event.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-info.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-info.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-service.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-service.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-state.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-state.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-template.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-dev-template.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-history.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-history.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-iframe.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-iframe.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-logbook.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-logbook.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/panels/ha-panel-map.html</loc>
|
<loc>https://home-assistant.io/demo/panels/ha-panel-map.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/googlef4f3693c209fe788.html</loc>
|
<loc>https://home-assistant.io/googlef4f3693c209fe788.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html</loc>
|
<loc>https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html</loc>
|
<loc>https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/static/mdi-demo.html</loc>
|
<loc>https://home-assistant.io/static/mdi-demo.html</loc>
|
||||||
<lastmod>2016-10-04T20:03:00+00:00</lastmod>
|
<lastmod>2016-10-04T20:08:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue