Skip to main content

Simulates the SL4A Python API for Android

Project description

A Mock API for SL4A's Python Android API
========================================

This project provides an API to mimic the Python API provided by the `Scripting
Language for Android`_ project. The SL4A Android API can only be run on an
actual Android device, which can make development cumbersome. This project
provides an API very similar to the one on Android, but it is designed for use
on a desktop operating system such as Linux, OSX, and Windows.

The SL4A Android API is very large and allows you to interact with almost
every part of the Android operating system. For each of these features I have
to find a similar desktop feature and hook into it. Sometimes there is nothing
similar available. Because of this, this project will likely never be able to
emulate every piece of the API.

I am building this project as I come across SL4A Python API features that I
need to use. At the present time, I am not attempting to simulate the entire
API. If you need a feature that hasn't yet been implemented, please fork this
project, code it up, and make a pull request. Your contributions will be
welcomed.

.. _`Scripting Language for Android`: http://code.google.com/p/android-scripting/

Installation
------------

From your SL4A project's virtualenv: *pip install sl4a_pydroid_api*

This creates an *android* module which you can import just like a regular
SL4A project.

Further Instructions for Text To Speech (ttsSpeak)
--------------------------------------------------

On OSX, it uses the built-in 'say' program. No other action is necessary. If
for some strange reason 'say' is missing, you can also install and use
`espeak`_.

On Linux, you can install and use `espeak`_ or `flite`_.

On Windows, you can install and use `espeak`_.

If no TTS program can be found, it will default to printing the message to the
console.

Special thanks to
-------

- `androidhelper`_
- `modern-package-template`_

.. _espeak: http://espeak.sourceforge.net/
.. _flite: http://www.speech.cs.cmu.edu/flite/
.. _androidhelper: https://groups.google.com/forum/?fromgroups#!topic/python-for-android/a26ponFlgho
.. _`modern-package-template`: http://pypi.python.org/pypi/modern-package-template



News
====

0.4.1
-----

*Release date: 4-Oct-2012

* Added espeak support to ttsSpeak for OSX, Linux, and Windows

0.4
---

*Release date: 4-Oct-2012

* Refactor of ttsSpeak due to no longer using PyTTSx
* Added a Makefile for repetative tasks

0.3
---

*Release date: 22-Jul-2012

* Added code supplied by clach04:
* Made pyttsx optional with a nosound fallback (echoes to output)
* Added docstrings for all Android methods from androidhelper project

0.2
---

*Release date: 16-Jul-2012*

* Added support for makeToast via a Tkinter window.
* Added a shim module for TTS on OSX since I couldn't get PyTTSx working
outside of the OSX system Python.

0.1
---

*Release date: 15-Jun-2012*

* This initial release of the project includes a working implementation of the
**ttsSpeak** method using PyTTSx. It also includes partial implementations
of the **ttsIsSpeaking** and **recognizeSpeech** functions. See the
SIMULATED_FUNCTIONS.TXT file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sl4a_pydroid_mock_api-0.4.1.tar.gz (34.3 kB view details)

Uploaded Source

File details

Details for the file sl4a_pydroid_mock_api-0.4.1.tar.gz.

File metadata

File hashes

Hashes for sl4a_pydroid_mock_api-0.4.1.tar.gz
Algorithm Hash digest
SHA256 2d63877fdac83562e834fc0eb65a8dad8b665eeccd03b2dcfa34a12c9d9c3653
MD5 3a9371d7bb6f68e9b741dea9c93ca108
BLAKE2b-256 953b0b1fae1c16706ea26b550fab0236a16e682a401aa8cab1bb7096d48e00b6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page