MCPcopy
hub / github.com/turbot/steampipe

github.com/turbot/steampipe @v2.4.4 sqlite

repository ↗ · DeepWiki ↗ · release v2.4.4 ↗
1,728 symbols 5,746 edges 287 files 689 documented · 40%
README

[

Steampipe Logo

](https://steampipe.io)

plugins   slack   maintained by

select * from cloud;

Steampipe is the zero-ETL way to query APIs and services. Use it to expose data sources to SQL.

SQL. It's been the data access standard for decades.

Live data. Query APIs in real-time.

Speed. Query APIs faster than you ever thought possible.

Concurrency. Query many data sources in parallel.

Single binary. Use it locally, deploy it in CI/CD pipelines.

Demo time!

steampipe demo

Documentation

See the documentation for:

Install Steampipe

Install Steampipe from the downloads page:

# MacOS
brew install turbot/tap/steampipe
# Linux or Windows (WSL2)
sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"

Install a plugin for your favorite service (e.g. AWS, Azure, GCP, GitHub, Kubernetes, Hacker News, etc):

steampipe plugin install hackernews

Query!

steampipe query
> select * from hackernews_new limit 10

Steampipe plugins

The Steampipe community has grown a suite of plugins that map APIs to database tables. Plugins are available for AWS, Azure, GCP, Kubernetes, GitHub, Microsoft 365, Salesforce, and many more.

There are more than 2000 tables in all, each clearly documented with copy/paste/run examples.

Steampipe distributions

Plugins are available in these distributions.

Steampipe CLI. Run queries that translate APIs to tables in the Postgres instance that's bundled with Steampipe.

Steampipe Postgres FDWs. Use native Postgres Foreign Data Wrappers to translate APIs to foreign tables.

Steampipe SQLite extensions. Use SQLite extensions to translate APIS to SQLite virtual tables.

Steampipe export tools. Use standalone binaries that export data from APIs, no database required.

Turbot Pipes. Use Turbot Pipes to run Steampipe in the cloud.

Developing

If you want to help develop the core Steampipe binary, these are the steps to build it.

Clone

git clone git@github.com:turbot/steampipe

Build

cd steampipe
make

The Steampipe binary lands in /usr/local/bin/steampipe directory unless you specify an alternate OUTPUT_DIR.

Check the version

$ steampipe --version
steampipe version 0.22.0

Install a plugin

$ steampipe plugin install steampipe

Run your first query

Try it!

steampipe query
> .inspect steampipe
+-----------------------------------+-----------------------------------+
| TABLE                             | DESCRIPTION                       |
+-----------------------------------+-----------------------------------+
| steampipe_registry_plugin         | Steampipe Registry Plugins        |
| steampipe_registry_plugin_version | Steampipe Registry Plugin Version |
+-----------------------------------+-----------------------------------+

> select * from steampipe_registry_plugin;

If you're interested in developing Steampipe plugins, see our documentation for plugin developers.

Turbot Pipes

Bring your team to Turbot Pipes to use Steampipe together in the cloud. In a Pipes workspace you can use Steampipe for data access, Powerpipe to visualize query results, and Flowpipe to automate workflow.

Open source and contributing

This repository is published under the AGPL 3.0 license. Please see our code of conduct. Contributors must sign our Contributor License Agreement as part of their first pull request. We look forward to collaborating with you!

Steampipe is a product produced from this open source software, exclusively by Turbot HQ, Inc. It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our Open Source FAQ.

Get involved

Join #steampipe on Slack →

Extension points exported contracts — how you extend this code

PluginManager (Interface)
PluginManager is the interface for the plugin manager service [6 implementers]
pkg/pluginmanager_service/grpc/shared/interface.go
ExportSourceData (Interface)
ExportSourceData is an interface implemented by all types which can be used as an input to an exporter [1 implementers]
pkg/export/exporter.go
StatusHooks (Interface)
(no doc) [2 implementers]
pkg/statushooks/status_hooks.go
SystemClientExecutor (FuncType)
SystemClientExecutor is the executor function that is called within a transaction make sure that by the time the executo
pkg/db/db_common/session_system.go
PluginConnection (Interface)
(no doc)
pkg/plugin/plugin_connection.go
TaskRunOption (FuncType)
(no doc)
pkg/task/config.go
ConnectionStateGetter (FuncType)
(no doc)
pkg/interactive/metaquery/handler_input.go
ConnectionUpdatesOption (FuncType)
(no doc)
pkg/steampipeconfig/connection_updates_opts.go

Core symbols most depended-on inside this repo

Close
called by 57
pkg/db/db_common/client.go
SetStatus
called by 52
pkg/statushooks/context.go
ShowError
called by 45
pkg/error_helpers/utils.go
Error
called by 35
pkg/steampipeconfig/connection_state.go
Name
called by 34
pkg/export/exporter.go
AddBoolFlag
called by 28
pkg/cmdconfig/builder.go
Get
called by 27
pkg/pluginmanager_service/grpc/shared/interface.go
ShowWarning
called by 25
pkg/error_helpers/utils.go

Shape

Function 1,008
Method 538
Struct 133
TypeAlias 23
FuncType 15
Interface 11

Languages

Go100%

Modules by API surface

pkg/pluginmanager_service/grpc/proto/plugin_manager.pb.go75 symbols
pkg/pluginmanager_service/plugin_manager.go34 symbols
pkg/query/queryexecute/execute_test.go33 symbols
pkg/pluginmanager_service/plugin_manager_test.go33 symbols
pkg/filepaths/db_path.go27 symbols
pkg/db/db_local/start_services.go27 symbols
pkg/introspection/introspection_test.go26 symbols
pkg/interactive/interactive_client.go26 symbols
pkg/pluginmanager_service/grpc/proto/plugin_manager_grpc.pb.go25 symbols
pkg/connection/refresh_connections_state.go24 symbols
cmd/plugin.go24 symbols
pkg/filepaths/steampipe.go23 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.120.0 · 1×
cloud.google.com/go/authv0.15.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.7 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.0 · 1×
cloud.google.com/go/storagev1.51.0 · 1×
github.com/AdaLogics/go-fuzz-headersv0.0.0-2024080614160 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcpv1.30.0 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metricv0.51.0 · 1×
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemappingv0.51.0 · 1×

Datastores touched

dbDatabase · 1 repos

For agents

$ claude mcp add steampipe \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact