Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bilbyai/air2neo
Airtable to Neo4j
https://github.com/bilbyai/air2neo
airtable api neo4j python
Last synced: about 2 months ago
JSON representation
Airtable to Neo4j
- Host: GitHub
- URL: https://github.com/bilbyai/air2neo
- Owner: bilbyai
- License: bsd-3-clause
- Created: 2022-04-22T14:27:09.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-27T03:44:08.000Z (over 1 year ago)
- Last Synced: 2024-11-15T22:25:38.293Z (3 months ago)
- Topics: airtable, api, neo4j, python
- Language: Python
- Homepage:
- Size: 140 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# air2neo
[![Test Lint and Deploy](https://github.com/bilbyai/air2neo/actions/workflows/test_lint_deploy.yml/badge.svg)](https://github.com/bilbyai/air2neo/actions/workflows/test_lint_deploy.yml)
[![codecov](https://codecov.io/gh/bilbyai/air2neo/branch/main/graph/badge.svg?token=EQW6XHZSXS)](https://codecov.io/gh/bilbyai/air2neo)Airtable to Neo4j data ingestor
## Quickstart
```python
from air2neo import Air2Neo, MetatableConfiga2n = Air2Neo(
airtable_api_key,
airtable_base_id,
neo4j_uri,
neo4j_username,
neo4j_password,
MetatableConfig(
table_name, # "Metatable"
# Optionally, you can provide `table`,
# which is a pyairtable.Table object.name_col, # "Name",
view_col, # "View", (optional)
index_for_col, # "IndexFor",
constrain_for_col, # "ConstrainFor",
node_properties_col, # "NodeProperties",
edges_col, # "Edges",
node_properties_last_ingested_col, # "nodesLastIngested",
edges_last_ingested_col, # "edgesLastIngested",
airtable_id_property_in_neo4j, # "_aid" (The name of the property in Neo4j that stores the Airtable ID, defaults to)
format_edge_col_name, # "function that formats edge column names. Removes everything after a double-underscore, e.g. IN_INDUSTRY__BANK is renamed to IN_INDUSTRY",
airtable_api_key, # "Airtable API key",
airtable_base_id, # "Airtable base ID",
),
)
a2n.run()
```If you have a .env file like so:
```
AIRTABLE_API_KEY=
AIRTABLE_BASE_ID=
AIRTABLE_METATABLE_NAME= # Optional, defaults to "Metatable"
NEO4J_URI=
NEO4J_USERNAME=
NEO4J_PASSWORD=
```
You just run the following:
```python
from air2neo import Air2Neoa2n = Air2Neo()
a2n.run()
```
## Installation
```bash
$ pip install air2neo
```
## Documentation
To be implemented. For now, please look at the code docstrings. Sorry about that!