<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Conventions</title><link>https://sourceforge.net/p/ecowin/wiki/Conventions/</link><description>Recent changes to Conventions</description><atom:link href="https://sourceforge.net/p/ecowin/wiki/Conventions/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 29 Jun 2011 19:31:59 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ecowin/wiki/Conventions/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Conventions modified by Adam Voss</title><link>https://sourceforge.net/p/ecowin/wiki/Conventions/</link><description>Python
======

* All indents are to have 4 spaces. Tab characters should not occur.
* All python files begin with a UTF-8 encoding declaration
    * `# -*- coding: utf-8 -*-`
* Any shebangs should use /bin/env for portability reasons
    * ex. #!/usr/bin/env python2 
* Every class and function should have explanatory documentation in triple, double quotes.

Python Packages
---------------

* Our Python code is structured in Packages
    * To allow our Modules to be imported, `__init__.py` files must be be contained in the directory corresponding to the package name
    * The `__all__` variable must be defined in the `__init__.py` files in order for parts of the package to be accessible by "from ecowin import *" syntax
    * The `__all__` variable is a list of strings corresponding to modules that should be imported when using the mentioned syntax
    * `__init__.py` can also contain initialization code that will be executed upon importation of a package's module </description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Voss</dc:creator><pubDate>Wed, 29 Jun 2011 19:31:59 -0000</pubDate><guid>https://sourceforge.net9c7fe271413f11772594db27be9737dca926cf3c</guid></item></channel></rss>