A Python SDK for integrating with Prescient services
Project description
prescient-sdk
A Python SDK for integrating with Prescient services
Quickstart
Local Development
The project is set up using uv for package management. To develop locally:
-
Install uv following these intructions
-
(Optional) Use uv to set up your local env.
Note that this will happen automatically when you run tests or any python application using uv, so it is not necessary
uv sync
-
Run the tests
uv run pytest
or
make run-tests
Configuration
Configuration methods are discussed in the Jupyter Notebook configuration.ipynb
Code Formatting/Linting
Code format is set using the Ruff formatter. To run this formatter:
make format
Adding or removing dependencies
Add or remove dependencies using UV.
In the simplest case, you can add a new dependency like this:
uv add <some-dependency>
To add a dev dependency:
uv add <some-dependency> --dev
To remove a dependency:
uv remove <some-dependency>
For more complex features, see the uv documentation
Build the documentation
Public facing documentation is built using jupyter-books.
The docs folder contains the layout for the public facing documentation.
You can build the documentation locally, and access the built html pages in a local browser:
-
Build the docs:
make build-docs
-
Open the html in a browser:
After building the docs, the path to the index.html file will be logged, and should look something like
docs/_build/html/index.html
Cutting a Release
In order to release a new version to be published to PyPI:
-
Create a new branch from main with the new version as the branch name (v*..) following semantic versioning guidelines.
-
Update the version in pyproject.toml under the
[project]
section. -
Sync the uv.lock file:
uv sync
-
Create a Pull Request against the main branch, have it reviewed and merged.
-
Create a new Release with a tag and title named
v*.*.*
. Include a description of all major updates included in this new release.After the release has been created, you should see Actions running to publish the new release to PyPI, and to update the Github Pages documentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for prescient_sdk-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1157cbb0659497edf4589a0b967be05c0ac8bedba5c1dc8ec93f95e660fcec7 |
|
MD5 | 6895e404003953f0052bdd36cc406477 |
|
BLAKE2b-256 | cdea6b8460b8fbdcf6468ffe34bc2a2cc4818ddeea55c2a6533a942fb328c648 |