chaquopy 0.0.4 copy "chaquopy: ^0.0.4" to clipboard
chaquopy: ^0.0.4 copied to clipboard

outdated

Chaquopy plugin which uses chaquopy sdk to run the python script on flutter apps.

Chaquopy #

This is a chaquopy plugin to run python code on android. This is the simplest version, where you can write you code and run it.

Configuration Steps : #

Add maven { url "https://chaquo.com/maven" } to your project level gradle.build like following :

buildscript {
    repositories {
        google()
        jcenter()
        maven { url "https://chaquo.com/maven" }
    }
}

Now in order to use the chaquopy plugin import the chaquopy package in your flutter app through declaring the package inside pubspec.yaml file.

Now you can run the code easily by calling Chaquopy.executeCode(code) function which returns a map.

The map returned contains two properties and it contains follwing structure:

{
    "textOutput" : "code output",
    "error" : "code error",
}

you can easily access this code via result['textOutput'] and result['error'], where result is variable of type map and you can name it anything you want.

FAQs: #

  1. Why it shows the notification and also crashes the app after some time limit?

    This plugin uses Chaquopy SDK, which uses a license for the unlimited use case. In order to remove the notification and timelimit, you need to contact here for the license and after you get your license, you need to follow add follwing two lines in your local.properties file.

    1. chaquopy.license=your_license_key
    2. chaquopy.applicationId=your.application.id
  2. Can I use python packages?

    You can use all the python packages by using following configuration.

    defaultConfig {
        python {
            pip {
                install "scipy"
                install "numpy"
                //  specify any other package to install.
            }
        }
    }
    
  3. Why this package doesn't support OpenCV, Matplotlib and NLTK packages?

    I am writing reasons for individual packages here.

    1. OpenCV and Matplotlib : OpenCV and Matplotlib Requires a special configuration, I am working on this issue to be able to integrate in the package itself.

    2. NLTK and Spacy : NLTK and Spacy Packages can be installed and technically run on your device, but most of the NLTK and Spacy functionality relies on it's data that you will be downloading using nltk.download('all'). so It increases the size of the app significantly. I am also working on this feature.

  4. App Size Reduction:

    Using ABI Selection settings you can reduce the app size. The Python interpreter is a native component, so you must use the abiFilters setting to specify which ABIs you want the app to support. The currently available ABIs are:

    armeabi-v7a, supported by virtually all Android devices.

    arm64-v8a, supported by most recent Android devices.

    x86, for the Android emulator.

    x86_64, for the Android emulator.

During development you’ll probably want to enable them all, i.e.:

defaultConfig {
    ndk {
       abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
    }
}
  1. buildPython:

Some features require Python 3.5 or later to be available on the build machine. These features are indicated by a note in their documentation sections.

By default, Chaquopy will try to find Python on the PATH with the standard command for your operating system, first with a matching minor version, and then with a matching major version. For example, if Chaquopy’s own Python version is 3.8.x, then:

    On Linux and Mac it will try python3.8, then python3.

    On Windows, it will try py -3.8, then py -3.

If this doesn’t work for you, set your Python command using the buildPython setting. For example, on Windows you might use one of the following:

defaultConfig {
    python {
        buildPython "C:/path/to/python.exe"
        buildPython "C:/path/to/py.exe", "-3.8"
    }
}
  1. Future Plans :

    [ ] Add support for opencv and matplotlib

    [ ] Add support for NLTK and Spacy

    [ ] Add support for apple devices as well. If you want to help me out with it, kindly contact me,through mail, and I will be happy make this plugin better.

Demo : #

Queries : #

All the configurations of chaquopy will work the same way, it's mentioned on the chaquopy sdk home page. if you don't find any solution you can open issue in the repository and I am happy to help. :)

95
likes
0
pub points
81%
popularity

Publisher

unverified uploader

Chaquopy plugin which uses chaquopy sdk to run the python script on flutter apps.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on chaquopy