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.0.10.tar.gz (64.6 kB view hashes)

Uploaded Source

Built Distribution

aqueduct_sdk-0.0.10-py3-none-any.whl (82.2 kB view hashes)

Uploaded Python 3

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