semvec/pypi-packages huggingface dataset:
dlt-source-airtable 0.0.1
DLT (dlthub.com) source for airtable (airtable.com)
License: MIT
Requires Python: >=3.12
Keywords: airtable, dlt, dlthub

# dlt-source-airtable

[![PyPI version](https://img.shields.io/pypi/v/dlt-source-airtable)](https://pypi.org/project/dlt-source-airtable/)

[DLT](https://dlthub.com/) source for [airtable](https://www.airtable.com/).

Currently loads the following data:

| Table | Contains |
| -- | -- |
| `users` | Items of the `users` model that are users |
| `service_accounts` | Items of the `users` model that are service accounts |

## Why are you not using the `dlt-hub/verified-sources` airtable source / Differences

The [official verified source](https://github.com/dlt-hub/verified-sources/tree/master/sources/airtable)
has a few drawbacks:

- on usage of the verified source, a copy of the current state of
  the `dlt-hub/verified-sources` repository is copied into your project;
  Once you make changes to it, it effectively becomes a fork,
  making it hard to update after the fact.
- This makes use of a preexisting client implementation which uses Pydantic models

## Usage

Create a `.dlt/secrets.toml` with your API token:

```toml
airtable_token = "pat..."
```

You can create this token [here](https://airtable.com/create/tokens)
or as a Service **Admin** Account (preferred).

The scopes needed are as follows:

- `enterprise.user:read`
- `enterprise.account:read`

and then run the default source with optional list references:

```py
from dlt_source_airtable import source as airtable_source

pipeline = dlt.pipeline(
   pipeline_name="airtable_pipeline",
   destination="duckdb",
   dev_mode=True,
)
enterprise_id = "ent..."
airtable_data = airtable_source(enterprise_id)
pipeline.run(airtable_data)
```

### How to get your enterprise ID

Navigate to [your admin view](https://airtable.com/admin/) and you will see

> Account ID: ent...

in the sidebar and/or URL bar of your browser.

## Development

This project is using [devenv](https://devenv.sh/).

Commands:

| Command | What does it do? |
| -- | -- |
| `format` | Formats & lints all code |
| `sample-pipeline-run` | Runs the sample pipeline. |
| `sample-pipeline-show` | Starts the streamlit-based dlt hub |

### Run the sample

```sh
AIRTABLE_TOKEN=[pat...] \
  sample-pipeline-run
```

alternatively you can also create a `.dlt/secrets.toml`
(excluded from git) with the following content:

```toml
airtable_token = "pat..."
```
aleph-superfluid 0.3
Fork of the Python SDK for the Superfluid Protocol
License: MIT
Requires Python: >=3

<h1 align="center">Welcome to Superfluid Python SDK(Unofficial) 👋
</h1>
<div align="center">
<img  width="300" padding="0 0 10px" alt="Superfluid logo" src="https://github.com/superfluid-finance/protocol-monorepo/raw/dev/sf-logo.png" />
<p>
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
  <a href="https://twitter.com/Superfluid_HQ/" target="blank">
    <img alt="Twitter: Superfluid_HQ" src="https://img.shields.io/twitter/follow/Superfluid_HQ.svg?style=social" />
  </a>
</p>
</div>

### 🏠 [Homepage](https://superfluid.finance)

### ✨ [Superfluid App](https://app.superfluid.finance/)

### 📖 [Docs](https://docs.superfluid.finance)

</br>

# Introduction

superfluid.py is an application framework for interacting with the Superfluid Protocol using the Python Programming Language.

This is a friendly fork that adds support for the Base blockchain. It may be deprecated once [merged upstream](https://github.com/Godspower-Eze/superfluid.py/pull/1).

# Features

* Minimal Framework initialization (`rpc` and `chain id`)
* New Operation syntax for transactions
* Read/Create/Update/Delete Agreement Operations (Constant Flow Agreement and Instant Distribution Agreement(In development))

# Notable Used Technologies

* Python
* Web3.py

# Installation

```bash
pip install superfluid
```

# Usage

```python
from superfluid import CFA_V1
from superfluid import Web3FlowInfo

rpc: str = "YOUR PREFERRED RPC"
chain_id: int = "CHAIN ID"

######################################################
###### CONSTANT FLOW AGREEMENT OPERATIONS ###########
######################################################

cfaV1Instance = CFA_V1(rpc, chain_id)

super_token: str = "SUPER TOKEN ADDRESS"
sender: str = "SENDER ADDRESS"
receiver: str = "RECEIVER ADDRESS"
flow_rate: int = "FLOW RATE"

PRIVATE_KEY: str = "YOUR PRIVATE KEY"

flow_data: Web3FlowInfo = cfaV1Instance.get_flow(super_token, sender, receiver)

create_flow_operation = cfaV1Instance.create_flow(
    sender, receiver, super_token, flow_rate)
transaction_hash = create_flow_operation.exec(PRIVATE_KEY)

update_flow_operation = cfaV1Instance.update_flow(
    sender, receiver, super_token, flow_rate)
transaction_hash = update_flow_operation.exec(PRIVATE_KEY)

delete_flow_operation = cfaV1Instance.delete_flow(
    sender, receiver, super_token)
transaction_hash = delete_flow_operation.exec(PRIVATE_KEY)
```