https://github.com/planet-a-ventures/dlt-source-morphais
DLT (www.github.com/dlt-hub/dlt) source for Morphais (www.morphais.com)
https://github.com/planet-a-ventures/dlt-source-morphais
data-engineering data-load-tool data-loading dlt dlthub morphais python
Last synced: 19 days ago
JSON representation
DLT (www.github.com/dlt-hub/dlt) source for Morphais (www.morphais.com)
- Host: GitHub
- URL: https://github.com/planet-a-ventures/dlt-source-morphais
- Owner: planet-a-ventures
- License: mit
- Created: 2025-02-11T10:18:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-16T18:54:29.000Z (3 months ago)
- Last Synced: 2026-04-16T20:33:45.899Z (3 months ago)
- Topics: data-engineering, data-load-tool, data-loading, dlt, dlthub, morphais, python
- Language: Python
- Homepage:
- Size: 167 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
description: dlt source for morphais.com
keywords: [Morphais API, morphais.com]
---
# dlt-source-morphais
[](https://pypi.org/project/dlt-source-morphais/)
[DLT](https://dlthub.com/) source for [Morphais](https://www.morphais.com/).
Currently loads the following data:
| Table | Contains |
| -- | -- |
| `persons` | Items of the `Person` model with all properties |
| `persons_*` | Multi-value properties derived of the `Person` model |
| `highlights` | Unique [highlights](https://morphais.readme.io/reference/filter-functions#highlights) |
| `audiences` | Unique audiences (B2B, B2C, etc.) |
| `legal_forms` | Unique legal forms (GmbH, Ltd., etc.) |
| `funding_stages` | Unique funding stages (Pre-Seed, Seed, etc.) |
| `industries` | Unique [industries](https://morphais.readme.io/reference/filter-functions#industries) |
| `solutions` | Unique [solutions](https://morphais.readme.io/reference/filter-functions#solutions) |
| `startups` | Items of the `Startup` model with all properties |
| `startups_*` | Multi-value properties derived of the `Startup` model |
## Usage
Create a `.dlt/secrets.toml` with your API key and email:
```toml
morphais_email=""
morphais_api_key=""
```
and then run the default source with optional list references:
```py
from dlt_source_morphais import source as morphais_source
pipeline = dlt.pipeline(
pipeline_name="morphais_pipeline",
destination="duckdb",
dev_mode=True,
)
morphais_data = morphais_source()
pipeline.run(morphais_data)
```
## Development
This project is using [devenv](https://devenv.sh/).
Commands:
| Command | What does it do? |
| -- | -- |
| `generate-model` | generates the morphais Pydantic model from the current spec file, applies patches, etc. |
| `update-spec` | Pulls in the latest `main#HEAD` of [planet-a-ventures/morphais-openapi-spec](https://github.com/planet-a-ventures/morphais-openapi-spec) |
| `refresh-model` | Both commands above plus adds it to git and commits the changes. |
| `format` | Formats & lints all code |
| `sample-pipeline-run` | Runs the sample pipeline. By default `dev_mode=True` which fetches resources with a limit of 1 (page) |
| `sample-pipeline-show` | Starts the streamlit-based dlt hub |
### Run the sample
```sh
MORPHAIS_EMAIL=[...] \
MORPHAIS_API_KEY=[...] \
sample-pipeline-run
```
alternatively you can also create a `.dlt/secrets.toml`
(excluded from git) with the following content:
```toml
morphais_api_key="..."
morphais_email="you@domain.com"
```