Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
This project is managed with UV
Make sure you have > 0.5.0 of UV installed.
- Use
uv python install
to install the project python version - Use
uv sync
to create a virtual environment and install the dev dependencies - Use
uv run poe install
to install all the dependencies for all the packages
We use poethepoet to define standard development tasks.
Note: All the following commands need to be run with: uv run poe <command>
. Example uv run poe lint
.
We suggest you add a shell function to your rc or dot file:
urp() {
uv run poe "$@"
}
Then you can run urp lint
instead.
help
: show all the available commands
install
: Install dependencies from all packages and all extraslock-check
: Runsuv lock --locked
to check uv.lock file consistency (fix withlock-fix
)lock-fix
: Runsuv lock
to fix uv.lock file consistency
fmt-check
: Runsruff format --check
to check for formatting issues (fix withfmt-fix
)fmt-fix
: Runsruff format
to fix formatting issueslint-check
: Runsruff check
to check for lint issues (fix withlint-fix
)lint-fix
: Runsruff check --fix
to fix lint issuestype-check
: Runsmypy
to check for static type issuesdep-check
: Runsdeptry
to check for dependency issueslint
: Runs all formatting, lints, and checks (fixing where possible)
test
Runs unit and integration tests (against in-memory stores)test-all
Runs unit and integration tests (against all stores)
docs-api
: Updates the package installation and generates the API docsdocs-preview
: Starts a live preview of the docs sitedocs-build
: Builds the docs site in_site
- Look at the draft release to determine the suggested next version.
- Create a PR updating the following locations to that version:
a.
packages/graph-retriever/pyproject.toml
forgraph-retriever
b.packages/langchain-graph-retriever/pyproject.toml
forlangchain-graph-retriever
- Once that PR is in, edit the draft release, make sure the version and tag match what you selected in step 1 (and used in the PR), check "Set as a pre-release" (will be updated by the release automation) and choose to publish the release.
- The release automation should kick in and work through the release steps. It will need approval for the pypi deployment environment to publish the
graph-retriever
andlangchain-graph-retriever
packages.