<!-- .github/pull_request_template.md --> ## Description Let's scope it out. ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced support for the Kuzu graph database provider, enhancing graph operations and data management capabilities. - Added a comprehensive adapter for Kuzu, facilitating various graph database operations. - Expanded the enumeration of graph database types to include Kuzu. - **Tests** - Launched comprehensive asynchronous tests to validate the new Kuzu graph integration’s performance and reliability. - **Chores** - Updated dependency settings and continuous integration workflows to include the Kuzu provider, ensuring smoother deployments and improved system quality. - Enhanced configuration documentation to clarify Kuzu database requirements. - Modified Dockerfile to include Kuzu in the installation extras. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Igor Ilic <30923996+dexters1@users.noreply.github.com>
57 lines
1.3 KiB
Docker
57 lines
1.3 KiB
Docker
FROM python:3.11-slim
|
|
|
|
# Define Poetry extras to install
|
|
ARG POETRY_EXTRAS="\
|
|
# Storage & Databases \
|
|
filesystem postgres weaviate qdrant neo4j falkordb milvus kuzu \
|
|
# Notebooks & Interactive Environments \
|
|
notebook \
|
|
# LLM & AI Frameworks \
|
|
langchain llama-index gemini huggingface ollama mistral groq \
|
|
# Evaluation & Monitoring \
|
|
deepeval evals posthog \
|
|
# Graph Processing & Code Analysis \
|
|
codegraph graphiti \
|
|
# Document Processing \
|
|
docs"
|
|
|
|
# Set build argument
|
|
ARG DEBUG
|
|
|
|
# Set environment variable based on the build argument
|
|
ENV DEBUG=${DEBUG}
|
|
ENV PIP_NO_CACHE_DIR=true
|
|
ENV PATH="${PATH}:/root/.poetry/bin"
|
|
|
|
RUN apt-get update && apt-get install
|
|
|
|
RUN apt-get install -y \
|
|
gcc \
|
|
libpq-dev
|
|
|
|
WORKDIR /app
|
|
COPY pyproject.toml poetry.lock /app/
|
|
|
|
RUN pip install poetry
|
|
|
|
# Don't create virtualenv since Docker is already isolated
|
|
RUN poetry config virtualenvs.create false
|
|
|
|
# Install the dependencies using the defined extras
|
|
RUN poetry install --extras "${POETRY_EXTRAS}" --no-root --without dev
|
|
|
|
# Set the PYTHONPATH environment variable to include the /app directory
|
|
ENV PYTHONPATH=/app
|
|
|
|
COPY cognee/ /app/cognee
|
|
|
|
# Copy Alembic configuration
|
|
COPY alembic.ini /app/alembic.ini
|
|
COPY alembic/ /app/alembic
|
|
|
|
COPY entrypoint.sh /app/entrypoint.sh
|
|
RUN chmod +x /app/entrypoint.sh
|
|
|
|
RUN sed -i 's/\r$//' /app/entrypoint.sh
|
|
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|