Skip to content

Add pyproject.toml for pip/uv installability#126

Open
zamal-db wants to merge 1 commit intoVectifyAI:mainfrom
zamal-db:add-pyproject-toml
Open

Add pyproject.toml for pip/uv installability#126
zamal-db wants to merge 1 commit intoVectifyAI:mainfrom
zamal-db:add-pyproject-toml

Conversation

@zamal-db
Copy link

Summary

Adds a minimal pyproject.toml at the repository root so that PageIndex can be installed as a proper Python package:

pip install git+https://github.com/VectifyAI/PageIndex.git

or with uv:

uv pip install git+https://github.com/VectifyAI/PageIndex.git

It can also be declared as a dependency in downstream projects:

dependencies = [
    "pageindex @ git+https://github.com/VectifyAI/PageIndex.git@main",
]

Changes

  • New file: pyproject.toml — uses hatchling as the build backend with the same dependencies already listed in requirements.txt, but with flexible lower bounds (standard practice for library packages).
  • No other files are modified. The existing requirements.txt with pinned versions is kept for backward compatibility.

Tested

  • pip install -e . — ✅ editable install succeeds
  • pip install . — ✅ non-editable install succeeds
  • import pageindex — ✅ all public APIs importable
  • config.yaml included as package data — ✅ ConfigLoader works
  • pip show pageindex — ✅ metadata correct

Closes #103

Add a minimal pyproject.toml so the repository can be installed as a
proper Python package via pip or uv:

  pip install git+https://github.com/VectifyAI/PageIndex.git
  uv pip install git+https://github.com/VectifyAI/PageIndex.git

Uses hatchling as the build backend with flexible dependency lower
bounds. The existing requirements.txt with pinned versions is kept
for backward compatibility.

Closes VectifyAI#103
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Repository is not installable as a Python package (missing pyproject.toml)

1 participant