196 lines
14 KiB
Markdown
196 lines
14 KiB
Markdown
---
|
|||
|
|
page-title: "Steamship Documentation"
|
||
|
|
url: https://docs.steamship.com/
|
||
|
|
date: "2023-04-17 08:40:46"
|
||
|
|
---
|
||
|
|
[Back to top](https://docs.steamship.com/#)
|
||
|
|
|
||
|
|
[Edit this page](https://github.com/steamship-core/python-client/edit/main/docs/index.rst "Edit this page")
|
||
|
|
|
||
|
|
Toggle table of contents sidebar
|
||
|
|
|
||
|
|
## Steamship[#](https://docs.steamship.com/#steamship "Permalink to this heading")
|
||
|
|
|
||
|
|
Steamship is the fastest way to add AI to your software.
|
||
|
|
|
||
|
|
Think of Steamship as both a package manager and package hosting for AI. Each [Steamship package](https://www.steamship.com/packages) runs in the cloud on a managed stack.
|
||
|
|
|
||
|
|
## Steamship in 30 seconds[#](https://docs.steamship.com/#steamship-in-30-seconds "Permalink to this heading")
|
||
|
|
|
||
|
|
- [Use Plugins](https://docs.steamship.com/plugins/using/index.html#using-plugins) for common operations like generating text with GPT, converting a CSV to text, or generating an image from text. Steamship manages asynchronicity and retries.
|
||
|
|
|
||
|
|
- [Store data in Files, Blocks, and Tags](https://docs.steamship.com/data/index.html#data-model). This allows you to [query](https://docs.steamship.com/data/queries/index.html#queries) or [search](https://docs.steamship.com/embedding-search/index.html#embedding-search-index) it later.
|
||
|
|
|
||
|
|
- [Deploy as a Package](https://docs.steamship.com/packages/developing/index.html#developing-packages), creating a scalable API for your front end.
|
||
|
|
|
||
|
|
- [Create as many instances of the Package](https://docs.steamship.com/packages/developing/index.html#creating-package-instances) as you want, each with its own data.
|
||
|
|
|
||
|
|
|
||
|
|
The best way to start is to make a simple package:
|
||
|
|
|
||
|
|
## Start from a template[#](https://docs.steamship.com/#start-from-a-template "Permalink to this heading")
|
||
|
|
|
||
|
|
Clone one of our starter packages ([https://github.com/steamship-packages](https://github.com/steamship-packages)):
|
||
|
|
|
||
|
|
git clone https://github.com/steamship-packages/empty-package.git
|
||
|
|
|
||
|
|
Create a virtual environment and install dependencies:
|
||
|
|
|
||
|
|
python3 \-m venv venv
|
||
|
|
source venv/bin/activate
|
||
|
|
|
||
|
|
pip install \-r requirements.txt
|
||
|
|
pip install \-r requirements.dev.txt
|
||
|
|
|
||
|
|
and start editing `src/api.py`.
|
||
|
|
|
||
|
|
## Start from scratch[#](https://docs.steamship.com/#start-from-scratch "Permalink to this heading")
|
||
|
|
|
||
|
|
First, install our SDK and CLI (ideally in a virtual environment):
|
||
|
|
|
||
|
|
python3 \-m venv venv
|
||
|
|
source venv/bin/activate
|
||
|
|
|
||
|
|
pip install steamship
|
||
|
|
|
||
|
|
Now copy this into `api.py`:
|
||
|
|
|
||
|
|
from steamship.invocable import post, PackageService
|
||
|
|
|
||
|
|
class MyPackage(PackageService):
|
||
|
|
|
||
|
|
@post("hello\_world")
|
||
|
|
def hello\_world(self, name: str \= None) \-> str:
|
||
|
|
return f"Hello, {name}"
|
||
|
|
|
||
|
|
## Next Steps[#](https://docs.steamship.com/#next-steps "Permalink to this heading")
|
||
|
|
|
||
|
|
**Using Packages**
|
||
|
|
|
||
|
|
Use full-stack language AI packages in your own code.
|
||
|
|
|
||
|
|
**Developing Packages**
|
||
|
|
|
||
|
|
Build and deploy packages with our low-code framework.
|
||
|
|
|
||
|
|
**Package Cookbook**
|
||
|
|
|
||
|
|
Package examples for common scenarios.
|
||
|
|
|
||
|
|
## Contents[#](https://docs.steamship.com/#contents "Permalink to this heading")
|
||
|
|
|
||
|
|
- [Configuration](https://docs.steamship.com/configuration/index.html)
|
||
|
|
- [Authentication](https://docs.steamship.com/configuration/authentication.html)
|
||
|
|
- [Steamship Configuration File](https://docs.steamship.com/configuration/authentication.html#steamship-configuration-file)
|
||
|
|
- [Using Multiple Profiles](https://docs.steamship.com/configuration/authentication.html#using-multiple-profiles)
|
||
|
|
- [Environment Variables](https://docs.steamship.com/configuration/authentication.html#environment-variables)
|
||
|
|
- [Client Libraries](https://docs.steamship.com/configuration/clients.html)
|
||
|
|
- [Python Client](https://docs.steamship.com/configuration/clients.html#python-client)
|
||
|
|
- [Typescript Client](https://docs.steamship.com/configuration/clients.html#typescript-client)
|
||
|
|
- [CLI](https://docs.steamship.com/configuration/cli.html)
|
||
|
|
- [HTTP API](https://docs.steamship.com/configuration/http.html)
|
||
|
|
- [Requests](https://docs.steamship.com/configuration/http.html#requests)
|
||
|
|
- [Optional Headers](https://docs.steamship.com/configuration/http.html#optional-headers)
|
||
|
|
- [Engine Response Format](https://docs.steamship.com/configuration/http.html#engine-response-format)
|
||
|
|
- [Creating a Package Instance](https://docs.steamship.com/configuration/http.html#creating-a-package-instance)
|
||
|
|
- [Invoking a Package Method](https://docs.steamship.com/configuration/http.html#invoking-a-package-method)
|
||
|
|
- [Packages](https://docs.steamship.com/packages/index.html)
|
||
|
|
- [Packages Table of Contents](https://docs.steamship.com/packages/index.html#packages-table-of-contents)
|
||
|
|
- [Using Packages](https://docs.steamship.com/packages/using.html)
|
||
|
|
- [Package FAQ](https://docs.steamship.com/packages/using.html#package-faq)
|
||
|
|
- [Developing Packages](https://docs.steamship.com/packages/developing/index.html)
|
||
|
|
- [Customizing your Package](https://docs.steamship.com/packages/developing/index.html#customizing-your-package)
|
||
|
|
- [Package Project Structure](https://docs.steamship.com/packages/developing/project-structure.html)
|
||
|
|
- [Package Cookbook](https://docs.steamship.com/packages/cookbook/index.html)
|
||
|
|
- [Working with Language](https://docs.steamship.com/packages/cookbook/index.html#working-with-language)
|
||
|
|
- [Building Packages](https://docs.steamship.com/packages/cookbook/index.html#building-packages)
|
||
|
|
- [Response Types](https://docs.steamship.com/packages/cookbook/index.html#response-types)
|
||
|
|
- [Plugins](https://docs.steamship.com/plugins/index.html)
|
||
|
|
- [File Importers](https://docs.steamship.com/plugins/index.html#file-importers)
|
||
|
|
- [Blockifiers](https://docs.steamship.com/plugins/index.html#blockifiers)
|
||
|
|
- [Taggers](https://docs.steamship.com/plugins/index.html#taggers)
|
||
|
|
- [Generators](https://docs.steamship.com/plugins/index.html#generators)
|
||
|
|
- [Embedders](https://docs.steamship.com/plugins/index.html#embedders)
|
||
|
|
- [Data](https://docs.steamship.com/data/index.html)
|
||
|
|
- [Workspaces](https://docs.steamship.com/data/workspaces.html)
|
||
|
|
- [Creating Workspaces](https://docs.steamship.com/data/workspaces.html#creating-workspaces)
|
||
|
|
- [Files](https://docs.steamship.com/data/files.html)
|
||
|
|
- [Creating Files Directly](https://docs.steamship.com/data/files.html#creating-files-directly)
|
||
|
|
- [Blocks](https://docs.steamship.com/data/blocks.html)
|
||
|
|
- [Creating Blocks](https://docs.steamship.com/data/blocks.html#id2)
|
||
|
|
- [Tags](https://docs.steamship.com/data/tags.html)
|
||
|
|
- [Ways to use Tags](https://docs.steamship.com/data/tags.html#ways-to-use-tags)
|
||
|
|
- [Tag Schemas](https://docs.steamship.com/data/tags.html#tag-schemas)
|
||
|
|
- [Block and File Tags](https://docs.steamship.com/data/tags.html#block-and-file-tags)
|
||
|
|
- [Querying Data](https://docs.steamship.com/data/queries/index.html)
|
||
|
|
- [Usage](https://docs.steamship.com/data/queries/index.html#usage)
|
||
|
|
- [Language Description](https://docs.steamship.com/data/queries/index.html#language-description)
|
||
|
|
- [Unary Predicates](https://docs.steamship.com/data/queries/index.html#unary-predicates)
|
||
|
|
- [Binary Predicates](https://docs.steamship.com/data/queries/index.html#binary-predicates)
|
||
|
|
- [Binary Relations](https://docs.steamship.com/data/queries/index.html#binary-relations)
|
||
|
|
- [Conjunctions](https://docs.steamship.com/data/queries/index.html#conjunctions)
|
||
|
|
- [Special Predicates](https://docs.steamship.com/data/queries/index.html#special-predicates)
|
||
|
|
- [Embedding Search Index](https://docs.steamship.com/embedding-search/index.html)
|
||
|
|
- [Inserting Data](https://docs.steamship.com/embedding-search/index.html#inserting-data)
|
||
|
|
- [Querying Data](https://docs.steamship.com/embedding-search/index.html#querying-data)
|
||
|
|
- [Developer Reference](https://docs.steamship.com/developing/index.html)
|
||
|
|
- [Cloning a Starter Project](https://docs.steamship.com/developing/project-creation.html)
|
||
|
|
- [The Steamship Manifest file](https://docs.steamship.com/developing/steamship-manifest.html)
|
||
|
|
- [Plugin Configuration](https://docs.steamship.com/developing/steamship-manifest.html#plugin-configuration)
|
||
|
|
- [Steamship Registry](https://docs.steamship.com/developing/steamship-manifest.html#steamship-registry)
|
||
|
|
- [Python Environment Setup](https://docs.steamship.com/developing/environment-setup.html)
|
||
|
|
- [Accepting Configuration](https://docs.steamship.com/developing/configuration.html)
|
||
|
|
- [Defining and Accepting configuration in your code](https://docs.steamship.com/developing/configuration.html#defining-and-accepting-configuration-in-your-code)
|
||
|
|
- [Storing Secrets](https://docs.steamship.com/developing/storing-secrets.html)
|
||
|
|
- [Writing Tests](https://docs.steamship.com/developing/testing.html)
|
||
|
|
- [Logging](https://docs.steamship.com/developing/testing.html#logging)
|
||
|
|
- [Throwing Errors](https://docs.steamship.com/developing/testing.html#throwing-errors)
|
||
|
|
- [Manual Testing](https://docs.steamship.com/developing/testing.html#manual-testing)
|
||
|
|
- [Automated testing](https://docs.steamship.com/developing/testing.html#automated-testing)
|
||
|
|
- [Automated testing setup](https://docs.steamship.com/developing/testing.html#automated-testing-setup)
|
||
|
|
- [Modifying or removing automated testing](https://docs.steamship.com/developing/testing.html#modifying-or-removing-automated-testing)
|
||
|
|
- [Deploying](https://docs.steamship.com/developing/deploying.html)
|
||
|
|
- [Deploying with the Steamship CLI](https://docs.steamship.com/developing/deploying.html#deploying-with-the-steamship-cli)
|
||
|
|
- [Deploying via GitHub Actions](https://docs.steamship.com/developing/deploying.html#deploying-via-github-actions)
|
||
|
|
- [Automated Deployment Setup](https://docs.steamship.com/developing/deploying.html#automated-deployment-setup)
|
||
|
|
- [Modifying or disabling automated deployments](https://docs.steamship.com/developing/deploying.html#modifying-or-disabling-automated-deployments)
|
||
|
|
- [Troubleshooting Deployments](https://docs.steamship.com/developing/deploying.html#troubleshooting-deployments)
|
||
|
|
- [The deployment fails because the version already exists](https://docs.steamship.com/developing/deploying.html#the-deployment-fails-because-the-version-already-exists)
|
||
|
|
- [The deployment fails because the tag does not match the manifest file](https://docs.steamship.com/developing/deploying.html#the-deployment-fails-because-the-tag-does-not-match-the-manifest-file)
|
||
|
|
- [The deployment fails with an authentication error](https://docs.steamship.com/developing/deploying.html#the-deployment-fails-with-an-authentication-error)
|
||
|
|
- [Updating your Web Listing](https://docs.steamship.com/developing/updating-web-listing.html)
|
||
|
|
- [Updating your Web Listing](https://docs.steamship.com/developing/updating-web-listing.html#updating-your-web-listing)
|
||
|
|
- [Adding taglines, demo links, and author icons](https://docs.steamship.com/developing/updating-web-listing.html#adding-taglines-demo-links-and-author-icons)
|
||
|
|
- [Python Client Reference](https://docs.steamship.com/api/modules.html)
|
||
|
|
- [steamship package](https://docs.steamship.com/api/steamship.html)
|
||
|
|
- [Subpackages](https://docs.steamship.com/api/steamship.html#subpackages)
|
||
|
|
- [steamship.base package](https://docs.steamship.com/api/steamship.base.html)
|
||
|
|
- [steamship.cli package](https://docs.steamship.com/api/steamship.cli.html)
|
||
|
|
- [steamship.client package](https://docs.steamship.com/api/steamship.client.html)
|
||
|
|
- [steamship.data package](https://docs.steamship.com/api/steamship.data.html)
|
||
|
|
- [steamship.experimental package](https://docs.steamship.com/api/steamship.experimental.html)
|
||
|
|
- [steamship.invocable package](https://docs.steamship.com/api/steamship.invocable.html)
|
||
|
|
- [steamship.plugin package](https://docs.steamship.com/api/steamship.plugin.html)
|
||
|
|
- [steamship.utils package](https://docs.steamship.com/api/steamship.utils.html)
|
||
|
|
- [Module contents](https://docs.steamship.com/api/steamship.html#module-steamship)
|
||
|
|
- [`Block`](https://docs.steamship.com/api/steamship.html#steamship.Block)
|
||
|
|
- [`Configuration`](https://docs.steamship.com/api/steamship.html#steamship.Configuration)
|
||
|
|
- [`DocTag`](https://docs.steamship.com/api/steamship.html#steamship.DocTag)
|
||
|
|
- [`EmbeddingIndex`](https://docs.steamship.com/api/steamship.html#steamship.EmbeddingIndex)
|
||
|
|
- [`File`](https://docs.steamship.com/api/steamship.html#steamship.File)
|
||
|
|
- [`MimeTypes`](https://docs.steamship.com/api/steamship.html#steamship.MimeTypes)
|
||
|
|
- [`Package`](https://docs.steamship.com/api/steamship.html#steamship.Package)
|
||
|
|
- [`PackageInstance`](https://docs.steamship.com/api/steamship.html#steamship.PackageInstance)
|
||
|
|
- [`PackageVersion`](https://docs.steamship.com/api/steamship.html#steamship.PackageVersion)
|
||
|
|
- [`PluginInstance`](https://docs.steamship.com/api/steamship.html#steamship.PluginInstance)
|
||
|
|
- [`PluginVersion`](https://docs.steamship.com/api/steamship.html#steamship.PluginVersion)
|
||
|
|
- [`RuntimeEnvironments`](https://docs.steamship.com/api/steamship.html#steamship.RuntimeEnvironments)
|
||
|
|
- [`Steamship`](https://docs.steamship.com/api/steamship.html#steamship.Steamship)
|
||
|
|
- [`SteamshipError`](https://docs.steamship.com/api/steamship.html#steamship.SteamshipError)
|
||
|
|
- [`Tag`](https://docs.steamship.com/api/steamship.html#steamship.Tag)
|
||
|
|
- [`Task`](https://docs.steamship.com/api/steamship.html#steamship.Task)
|
||
|
|
- [`TaskState`](https://docs.steamship.com/api/steamship.html#steamship.TaskState)
|
||
|
|
- [`Workspace`](https://docs.steamship.com/api/steamship.html#steamship.Workspace)
|
||
|
|
- [`check_environment()`](https://docs.steamship.com/api/steamship.html#steamship.check_environment)
|
||
|
|
- [License](https://docs.steamship.com/license.html)
|
||
|
|
- [Authors](https://docs.steamship.com/authors.html)
|