--- 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)