Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); python-for-android/python3-alpha/README.md at master · kuri65536/python-for-android · GitHub
Skip to content

Latest commit

History

History
148 lines (105 loc) · 4.25 KB

File metadata and controls

148 lines (105 loc) · 4.25 KB

Python3 binaries

This page is about the Python3 port to Android

Details

I have started a conversion of Python3 for Android, tentatively codenamed Py3k4a.

A Beta release of Python3.2.2 for Android is available here:

http://code.google.com/p/python-for-android/downloads/detail?name=Python3ForAndroid\_r6.apk

Instructions

To use:

  • You must have Android 2.3.1 or later. Earlier versions do not have even rudimentary wide character support, which Python3 uses extensively.

  • Completely uninstall Py4a both with the Uninstall button in the Py4a app, and "Settings-->Applications-->Manage Applications-->Python for Android-->Uninstall"

  • Install the Python3ForAndroid apk Open the Python3 for Android application, and hit the "Install" button.

    (It may say "Uninstall" when you first go in. Hit that button and it will quickly change to "Install".)

You'll need web access to download the Python3 runtime environment. This may take a little while.

As part of the download, it may ask to overwrite the sample scripts. Say "Yes to All", as the sample python2 scripts have been converted in Python3 syntax.

Python Code Updates

As of Python3ForAndroid_r5.apk, new versions of the Python binaries can installed as they become available. Check the Installed vs Available versions (displayed in the Installer screen). In the available is later than the installed, simply uninstall then reinstall. No need to re-install the apk.

State of Play

As of 19-Apr-2012

  • Python3 exists in an Beta release.

  • All the basic modules that android can support have been included.

  • All of the usual additional modules have been added (although new versions as might be expected)

  • I have got sqlite3 importing, and also hashlib and ssl working with the latest openssl libraries.

  • readline is now implemented, allowing command line editing from within the interpreter.

  • curses is implemented, allowing text-based screen control.

  • bzip2 and ctypes are now included.

  • The Python3 build module is in the python-for-android repository under 'python3-alpha'. This may have bloated the repository notably... oops.

Build instructions:

  • Install android toolchain
  • Make sure the toolchain bin folder is in your path. from python3-alpha, run 'buildall.sh'

Things not working:

  • egg handling (the install modules stuff is potentially working but untested)

Next steps:

  • Get the modules installation working for Python3. first pass done

  • Work out eggifying process for Python3 impure modules

  • Tidy up installation process. (At the moment, it's all loaded from the website. I'll look at embedded and manual install options)

  • Go through the currently installed modules, trim if needed, convert to pyc for speed. (NB: this is what we do with Py4a at present... is it actually still desirable?)

What I need:

  • General testing and feedback. Let me know what doesn't work, and what extra bits are desirable.

Running from the command line

This script will allow you to run Python3 from the command line: Standalone Script

I usually test by going:

host $ adb push standalone.sh /sdcard/standalone.sh
host $ adb shell
device$ sh /sdcard/standalone.sh

Note that the script takes arguments.

The reason to put in on /sdcard is that should be writable on almost any device. Importing Modules

As of apk r6 and version 9 of the install files, there is support for importing (pure python) modules using pip and distribute This is still a little messy, but seems to basically work.

How to use:

  • Use latest python3forandroid_r6.apk Install latest python versions (9,9,9) Run 'distribute_setup.py' (included in scripts) (NB: This can take a while, and may pause on ''skipping ws_comma' for quite a long time) Download https://raw.github.com/pypa/pip/master/contrib/get-pip.py into /sdcard/sl4a/scripts, and run it.

Once installed, you can install packages from pypi etc as follows:

importpippip.main(['install','pytz'])

(pytz is used as an example)

Since pip is intended to be run from the command line, I've included at utility called 'pip_console.py' which will emulate this behavior.

I've added some notes on Cross Compiling Python