From f09c7608e4c887984a11f28718b957a7ede7770c Mon Sep 17 00:00:00 2001
From: Om Bhardwaj <115864495+ombhardwajj@users.noreply.github.com>
Date: Fri, 8 Nov 2024 11:56:14 +0530
Subject: [PATCH] Submission for source-simfin from Connector Builder
---
.../connectors/source-simfin/README.md | 1 +
.../connectors/source-simfin/icon.svg | 5 +-
.../connectors/source-simfin/manifest.yaml | 406 +++++++++++++++++-
.../connectors/source-simfin/metadata.yaml | 6 +-
docs/integrations/sources/simfin.md | 8 +-
5 files changed, 412 insertions(+), 14 deletions(-)
diff --git a/airbyte-integrations/connectors/source-simfin/README.md b/airbyte-integrations/connectors/source-simfin/README.md
index 7c3d6fff4cdf..ecebcf52b60f 100644
--- a/airbyte-integrations/connectors/source-simfin/README.md
+++ b/airbyte-integrations/connectors/source-simfin/README.md
@@ -3,6 +3,7 @@ This directory contains the manifest-only connector for `source-simfin`.
Simfin provides financial data .
With this connector we can extract data from price data , financial statements and company info streams .
+Docs https://simfin.readme.io/reference/getting-started-1
## Usage
There are multiple ways to use this connector:
diff --git a/airbyte-integrations/connectors/source-simfin/icon.svg b/airbyte-integrations/connectors/source-simfin/icon.svg
index 136ab3789bfc..cf5618012c9a 100644
--- a/airbyte-integrations/connectors/source-simfin/icon.svg
+++ b/airbyte-integrations/connectors/source-simfin/icon.svg
@@ -1,2 +1,3 @@
-
-
+
\ No newline at end of file
diff --git a/airbyte-integrations/connectors/source-simfin/manifest.yaml b/airbyte-integrations/connectors/source-simfin/manifest.yaml
index 13b161868d31..bc3052e21f5f 100644
--- a/airbyte-integrations/connectors/source-simfin/manifest.yaml
+++ b/airbyte-integrations/connectors/source-simfin/manifest.yaml
@@ -1,4 +1,4 @@
-version: 5.15.0
+version: 6.4.0
type: DeclarativeSource
@@ -8,6 +8,8 @@ description: >-
With this connector we can extract data from price data , financial statements
and company info streams .
+ Docs https://simfin.readme.io/reference/getting-started-1
+
check:
type: CheckStream
stream_names:
@@ -94,21 +96,166 @@ definitions:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/Price Data"
+ companies:
+ type: DeclarativeStream
+ name: companies
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: companies/list
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/companies"
+ common_shares_outstanding:
+ type: DeclarativeStream
+ name: common_shares_outstanding
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: companies/common-shares-outstanding
+ http_method: GET
+ request_parameters:
+ id: "{{ stream_partition.id }}"
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ partition_router:
+ type: SubstreamPartitionRouter
+ parent_stream_configs:
+ - type: ParentStreamConfig
+ parent_key: id
+ partition_field: id
+ stream:
+ $ref: "#/definitions/streams/companies"
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/common_shares_outstanding"
+ weighted_shares_outstanding:
+ type: DeclarativeStream
+ name: weighted_shares_outstanding
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: companies/weighted-shares-outstanding
+ http_method: GET
+ request_parameters:
+ id: "{{ stream_partition.id }}"
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ partition_router:
+ type: SubstreamPartitionRouter
+ parent_stream_configs:
+ - type: ParentStreamConfig
+ parent_key: id
+ partition_field: id
+ stream:
+ $ref: "#/definitions/streams/companies"
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/weighted_shares_outstanding"
+ filings_by_company:
+ type: DeclarativeStream
+ name: filings_by_company
+ primary_key:
+ - filingIdentifier
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: filings/by-company
+ http_method: GET
+ request_parameters:
+ id: "{{ stream_partition.id }}"
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ partition_router:
+ type: SubstreamPartitionRouter
+ parent_stream_configs:
+ - type: ParentStreamConfig
+ parent_key: id
+ partition_field: id
+ stream:
+ $ref: "#/definitions/streams/companies"
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/filings_by_company"
+ filings_list:
+ type: DeclarativeStream
+ name: filings_list
+ primary_key:
+ - filingIdentifier
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: filings/list
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path:
+ - contents
+ paginator:
+ type: DefaultPaginator
+ page_token_option:
+ type: RequestOption
+ inject_into: request_parameter
+ field_name: page
+ page_size_option:
+ type: RequestOption
+ inject_into: request_parameter
+ field_name: per-page
+ pagination_strategy:
+ type: PageIncrement
+ start_from_page: 0
+ page_size: 1000
+ inject_on_first_request: true
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/filings_list"
base_requester:
type: HttpRequester
url_base: https://backend.simfin.com/api/v3/
authenticator:
type: ApiKeyAuthenticator
+ api_token: "{{ config[\"api_key\"] }}"
inject_into:
type: RequestOption
- inject_into: header
field_name: Authorization
- api_token: "{{ config[\"api_key\"] }}"
+ inject_into: header
streams:
- $ref: "#/definitions/streams/Company Info "
- $ref: "#/definitions/streams/Financial Statements"
- $ref: "#/definitions/streams/Price Data"
+ - $ref: "#/definitions/streams/companies"
+ - $ref: "#/definitions/streams/common_shares_outstanding"
+ - $ref: "#/definitions/streams/weighted_shares_outstanding"
+ - $ref: "#/definitions/streams/filings_by_company"
+ - $ref: "#/definitions/streams/filings_list"
spec:
type: Spec
@@ -120,9 +267,9 @@ spec:
properties:
api_key:
type: string
+ order: 0
title: API Key
airbyte_secret: true
- order: 0
additionalProperties: true
metadata:
@@ -130,23 +277,63 @@ metadata:
"Company Info ": true
Financial Statements: true
Price Data: true
+ companies: true
+ common_shares_outstanding: true
+ weighted_shares_outstanding: true
+ filings_by_company: true
+ filings_list: true
testedStreams:
"Company Info ":
+ hasRecords: true
streamHash: 9e726c6019d4e63cb31fbfe032148c1fc2c10686
hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
responsesAreSuccessful: true
+ Financial Statements:
hasRecords: true
+ streamHash: 357824c43d7efbc949979761302521bde147930e
+ hasResponse: true
+ primaryKeysAreUnique: true
primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ Price Data:
+ hasRecords: true
+ streamHash: 71296e2297941f727e87526862586d1ebcdf86fd
+ hasResponse: true
primaryKeysAreUnique: true
- Financial Statements:
- streamHash: 357824c43d7efbc949979761302521bde147930e
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ companies:
+ streamHash: 20ea91a757a266dd3d6d43000d3d2f20aa9a39ed
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
- Price Data:
- streamHash: 71296e2297941f727e87526862586d1ebcdf86fd
+ common_shares_outstanding:
+ streamHash: 2ad66097feb064e4b52190d057083a791a238a20
+ hasResponse: true
+ responsesAreSuccessful: true
+ hasRecords: true
+ primaryKeysArePresent: true
+ primaryKeysAreUnique: true
+ weighted_shares_outstanding:
+ streamHash: e5dc0ebf850f05a23a3d4557f6a5c00fd976125d
+ hasResponse: true
+ responsesAreSuccessful: true
+ hasRecords: true
+ primaryKeysArePresent: true
+ primaryKeysAreUnique: true
+ filings_by_company:
+ streamHash: 3478504d337269c01e6ebdf9c2902849216949f5
+ hasResponse: true
+ responsesAreSuccessful: true
+ hasRecords: true
+ primaryKeysArePresent: true
+ primaryKeysAreUnique: true
+ filings_list:
+ streamHash: 42b5d87568d79b3a55a518f9e3ed0997405bd482
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
@@ -948,3 +1135,206 @@ schemas:
type:
- number
- "null"
+ companies:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ id:
+ type:
+ - number
+ - "null"
+ industryName:
+ type:
+ - string
+ - "null"
+ isin:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ sectorCode:
+ type:
+ - number
+ - "null"
+ sectorName:
+ type:
+ - string
+ - "null"
+ ticker:
+ type:
+ - string
+ - "null"
+ common_shares_outstanding:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ endDate:
+ type:
+ - string
+ - "null"
+ pid:
+ type:
+ - number
+ - "null"
+ value:
+ type:
+ - number
+ - "null"
+ weighted_shares_outstanding:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ basic:
+ type:
+ - number
+ - "null"
+ diluted:
+ type:
+ - number
+ - "null"
+ endDate:
+ type:
+ - string
+ - "null"
+ fyear:
+ type:
+ - number
+ - "null"
+ period:
+ type:
+ - string
+ - "null"
+ pid:
+ type:
+ - number
+ - "null"
+ filings_by_company:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ company:
+ type:
+ - object
+ - "null"
+ properties:
+ id:
+ type:
+ - number
+ - "null"
+ industryName:
+ type:
+ - string
+ - "null"
+ isin:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ sectorCode:
+ type:
+ - number
+ - "null"
+ sectorName:
+ type:
+ - string
+ - "null"
+ ticker:
+ type:
+ - string
+ - "null"
+ filingDate:
+ type:
+ - string
+ - "null"
+ filingIdentifier:
+ type: string
+ filingType:
+ type:
+ - string
+ - "null"
+ fyear:
+ type:
+ - number
+ - "null"
+ period:
+ type:
+ - string
+ - "null"
+ sourceLink:
+ type:
+ - string
+ - "null"
+ required:
+ - filingIdentifier
+ filings_list:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ company:
+ type:
+ - object
+ - "null"
+ properties:
+ id:
+ type:
+ - number
+ - "null"
+ industryName:
+ type:
+ - string
+ - "null"
+ isin:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ sectorCode:
+ type:
+ - number
+ - "null"
+ sectorName:
+ type:
+ - string
+ - "null"
+ ticker:
+ type:
+ - string
+ - "null"
+ filingDate:
+ type:
+ - string
+ - "null"
+ filingIdentifier:
+ type: string
+ filingType:
+ type:
+ - string
+ - "null"
+ fyear:
+ type:
+ - number
+ - "null"
+ period:
+ type:
+ - string
+ - "null"
+ sourceLink:
+ type:
+ - string
+ - "null"
+ required:
+ - filingIdentifier
diff --git a/airbyte-integrations/connectors/source-simfin/metadata.yaml b/airbyte-integrations/connectors/source-simfin/metadata.yaml
index 887411a189e6..80bdcc4b74f4 100644
--- a/airbyte-integrations/connectors/source-simfin/metadata.yaml
+++ b/airbyte-integrations/connectors/source-simfin/metadata.yaml
@@ -13,17 +13,17 @@ data:
enabled: false
packageName: airbyte-source-simfin
connectorBuildOptions:
- baseImage: docker.io/airbyte/source-declarative-manifest:5.16.0@sha256:6800f806944ee4fccf24ae01f6b8fbefb12d952c3b3da338f51f732b55de51f2
+ baseImage: docker.io/airbyte/source-declarative-manifest:6.4.0@sha256:f20270ba0ac84b315467c706232f3cbfbadab1f5565174eaf4c32cd3c5a43169
connectorSubtype: api
connectorType: source
- definitionId: 5fbfa119-3606-4691-84cf-d624e6c2cb29
+ definitionId: f00b4899-1154-477e-8508-3d7f33ffb28c
dockerImageTag: 0.0.1
dockerRepository: airbyte/source-simfin
githubIssueLabel: source-simfin
icon: icon.svg
license: MIT
name: SimFin
- releaseDate: 2024-10-26
+ releaseDate: 2024-11-08
releaseStage: alpha
supportLevel: community
documentationUrl: https://docs.airbyte.com/integrations/sources/simfin
diff --git a/docs/integrations/sources/simfin.md b/docs/integrations/sources/simfin.md
index 2187b1362437..d0c3b0dc9b18 100644
--- a/docs/integrations/sources/simfin.md
+++ b/docs/integrations/sources/simfin.md
@@ -1,6 +1,7 @@
# SimFin
Simfin provides financial data .
With this connector we can extract data from price data , financial statements and company info streams .
+Docs https://simfin.readme.io/reference/getting-started-1
## Configuration
@@ -14,6 +15,11 @@ With this connector we can extract data from price data , financial statements a
| Company Info | id | No pagination | ✅ | ❌ |
| Financial Statements | | No pagination | ✅ | ❌ |
| Price Data | | No pagination | ✅ | ❌ |
+| companies | | No pagination | ✅ | ❌ |
+| common_shares_outstanding | | No pagination | ✅ | ❌ |
+| weighted_shares_outstanding | | No pagination | ✅ | ❌ |
+| filings_by_company | filingIdentifier | No pagination | ✅ | ❌ |
+| filings_list | filingIdentifier | DefaultPaginator | ✅ | ❌ |
## Changelog
@@ -22,6 +28,6 @@ With this connector we can extract data from price data , financial statements a
| Version | Date | Pull Request | Subject |
|------------------|-------------------|--------------|----------------|
-| 0.0.1 | 2024-10-26 | | Initial release by [@ombhardwajj](https://github.com/ombhardwajj) via Connector Builder |
+| 0.0.1 | 2024-11-08 | | Initial release by [@ombhardwajj](https://github.com/ombhardwajj) via Connector Builder |