Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README update suggestion #976

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 56 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,44 +17,85 @@

[pyvespa site / documentation](https://pyvespa.readthedocs.io/en/latest/index.html)

## Overview

[Vespa](https://vespa.ai/) is the scalable open-sourced serving engine that enables users to store,
compute and rank big data at user serving time.
`pyvespa` provides a python API to Vespa.
`pyvespa` provides a Python API to Vespa.
It allows users to create, modify, deploy and interact with running Vespa instances.
The main goal of the library is to allow for faster prototyping and get familiar with Vespa features.

## vespacli
## Installation Steps

This repo also contains the python wrapper for the [Vespa CLI](https://docs.vespa.ai/en/vespa-cli).
See [README](https://github.com/vespa-engine/pyvespa/tree/master/vespacli).
### Using Package Manager

## License
Install directly from PyPI:

```bash
pip install pyvespa
```

Code licensed under the Apache 2.0 license. See [LICENSE](LICENSE) for terms.
### Verification

## Development environment
To verify the successful installation, run the following command:

To install editable version of the library with dev dependencies, run the following command from the root directory of the repository:
```python
python -m pip show pyvespa
```

### Additional Information
Please refer to the [official document](https://pyvespa.readthedocs.io/en/stable/) for more installation details.

## Development Environment

To install an editable version of the library with development dependencies, run the following command from the root directory of the repository:

```python
pip install -e ".[dev]"
```

Note that this will enforce linting and formatting with [Ruff](https://github.com/astral-sh/ruff), which also will be triggered by a [pre-commit](https://pre-commit.com/)-hook.
Note that this will enforce linting and formatting with [Ruff](https://github.com/astral-sh/ruff), which will also be triggered by a [pre-commit](https://pre-commit.com/) hook.

This means that you may get an error message when trying to commit changes if the code does not pass the linting and formatting checks. The errors are detailed in the output, and you can optionally run manually with `ruff` CLI-tool.
This means you may encounter an error message when trying to commit changes if the code does not pass the linting and formatting checks. The errors are detailed in the output, and you can optionally run them manually with the `ruff` CLI tool.

## Releases

Find releases and release notes on [GitHub](https://github.com/vespa-engine/pyvespa/releases).

### Release details
### Release Details

The release flow is semi-automated, but involves a few manual steps.
The release flow is semi-automated but involves a few manual steps:

1. Create a new release from [github.com/vespa-engine/pyvespa/releases/new](https://github.com/vespa-engine/pyvespa/releases/new).
2. Make sure to tag the release with the version number, e.g., `v0.41.0`.
3. This tag will trigger a github action that will publish the package to [PyPI](https://pypi.org/project/pyvespa/).
4. A PR will also be automatically created to update the affected files with the new version. This PR should be merged to keep the version updated in the repository.
2. Tag the release with the version number, e.g., `v0.41.0`.
3. This tag will trigger a GitHub Action that will publish the package to [PyPI](https://pypi.org/project/pyvespa/).
4. A PR will also be automatically created to update the affected files with the new version. Merge this PR to keep the repository's version updated.

This workflow can also be dispatched manually, but note that steps 3 and 4 will ONLY be triggered by a release.

## License

Code is licensed under the Apache 2.0 license. See [LICENSE](LICENSE) for terms.

## vespacli

This repo also contains the python wrapper for the [Vespa CLI](https://docs.vespa.ai/en/vespa-cli).
See [README](https://github.com/vespa-engine/pyvespa/tree/master/vespacli).

## External Documents

For more details, refer to additional documents:

- [Documentation](https://pyvespa.readthedocs.io/en/latest/index.html)
- [Vespa CLI README](https://github.com/vespa-engine/pyvespa/tree/master/vespacli)

## Version History

For version history, refer to the [GitHub Releases](https://github.com/vespa-engine/pyvespa/releases).

## Help and Support

For FAQs, commonly encountered errors, or further assistance, please refer to:

- [Pyvespa Documentation](https://pyvespa.readthedocs.io/en/latest/index.html)
- Report issues on the [GitHub Issues Page](https://github.com/vespa-engine/pyvespa/issues).