<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Funkyfuture</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Funkyfuture"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Funkyfuture"/>
	<updated>2026-04-27T21:35:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=TODO:py3_packages&amp;diff=12928</id>
		<title>TODO:py3 packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=TODO:py3_packages&amp;diff=12928"/>
		<updated>2016-09-01T10:19:08Z</updated>

		<summary type="html">&lt;p&gt;Funkyfuture: add a not on py-django1.5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Most of the Python packages in Alpine don’t support Python 3, although the packaged module supports it.&lt;br /&gt;
We would like to support Python 3 wherever it’s possible and would be happy if you can help us with it!&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
&lt;br /&gt;
Python 2 and 3 installs modules into different directories, the compiled bytecode (&amp;lt;tt&amp;gt;*.pyc&amp;lt;/tt&amp;gt; files) is different and native extensions are linked against different Python shared library.&lt;br /&gt;
Therefore to support both versions, we need to build two packages.&lt;br /&gt;
Since the source is the same, we do it as one APKBUILD that provides two subpackages: &amp;lt;tt&amp;gt;py2-&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;py3-&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Base package &amp;lt;tt&amp;gt;py-&amp;lt;/tt&amp;gt; is then a metapackage that pulls &amp;lt;tt&amp;gt;py2-&amp;lt;/tt&amp;gt; subpackage if &amp;lt;tt&amp;gt;python2&amp;lt;/tt&amp;gt; is installed or &amp;lt;tt&amp;gt;py3-&amp;lt;/tt&amp;gt; subpackage if &amp;lt;tt&amp;gt;python3&amp;lt;/tt&amp;gt; is installed.&lt;br /&gt;
&lt;br /&gt;
== How to do it ==&lt;br /&gt;
&lt;br /&gt;
Before you start, prepare your environment for building packages ([[Creating_an_Alpine_package#Setup_your_system_and_account|Creating an Alpine package]]).&lt;br /&gt;
&lt;br /&gt;
# Take some package from the list below. Higher priority have packages with some compiled code (those have &amp;lt;tt&amp;gt;arch=&amp;quot;all&amp;quot;&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Check if the Python package is compatible with Python 3. Tip: When you look into the package’s &amp;lt;tt&amp;gt;setup.py&amp;lt;/tt&amp;gt; file, there are usually declared some classifiers like &amp;lt;tt&amp;gt;Programming Language :: Python :: 2&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Programming Language :: Python :: 3&amp;lt;/tt&amp;gt;.&lt;br /&gt;
## If it’s &#039;&#039;&#039;not&#039;&#039;&#039; compatible with Python 3, then write it into the table below as a note.&lt;br /&gt;
## If it’s compatible with Python 3, then continue with next steps.&lt;br /&gt;
# Check if requirements in the package’s &amp;lt;tt&amp;gt;setup.py&amp;lt;/tt&amp;gt; corresponds with the abuild’s &amp;lt;tt&amp;gt;depends&amp;lt;/tt&amp;gt;. Some Python packages have additional dependencies depending on the Python version (for Alpine is relevant just 2.7 and 3.5).&lt;br /&gt;
# Adjust the APKBUILD (see below).&lt;br /&gt;
# Try to build it.&lt;br /&gt;
# If everything is okay, commit the change (use commit message like &#039;&#039;&amp;lt;repo&amp;gt;/&amp;lt;pkgname&amp;gt;: add py2/py3 subpackages&#039;&#039;).&lt;br /&gt;
# Send pull request to https://github.com/alpinelinux/aports.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, then don’t hesitate to ask on IRC [irc://irc.freenode.net/alpine-devel #alpine-devel]!&lt;br /&gt;
&lt;br /&gt;
=== APKBUILD ===&lt;br /&gt;
&lt;br /&gt;
APKBUILD for a package supporting both Python 2 and Python 3 should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkgname=py-foo&lt;br /&gt;
_pkgname=PyFoo&lt;br /&gt;
pkgver=1.0.0&lt;br /&gt;
pkgrel=1&lt;br /&gt;
pkgdesc=&amp;quot;A package description&amp;quot;&lt;br /&gt;
url=&amp;quot;https://github.com/example/foo&amp;quot;&lt;br /&gt;
arch=&amp;quot;noarch&amp;quot;&lt;br /&gt;
license=&amp;quot;MIT&amp;quot;&lt;br /&gt;
depends=&amp;quot;&amp;quot;&lt;br /&gt;
makedepends=&amp;quot;python2-dev python3-dev py-setuptools&amp;quot;&lt;br /&gt;
subpackages=&amp;quot;py2-${pkgname#py-}:_py2 py3-${pkgname#py-}:_py3&amp;quot;&lt;br /&gt;
source=&amp;quot;https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz&amp;quot;&lt;br /&gt;
builddir=&amp;quot;$srcdir/$_pkgname-$pkgver&amp;quot;&lt;br /&gt;
&lt;br /&gt;
build() {&lt;br /&gt;
	cd &amp;quot;$builddir&amp;quot;&lt;br /&gt;
	python2 setup.py build || return 1&lt;br /&gt;
	python3 setup.py build || return 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
package() {&lt;br /&gt;
	mkdir -p &amp;quot;$pkgdir&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_py2() {&lt;br /&gt;
	replaces=&amp;quot;$pkgname&amp;quot;&lt;br /&gt;
	depends=&amp;quot;py2-bar&amp;quot;&lt;br /&gt;
	_py python2&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_py3() {&lt;br /&gt;
	depends=&amp;quot;py3-bar&amp;quot;&lt;br /&gt;
	_py python3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_py() {&lt;br /&gt;
	local python=&amp;quot;$1&amp;quot;&lt;br /&gt;
	pkgdesc=&amp;quot;$pkgdesc (for $python)&amp;quot;&lt;br /&gt;
	depends=&amp;quot;$depends $python&amp;quot;&lt;br /&gt;
	install_if=&amp;quot;$pkgname=$pkgver-r$pkgrel $python&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	cd &amp;quot;$builddir&amp;quot;&lt;br /&gt;
	$python setup.py install --prefix=/usr --root=&amp;quot;$subpkgdir&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the package:&lt;br /&gt;
* …contains some compiled code (native extensions), then add &amp;lt;tt&amp;gt;arch=&amp;quot;all&amp;quot;&amp;lt;/tt&amp;gt; into the &amp;lt;tt&amp;gt;_py()&amp;lt;/tt&amp;gt; function (between pkgdesc and depends).&lt;br /&gt;
* …doesn’t have any dependencies, then omit &amp;lt;tt&amp;gt;depends=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt; in the &amp;lt;tt&amp;gt;_py2()&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;_py3()&amp;lt;/tt&amp;gt; function.&lt;br /&gt;
* …uses variable &amp;lt;tt&amp;gt;_builddir&amp;lt;/tt&amp;gt;, then replace it with &amp;lt;tt&amp;gt;builddir&amp;lt;/tt&amp;gt; (the former is older format).&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* _pkgname is the package’s real name on PyPI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of abuilds without Python 3 support ==&lt;br /&gt;
&lt;br /&gt;
=== main ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pkgname&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| py-alabaster&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-avahi&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-babel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-backports.ssl_match_hostname&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-backports_abc&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-bluez&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-boto&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-cairo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-certifi&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-cliapp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-configshell&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-country&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-curl&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-dateutil&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-dbus&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-contact-form&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-djblets&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-extra-views&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-haystack&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-oscar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-pipeline&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-registation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-simple-captcha&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-sorl-thumbnail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-tables2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-treebeard&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-widget-tweaks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-ediarpc&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-egenix-mx-base&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-exifread&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-eyed3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-factory-boy&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-farstream0.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-feedparser&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flask&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flask-assets&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flask-oauthlib&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flask-script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flask-wtf&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-flup&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-funcsigs&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-fuse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gamin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gdbm&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-genshi&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gflags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnome&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnome-bonobo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnome-gconf&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnome-gnomevfs&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnome-libgnome&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gnutls&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gobject&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gobject3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-google-api-python-client&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gst0.10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gtk&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gtk-demo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gunicorn&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gv&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-hgtools&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-hiredis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-hoedown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-httplib2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-icu&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-imagesize&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-imaging&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-irc&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-irc-scripts&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-itsdangerous&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-jwt&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-larch&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-ldb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libmount&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libproxy&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libxml2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libxslt&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-lockfile&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mako&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mccabe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-meld3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mock&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-munkres&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-musicbrainzngs&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mutagen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mysqldb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-newt&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-nose&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-oauth2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-oauth2client&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-oauthlib&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-parsing&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pbr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pep8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pgen&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-phonenumbers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pillow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-psycopg2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-purl&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pygments&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pylast&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-redis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-roman&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rrd&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rsa&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-samba&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-simplejson&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-simpleparse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-singledispatch&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-snowballstemmer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-sphinx&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-sphinx_rtd_theme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-subversion&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-talloc&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tdb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-templayer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tevent&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tornado&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tracing&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-ttystatus&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-twisted&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-twitter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tz&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-unbound&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-unidecode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-uritemplate&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-urlgrabber&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-urlnorm&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-urwid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-urwid-examples&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-virtualenv&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-vobject&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-webassets&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-werkzeug&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-wtforms&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-zope-interface&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== community ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pkgname&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| py-acme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-argh&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-configargparse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-crcmod&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-dialog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-distutils-extra&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-appconf&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django-compressor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-django1.5&lt;br /&gt;
| [https://www.djangoproject.com/download/#supported-versions unmaintained version]&lt;br /&gt;
|-&lt;br /&gt;
| py-ethtool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gammu&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gpiozero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-graphviz&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-gtkglext&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-impacket&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-ipaddr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-jellyfish&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libplist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-libteam&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-livereload&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-lz4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-mechanize&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-ndg_httpsclient&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-numpy&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-opencl&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-opengl-accelerate&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-parsedatetime&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pathtools&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-pysqlite&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rencode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rfc3339&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rpigpio&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rpm&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-rtslib&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-sensehat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-skywriter-hat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-slowaes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-sphinx-autobuild&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-tempita&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-udev&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-watchdog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-zope-component&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py-zope-event&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py2-impacket&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py2-pysqlite&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| py2-tempita&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Funkyfuture</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Package_policies&amp;diff=12905</id>
		<title>Package policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Package_policies&amp;diff=12905"/>
		<updated>2016-08-18T21:48:16Z</updated>

		<summary type="html">&lt;p&gt;Funkyfuture: clarification concerning python libraries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Alpine Linux Package Policies describe some of the policies when creating packages.&lt;br /&gt;
&lt;br /&gt;
== Package Names ==&lt;br /&gt;
* All package names should be lowercase.&lt;br /&gt;
* Development files are placed in subpackages with &#039;&#039;-dev&#039;&#039; suffix (i.e uclibc-dev)&lt;br /&gt;
* Documentation files (incl. man pages) are placed in subpackages with &#039;&#039;-doc&#039;&#039; suffix (i.e expat-doc)&lt;br /&gt;
* Lua modules (not applications) are prefixed with &#039;&#039;lua-&#039;&#039;. (i.e lua-posix)&lt;br /&gt;
* Perl modules (not applications) are prefixed with &#039;&#039;perl-&#039;&#039;. (i.e perl-xml-parser)&lt;br /&gt;
* Python 2 modules (not applications) are prefixed with &#039;&#039;py-&#039;&#039;. (i.e py-libxml2)&lt;br /&gt;
* Python 3 modules (not applications) are prefixed with &#039;&#039;py3-&#039;&#039;. (i.e py3-libxml2)&lt;br /&gt;
* Kernels and third party modules should be suffixed with the kernel flavor. (i.e &#039;&#039;-grsec&#039;&#039; or &#039;&#039;-vserver&#039;&#039;).&lt;br /&gt;
# Don&#039;t use &#039;&#039;-&#039;&#039; sign in kernel flavor name.&lt;br /&gt;
# Specify &#039;&#039;KERNEL_FLAVOR_DEFAULT&#039;&#039; as your kernel flavor, if you want boot your kernel by default.&lt;br /&gt;
&lt;br /&gt;
== Package versions ==&lt;br /&gt;
* Package versions are similar to gentoo.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
* The license of the program should be based on the licenses approved by the [http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses Free Software Foundation] or [http://www.opensource.org/licenses/ OSI].&lt;br /&gt;
* If you are unsure about the license, please ask in our [[IRC]] channel.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Funkyfuture</name></author>
	</entry>
</feed>