https://github.com/turbot/steampipe-plugin-sdk
etl hacktoberfest postgresql postgresql-fdw sql sqlite sqlite-extension steampipe steampipe-plugin zero-etl
Score: 16.638673566166986
Last synced: about 2 hours ago
JSON representation
Repository metadata:
Steampipe Plugin SDK is a simple abstraction layer to write a Steampipe plugin. Plugins automatically work across all engine types including the Steampipe CLI, Postgres FDW, SQLite extension and the export CLI.
- Host: GitHub
- URL: https://github.com/turbot/steampipe-plugin-sdk
- Owner: turbot
- License: apache-2.0
- Created: 2021-01-17T15:34:59.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-12-25T08:03:56.000Z (about 1 month ago)
- Last Synced: 2025-12-26T04:02:15.846Z (about 1 month ago)
- Topics: etl, hacktoberfest, postgresql, postgresql-fdw, sql, sqlite, sqlite-extension, steampipe, steampipe-plugin, zero-etl
- Language: Go
- Homepage: https://hub.steampipe.io/plugins
- Size: 2.49 MB
- Stars: 37
- Watchers: 6
- Forks: 20
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Owner metadata:
- Name: Turbot
- Login: turbot
- Email: support@turbot.com
- Kind: organization
- Description: Conquer cloud complexity
- Website: https://turbot.com
- Location: Global
- Twitter: turbothq
- Company:
- Icon url: https://avatars.githubusercontent.com/u/38865304?v=4
- Repositories: 278
- Last Synced at: 2024-04-14T06:46:59.497Z
- Profile URL: https://github.com/turbot
GitHub Events
Total
- Create event: 50
- Delete event: 33
- Fork event: 5
- Issue comment event: 163
- Issues event: 59
- Pull request event: 99
- Pull request review event: 5
- Push event: 57
- Watch event: 5
- Total: 476
Last Year
- Create event: 40
- Delete event: 26
- Fork event: 2
- Issue comment event: 157
- Issues event: 54
- Pull request event: 81
- Pull request review event: 3
- Push event: 42
- Watch event: 1
- Total: 406
Committers metadata
Last synced: 5 months ago
Total Commits: 596
Total Committers: 20
Avg Commits per committer: 29.8
Development Distribution Score (DDS): 0.329
Commits in past year: 36
Committers in past year: 7
Avg Commits per committer in past year: 5.143
Development Distribution Score (DDS) in past year: 0.444
| Name | Commits | |
|---|---|---|
| kai | k****i@t****m | 400 |
| dependabot[bot] | 4****]@u****m | 105 |
| Puskar Basu | p****r@t****m | 25 |
| Puskar Basu | 4****u@u****m | 19 |
| tyagiparth | p****i@t****m | 16 |
| Binaek Sarkar | b****k@t****m | 7 |
| Patrick Decat | p****t@g****m | 6 |
| Nathan Wallace | n****n@t****m | 4 |
| Subhajit Mondal | s****t@t****m | 2 |
| cbruno10 | c****y@t****m | 2 |
| Binaek Sarkar | b****9@g****m | 1 |
| CARRIERE Etienne | e****e@g****m | 1 |
| Daniel Garcia | d****a@i****m | 1 |
| François de Metz | f****s@2****r | 1 |
| Graza | c****e@g****o | 1 |
| Jon Udell | j****n@j****o | 1 |
| Priyanka Chatterjee | p****e@t****m | 1 |
| Ved misra | 4****d@u****m | 1 |
| aminvielledebatAtBedrock | 1****k@u****m | 1 |
| johnsmyth | j****n@t****m | 1 |
Issue and Pull Request metadata
Last synced: 13 days ago
Total issues: 102
Total pull requests: 292
Average time to close issues: about 1 year
Average time to close pull requests: 25 days
Total issue authors: 19
Total pull request authors: 7
Average comments per issue: 1.27
Average comments per pull request: 0.55
Merged pull request: 148
Bot issues: 1
Bot pull requests: 186
Past year issues: 7
Past year pull requests: 48
Past year average time to close issues: 23 days
Past year average time to close pull requests: 23 days
Past year issue authors: 4
Past year pull request authors: 5
Past year average comments per issue: 0.71
Past year average comments per pull request: 0.83
Past year merged pull request: 22
Past year bot issues: 1
Past year bot pull requests: 22
Top Issue Authors
- kaidaguerre (44)
- bigdatasourav (11)
- pskrbasu (11)
- cbruno10 (7)
- LalitLab (5)
- e-gineer (4)
- Subhajit97 (4)
- binaek (3)
- misraved (2)
- ParthaI (2)
- judell (1)
- karanpopat (1)
- ncruces (1)
- dependabot[bot] (1)
- tho (1)
Top Pull Request Authors
- dependabot[bot] (186)
- pskrbasu (48)
- kaidaguerre (48)
- pdecat (6)
- francois2metz (2)
- graza-io (1)
- Priyanka-Chatterjee-2000 (1)
Top Issue Labels
- stale (49)
- bug (23)
- enhancement (8)
- github_actions (2)
- dependencies (2)
- triage (1)
- release (1)
Top Pull Request Labels
- dependencies (185)
- github_actions (13)
- stale (6)
- release (4)
- javascript (4)
- bug (2)
- enhancement (1)
Package metadata
- Total packages: 7
- Total downloads: unknown
- Total docker downloads: 16,256
- Total dependent packages: 423 (may contain duplicates)
- Total dependent repositories: 133 (may contain duplicates)
- Total versions: 464
proxy.golang.org: github.com/turbot/steampipe-plugin-sdk/v3
- Homepage: https://github.com/turbot/steampipe-plugin-sdk
- Documentation: https://pkg.go.dev/github.com/turbot/steampipe-plugin-sdk/v3#section-documentation
- Licenses: Apache-2.0
- Latest release: v3.3.2 (published over 3 years ago)
- Last Synced: 2026-01-29T19:49:20.225Z (6 days ago)
- Versions: 24
- Dependent Packages: 88
- Dependent Repositories: 71
- Docker Downloads: 4,233
-
Rankings:
- Dependent packages count: 0.495%
- Dependent repos count: 0.691%
- Docker downloads count: 0.993%
- Average: 3.535%
- Forks count: 7.432%
- Stargazers count: 8.063%
proxy.golang.org: github.com/turbot/steampipe-plugin-sdk/v5
A plugin is defined by plugin.Plugin. Create the file <plugin-name>/plugin.go, then implement a plugin.PluginFunc that creates a plugin.Plugin and returns a pointer to it. Note: The Go files for your plugin (except main.go) should reside in the <plugin-name> folder. Examples: Create main.go in your plugin's root directory. Add a main function which is the entry point for your plugin. This function must call plugin.Serve to instantiate your plugin's gRPC server, and pass the plugin.PluginFunc that you just wrote. Examples: By convention, each table lives in a separate file named table_<table name>.go. Each table has a single table definition function that returns a pointer to a plugin.Table. The table definition includes the name and description of the table, a set of column definitions, and the functions to call in order to list the data for all the rows, or to get data for a single row. Every table MUST define a List and/or Get function. Examples: This is a plugin.HydrateFunc that calls an API and returns data for all rows for the table. To define it, set the property plugin.Plugin.ListConfig. This is a plugin.HydrateFunc that calls an API and returns data for one row of the table. If the API can return a single item keyed by id, you should implement Get so that queries can filter the data as cheaply as possible. To define it, set the property plugin.Plugin.GetConfig. Use plugin.Column to define columns. A column may be populated by a List or Get call. If a column requires data not provide by List or Get, it may define a plugin.HydrateFunc that makes an additional API call for each row. Add a hydrate function for a column by setting plugin.Column.Hydrate. Use transform functions to extract and/or reformat data returned by a hydrate function. A plugin.Logger is passed to the plugin via its context.Context. Messages are written to ~/.steampipe/logs, e.g. ~/.steampipe/logs/plugin-2022-01-01.log. Steampipe uses go-hclog which supports standard log levels: TRACE, DEBUG, INFO, WARN, ERROR. The default is WARN. Use the STEAMPIPE_LOG_LEVEL environment variable to set the level. Steampipe parallelizes hydrate functions as much as possible. Sometimes, however, one hydrate function requires the output from another. Use plugin.HydrateConfig to define the dependency. Use dynamic_tables when you cannot know a table's schema in advance, e.g. the CSV plugin. A user runs a query. Postgres parses the query and sends the parsed request to the Steampipe foreign data wrapper (FDW). The FDW determines which tables and columns are required. The FDW calls one or more [HydrateFunc] to fetch API data. Each table defines special hydrate functions: List and optionally Get. These will always be called before any other hydrate function in the table, as the other functions typically depend on the List or Get. One or more transform functions are called for each column. These extract and/or reformat data returned by the hydrate functions. The plugin returns the transformed data to the FDW. Steampipe FDW returns the results to the database.
- Homepage: https://github.com/turbot/steampipe-plugin-sdk
- Documentation: https://pkg.go.dev/github.com/turbot/steampipe-plugin-sdk/v5#section-documentation
- Licenses: Apache-2.0
- Latest release: v5.13.1 (published 4 months ago)
- Last Synced: 2026-01-29T19:49:32.965Z (6 days ago)
- Versions: 146
- Dependent Packages: 145
- Dependent Repositories: 29
- Docker Downloads: 4,880
-
Rankings:
- Dependent packages count: 0.376%
- Docker downloads count: 0.993%
- Dependent repos count: 1.02%
- Average: 3.577%
- Forks count: 7.432%
- Stargazers count: 8.063%
proxy.golang.org: github.com/turbot/steampipe-plugin-sdk/v4
- Homepage: https://github.com/turbot/steampipe-plugin-sdk
- Documentation: https://pkg.go.dev/github.com/turbot/steampipe-plugin-sdk/v4#section-documentation
- Licenses: Apache-2.0
- Latest release: v4.1.13 (published almost 3 years ago)
- Last Synced: 2026-01-29T19:49:29.222Z (6 days ago)
- Versions: 47
- Dependent Packages: 96
- Dependent Repositories: 20
- Docker Downloads: 7,143
-
Rankings:
- Dependent packages count: 0.471%
- Docker downloads count: 0.963%
- Dependent repos count: 1.206%
- Average: 3.627%
- Forks count: 7.432%
- Stargazers count: 8.063%
proxy.golang.org: github.com/turbot/steampipe-plugin-sdk
- Homepage: https://github.com/turbot/steampipe-plugin-sdk
- Documentation: https://pkg.go.dev/github.com/turbot/steampipe-plugin-sdk#section-documentation
- Licenses: Apache-2.0
- Latest release: v1.8.3 (published about 4 years ago)
- Last Synced: 2026-01-29T19:49:34.729Z (6 days ago)
- Versions: 47
- Dependent Packages: 83
- Dependent Repositories: 13
-
Rankings:
- Dependent packages count: 0.512%
- Dependent repos count: 1.475%
- Average: 4.371%
- Forks count: 7.432%
- Stargazers count: 8.063%
proxy.golang.org: github.com/turbot/steampipe-plugin-sdk/v2
- Homepage: https://github.com/turbot/steampipe-plugin-sdk
- Documentation: https://pkg.go.dev/github.com/turbot/steampipe-plugin-sdk/v2#section-documentation
- Licenses: Apache-2.0
- Latest release: v2.2.0 (published almost 4 years ago)
- Last Synced: 2026-01-29T19:49:30.240Z (6 days ago)
- Versions: 8
- Dependent Packages: 11
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 1.419%
- Stargazers count: 4.849%
- Average: 5.269%
- Forks count: 5.463%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/Turbot/steampipe-plugin-sdk/v5
- Homepage:
- Documentation: https://pkg.go.dev/github.com/Turbot/steampipe-plugin-sdk/v5#section-documentation
- Licenses: apache-2.0
- Latest release: v5.13.1 (published 4 months ago)
- Last Synced: 2026-01-29T19:49:32.819Z (6 days ago)
- Versions: 145
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.177%
- Dependent repos count: 5.525%
- Forks count: 5.622%
- Average: 5.927%
- Stargazers count: 7.384%
proxy.golang.org: github.com/Turbot/steampipe-plugin-sdk
- Homepage:
- Documentation: https://pkg.go.dev/github.com/Turbot/steampipe-plugin-sdk#section-documentation
- Licenses: apache-2.0
- Latest release: v1.8.3 (published about 4 years ago)
- Last Synced: 2026-01-29T19:49:34.122Z (6 days ago)
- Versions: 47
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.177%
- Dependent repos count: 5.525%
- Forks count: 5.622%
- Average: 5.927%
- Stargazers count: 7.384%
Dependencies
- dist/index.js node12 javascript
- actions/checkout v4 composite
- actions/setup-go v4 composite
- golangci/golangci-lint-action v3 composite
- mig4/setup-bats v1 composite
- cloud.google.com/go v0.110.4
- cloud.google.com/go/compute v1.21.0
- cloud.google.com/go/compute/metadata v0.2.3
- cloud.google.com/go/iam v1.1.1
- cloud.google.com/go/storage v1.30.1
- github.com/XiaoMi/pegasus-go-client v0.0.0-20210427083443-f3b6b08bc4c2
- github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
- github.com/agext/levenshtein v1.2.2
- github.com/allegro/bigcache/v3 v3.1.0
- github.com/apparentlymart/go-textseg/v15 v15.0.0
- github.com/aws/aws-sdk-go v1.44.122
- github.com/beorn7/perks v1.0.1
- github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
- github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822
- github.com/btubbs/datetime v0.1.1
- github.com/cenkalti/backoff/v4 v4.2.1
- github.com/cespare/xxhash/v2 v2.2.0
- github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964
- github.com/dgraph-io/ristretto v0.1.1
- github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
- github.com/dustin/go-humanize v1.0.0
- github.com/eko/gocache/v3 v3.1.2
- github.com/fatih/color v1.15.0
- github.com/fsnotify/fsnotify v1.6.0
- github.com/gertd/go-pluralize v0.2.1
- github.com/ghodss/yaml v1.0.0
- github.com/go-logr/logr v1.2.4
- github.com/go-logr/stdr v1.2.2
- github.com/go-redis/redis/v8 v8.11.5
- github.com/golang/glog v1.1.0
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
- github.com/golang/protobuf v1.5.3
- github.com/google/go-cmp v0.5.9
- github.com/google/s2a-go v0.1.4
- github.com/google/uuid v1.3.0
- github.com/googleapis/enterprise-certificate-proxy v0.2.3
- github.com/googleapis/gax-go/v2 v2.11.0
- github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0
- github.com/hashicorp/go-cleanhttp v0.5.2
- github.com/hashicorp/go-getter v1.7.2
- github.com/hashicorp/go-hclog v1.5.0
- github.com/hashicorp/go-plugin v1.5.1
- github.com/hashicorp/go-safetemp v1.0.0
- github.com/hashicorp/go-version v1.6.0
- github.com/hashicorp/hcl/v2 v2.18.0
- github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d
- github.com/iancoleman/strcase v0.3.0
- github.com/jmespath/go-jmespath v0.4.0
- github.com/klauspost/compress v1.15.11
- github.com/mattn/go-colorable v0.1.13
- github.com/mattn/go-isatty v0.0.19
- github.com/mattn/go-runewidth v0.0.13
- github.com/matttproud/golang_protobuf_extensions v1.0.4
- github.com/mitchellh/go-homedir v1.1.0
- github.com/mitchellh/go-testing-interface v1.14.1
- github.com/mitchellh/go-wordwrap v1.0.0
- github.com/mitchellh/mapstructure v1.5.0
- github.com/oklog/run v1.0.0
- github.com/olekukonko/tablewriter v0.0.5
- github.com/pegasus-kv/thrift v0.13.0
- github.com/pkg/errors v0.9.1
- github.com/prometheus/client_golang v1.14.0
- github.com/prometheus/client_model v0.3.0
- github.com/prometheus/common v0.37.0
- github.com/prometheus/procfs v0.8.0
- github.com/rivo/uniseg v0.2.0
- github.com/sethvargo/go-retry v0.2.4
- github.com/sirupsen/logrus v1.9.0
- github.com/spf13/cast v1.5.0
- github.com/stevenle/topsort v0.2.0
- github.com/tkrajina/go-reflector v0.5.6
- github.com/turbot/go-kit v0.8.0-rc.0
- github.com/ulikunitz/xz v0.5.10
- github.com/zclconf/go-cty v1.14.0
- go.opencensus.io v0.24.0
- go.opentelemetry.io/otel v1.17.0
- go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.17.0
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.40.0
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.40.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0
- go.opentelemetry.io/otel/metric v1.17.0
- go.opentelemetry.io/otel/sdk v1.17.0
- go.opentelemetry.io/otel/sdk/metric v0.40.0
- go.opentelemetry.io/otel/trace v1.17.0
- go.opentelemetry.io/proto/otlp v1.0.0
- golang.org/x/crypto v0.11.0
- golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
- golang.org/x/net v0.12.0
- golang.org/x/oauth2 v0.10.0
- golang.org/x/sync v0.3.0
- golang.org/x/sys v0.11.0
- golang.org/x/text v0.11.0
- golang.org/x/time v0.3.0
- golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
- google.golang.org/api v0.126.0
- google.golang.org/appengine v1.6.7
- google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98
- google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98
- google.golang.org/grpc v1.58.0
- google.golang.org/protobuf v1.31.0
- gopkg.in/natefinch/lumberjack.v2 v2.0.0
- gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
- gopkg.in/yaml.v2 v2.4.0
- k8s.io/apimachinery v0.25.3
- 1121 dependencies
- @actions/core 1.2.6
- @actions/github 4.0.0
- @actions/http-client 1.0.9
- @octokit/auth-token 2.4.3
- @octokit/core 3.2.1
- @octokit/endpoint 6.0.9
- @octokit/graphql 4.5.7
- @octokit/plugin-paginate-rest 2.6.0
- @octokit/plugin-rest-endpoint-methods 4.2.1
- @octokit/request 5.4.10
- @octokit/request-error 2.0.3
- @octokit/types 5.5.0
- @types/node 14.14.7
- before-after-hook 2.1.0
- deprecation 2.3.1
- is-plain-object 5.0.0
- node-fetch 2.6.1
- once 1.4.0
- semver 7.3.2
- tunnel 0.0.6
- universal-user-agent 6.0.0
- wrappy 1.0.2
- @actions/core ^1.2.6
- @actions/github ^4.0.0
- semver ^7.3.2