Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

neo-pusher

neo-pusher is a Python package designed to facilitate the seamless transfer of data from CSV files to a Neo4j database. Leveraging the power of OpenAI's GPT models and the LangChain framework, neo-pusher automates the process of schema generation, data preprocessing, and data insertion into Neo4j, ensuring data consistency and integrity.

Features

  • Automated Schema Generation: Automatically generates a Neo4j schema based on the CSV file's headers.
  • Data Preprocessing: Identifies and resolves inconsistencies in the data before pushing it to Neo4j.
  • Error Handling and Debugging: The agent reruns and debugs code automatically if any errors are encountered during the process.
  • Multiple Dataset Support: Capable of handling multiple datasets simultaneously, ensuring that all columns are properly represented in the database.

Installation

To install neo-pusher, use pip:

pip install neo-pusher

Usage

Here's an example of how to use neo-pusher to push data from a CSV file to a Neo4j database:

from neo_pusher.agent import NeoAgent

# Initialize the NeoAgent with your OpenAI API key
agent = NeoAgent(apikey="your_openai_api_key",lang_chain_api_key="your_lang_chain_api_key")

# Define the parameters for your Neo4j database and CSV file
path = "path/to/your/csvfile.csv"
username = "neo4j_username"
password = "neo4j_password"
url = "bolt://localhost:7687"
data = "head of your csv data"

# Run the agent to push data to Neo4j
response = agent.run(path, username, password, url, data)
print(response)

Parameters

  • apikey (str): Your OpenAI API key.
  • langchain_api_key (str): Your Langchain API key.
  • model (str): The OpenAI model to use. Defaults to "gpt-4o".
  • path (str): The path to the CSV file.
  • username (str): The username for the Neo4j database.
  • password (str): The password for the Neo4j database.
  • url (str): The URL of the Neo4j database.
  • data (str): The head of the CSV file. Defaults to None.

Return Value

  • The run method returns a response from the LLM, including the results of the schema generation, data preprocessing, and data insertion into Neo4j.

Example CSV Data

The following is an example of the CSV file headers that neo-pusher can process:

Dataset 1:

order_details_id order_id pizza_id quantity
1 1 hawaiian_m 1
2 2 classic_dlx_m 1

Dataset 2:

pizza_id pizza_type_id size price
bbq_ckn_s bbq_ckn S 12.75
bbq_ckn_m bbq_ckn M 16.75

Notes

  • The agent uses the neo4j Python package to connect to and push data into the Neo4j database.
  • Before pushing data, the agent checks for any inconsistencies and cleans the data accordingly.

Metadata

Release files for neo-pusher 1.0.1.dev144

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neo-pusher 1.0.1.dev144
File Size Uploaded
neo_pusher-1.0.1.dev144.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neo-pusher 1.0.1.dev144
File Interpreter ABI Platform
neo_pusher-1.0.1.dev144-py3-none-any.whl Python 3 none any Details

Total release size: 16.3 kB

Release files / neo_pusher-1.0.1.dev144.tar.gz

Download URL neo_pusher-1.0.1.dev144.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bda567c77e2e15c6f22a4a2d4f99654b4a7aef41f90b602f1410687c64d56390
BLAKE2b-256 checksum
How to use checksums
3e43a232f5613ea1b71c2694d90065c66695c3800c1a1da54869afd793fe2c72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5

Release files / neo_pusher-1.0.1.dev144-py3-none-any.whl

Download URL neo_pusher-1.0.1.dev144-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2afd94c2473874c16f7fbca47953266c76698babc84d244df2f779e8007cb445
BLAKE2b-256 checksum
How to use checksums
917268fd99fa1df163b1eb5af5b90f234be9f42ff9ce6de820d81cc4d731979f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page