Skip to main content

Aito.ai Python SDK

Project description

Info:

Check Github for the latest source code and documentation for more information.

Maintainer:

Aito <admin@aito.ai>

PyPI PyPI version

About

The Aito Python SDK is an open-source library that helps you to integrate your Python application to Aito quicker and more efficiently.

The SDK also includes the Aito Command Line Interface (CLI) that enables you to interact with Aito using commands in your command-line shell, e.g: infer a table schema from a file or upload a file to Aito.

Support / Feedback

For issues with, questions about, or feedback, please join our support channels.

Installation

Aito Python SDK can be installed with pip

$ pip install aitoai

Check our installation guide for more information

Documentation

You will need sphinx installed to generate the documentation.

$ pip install sphinx $ pip install sphinx_rtd_theme

Documentation can be generated by:

$ cd docs
$ make clean html

Generated documentation can be found in the docs/build/html/* directory.

Dependencies:

The Python SDK SQL integration and the tests depend on the ODBC db drivers and the postgres and mysql functionality.

The main drivers can be installed in Debian based Linuxes with:

` sudo apt install unixodbc-dev odbc-postgresql postgresql-client default-mysql-client pip install pyodbc `

You can find more information about installing the MySQL ODBC drivers [here](https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html)

Also note: that the database integration tests require local postgres / mySQL servers.

Environment:

To run the test, you need to have the following environment variables defined:

  • AITO_GROCERY_DEMO_INSTANCE_URL

  • AITO_GROCERY_DEMO_API_KEY

  • AITO_INSTANCE_URL

  • AITO_API_KEY

Testing

Install the required packages:

$ pip install -r requirements/build.txt
$ pip install -r requirements/test.txt

You can use our test cli to run tests:

$ python -m tests -h

There are multiple test suites:

  1. CLI suite:

$ python -m tests -v suite cli
  1. SDK suite:

$ python -m tests -v suite sdk
  1. SQL functions tests:

  • Test against Postgres:

    $ python -m tests -v case sql_functions.test_connection.TestPostgresConnection
    $ python -m tests -v case sql_functions.test_cli_sql_functions.TestPostgresFunctions
  • Test against MySQL:

    $ python -m tests -v case sql_functions.test_connection.TestMySQLConnection
    $ python -m tests -v case sql_functions.test_cli_sql_functions.TestMySQLFunctions
  1. Build and test built package:

  • To build the package:

    $ pip install -r requirements/deploy.txt
    $ ./scripts/deploy test.pypi --no-publish -b dev

    WARNING: This will update the version in ‘aito/__init__’ file. DO NOT commit this to Git!

  • The built wheel should be at `dist/`. To install:

    $ pip install dist/aitoai-<version>.whl
  • To test the built package, create an environment variable `TEST_BUILT_PACKAGE` and run the above tests

  1. Test the documentation:

  • To test the inline documentation:

    $ python -m tests -v suite inline_docs
  • To test the code blocks in rst files:

    $ cd docs
    $ curl -o reddit_sample.csv https://raw.githubusercontent.com/AitoDotAI/kickstart/master/reddit_sample.csv
    $ export SPHINX_DISABLE_MOCK_REQUIREMENTS=TRUE
    $ make doctest

Contributing

  1. Making changes

  2. Add unittest to the appropriate test suite (e.g: test case for Aito Schema: tests/sdk/test_aito_schema.py) or create a new test suite inside the tests folder

  3. Add documentation:

  • Inline documentation if applicable

  • Update .rst file in docs/source folder (e.g: Add a new Client function to docs/source/sdk.rst)

  1. Add inline doc test if applicable (e.g: inline doc test for Aito Client: tests/inline_docs/test_client_inline_docs.py)

  1. Update the version in aito/__init__ to e.g. ‘1.2.3rc1’ and write release notes in docs/changelog.rst

  2. Check CircleCI and issue a PR

  3. Deploy to production (scripts/deploy) with the appropriate version after the PR is reviewed

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

aitoai-0.5.2.tar.gz (53.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aitoai-0.5.2-py3-none-any.whl (63.5 kB view details)

Uploaded Python 3

File details

Details for the file aitoai-0.5.2.tar.gz.

File metadata

  • Download URL: aitoai-0.5.2.tar.gz
  • Upload date:
  • Size: 53.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for aitoai-0.5.2.tar.gz
Algorithm Hash digest
SHA256 fe98b3e504824fa25cdd93eae2514450a9633a0830ff2bbb3b0169b7ec30277b
MD5 5619130a50cf4149b8175a5cddc0ab12
BLAKE2b-256 d65136ee94a8b804617a3b5cf8313883d5da845d9fc4d66097fb60dc9b23c004

See more details on using hashes here.

File details

Details for the file aitoai-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: aitoai-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 63.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for aitoai-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 666d2ef4a8f1fc2afbde3fd57d35f3a3bbb2cffeccf595dd0e59a114045f3ac4
MD5 9c6568fbe8f33c9c1d8de0feb6ee14e2
BLAKE2b-256 6692923468026b51a78b925f7d541ef773578f792fffdecf189f0eb41bb9efeb

See more details on using hashes here.

Supported by

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