Skip to main content

Python SDK for the Aqueduct prediction infrastructure

Project description

Aqueduct: A Production Data Science Platform

Downloads Slack GitHub license PyPI version Tests

Aqueduct automates the engineering required to make data science operational. With Aqueduct, data scientists can instantaneously deploy machine learning models to the cloud, connect those models to data and business systems, and gain visibility into everything from inference latency to model accuracy -- all with Python.

Check out our docs, ask us anything, and share your feedback!

To get started with Aqueduct, you need to run two lines in your terminal:

pip3 install aqueduct-ml
aqueduct start

Once you have Aqueduct running, we can create our first workflow:

from aqueduct import Client, op, metric, get_apikey

client = Client(get_apikey(), "localhost:8080")

@op
def transform_data(reviews):
    reviews['strlen'] = reviews['review'].str.len()
    return reviews


demo_db = client.integration("aqueduct_demo")
reviews_table = demo_db.sql("select * from hotel_reviews;")

strlen_table = transform_data(reviews_table)
strlen_table.save(demo_db.config(table="strlen_table", update_mode="replace")) 

client.publish_flow(name="review_strlen", artifacts=[strlen_table])

Once you've created a workflow, you can view that workflow in the Aqueduct UI:

image

Overview & Examples

Aqueduct is built to allow you to write regular Python code and compose powerful machine learning workflows that run anywhere, publish predictions everywhere, and ensure prediction quality. The core abstraction in Aqueduct is a Workflow, which is a sequence of Artifacts (data) that are transformed by Operators (compute). The input Artifact(s) for a Workflow is typically loaded from a database, and the output Artifact(s) are typically persisted back to a database. Each Workflow can either be run on a fixed schedule or triggered on-demand.

To see Aqueduct in action on some real-world machine learning workflows, check out some of our examples:

Why Aqueduct?

The existing (MLOps) tools for deploying models are not designed with data teams in mind -- they are designed, built, and operated by software engineers with years of cloud infrastructure experience. Rather than abstracting away the repetitive engineering work required to operationalize models, MLOps tools expect data teams to spend their time building Docker containers and managing Kubernetes deployments by hand. We don't believe that's an efficient use of anyone's time.

Aqueduct is designed for data scientists, with three core design principles in mind:

  • Simplicity: Data scientists should be able to deploy models with tools they're comfortable with and without having to learn how to use complex, low-level infrastructure systems.
  • Connectedness: Data science and machine learning can have the greatest impact when everyone in the business has access, and data scientists shouldn't have to bend over backwards to make this happen.
  • Confidence: Having the whole organization benefit from your work means that data scientists should be able to sleep peacefully, knowing that things are working as expected -- and they'll be alerted as soon as that changes.

What's next?

Interested in learning more? Check out our documentation, where you'll find:

If you have questions or comments or would like to learn more about what we're building, please reach out, join our Slack channel, or start a conversation on GitHub. We'd love to hear from you!

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

aqueduct-sdk-0.1.0.tar.gz (71.8 kB view details)

Uploaded Source

Built Distribution

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

aqueduct_sdk-0.1.0-py3-none-any.whl (92.3 kB view details)

Uploaded Python 3

File details

Details for the file aqueduct-sdk-0.1.0.tar.gz.

File metadata

  • Download URL: aqueduct-sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 71.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for aqueduct-sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b091940c1273341a89789beec959f9471d7c31f7f4ce51fe575034c92c384cf4
MD5 45d7d4879800af81dd915f135ce0b168
BLAKE2b-256 bd1ec763162a7435d98ca26247de7b4a3d4b424dfdafebc9d9ecc8abfc53d246

See more details on using hashes here.

File details

Details for the file aqueduct_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aqueduct_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 92.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for aqueduct_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1224886709f8a5a66b891f5ea333227136061a3d15f3d68b78b1a77d56048e4c
MD5 e83faaf6aa5078a3b8f24888ae121f16
BLAKE2b-256 5c944e07daca32f6f8ceea8560aa2772ded16da88c439a712597893dacded97b

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