Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

prescient-sdk

A Python SDK for integrating with Prescient services

SDK Documentation: https://sparkgeo.github.io/prescient-sdk/

Quickstart

Local Development

The project is set up using uv for package management. To develop locally:

  1. Install uv following these intructions

  2. (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
    
  3. 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:

  1. Build the docs:

    make build-docs
    
  2. 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:

  1. Create a new branch from main with the new version as the branch name (v*..) following semantic versioning guidelines.

  2. Update the version in pyproject.toml under the [project] section.

  3. Sync the uv.lock file:

    uv sync
    
  4. Create a Pull Request against the main branch, have it reviewed and merged.

  5. 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.

  6. conda-forge release

    Unfortunately, releasing new versions to conda-forge is more involved and less automated. See the conda-forge section below for details.

Conda-forge

This package is available on conda-forge, for comprehensive docs see https://conda-forge.org/docs/maintainer/. In order to release new versions you must already be set as a maintainer of the conda-forge recipe. To become a maintainer follow these instructions: https://conda-forge.org/docs/maintainer/updating_pkgs/#updating-the-maintainer-list

The feedstock repo is located here: https://github.com/conda-forge/prescient-sdk-feedstock

Note that any changes to the feedstock repo need to be made from a fork of that repository, do not create a branch in the repo itself if you need to make manual changes.

How to update the conda-forge release after PyPI has been updated

conda-forge bots should automatically create a PR in the feedstock repo after a new PYPI version has been released, but it may not contain all changes that you need (e.g. updated dependencies for example).

  1. Review the automatically created PR in the feedstock repo, specifically looking at the meta.yaml file in the recipe folder.

  2. To ensure dependencies have been properly updated, it is a good idea to use the grayskull recipe generator to create an alternate meta.yaml file locally and compare it to the the automatically generated version in the feedstock PR.

  3. If you want to maintain multiple versions on conda-forge instead of simply keeping the latest version, you may need to manually create a different PR from a different branch, following these instructions: https://conda-forge.org/docs/maintainer/updating_pkgs/#maintaining-several-versions

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prescient_sdk-0.5.0rc2.tar.gz (616.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prescient_sdk-0.5.0rc2-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file prescient_sdk-0.5.0rc2.tar.gz.

File metadata

  • Download URL: prescient_sdk-0.5.0rc2.tar.gz
  • Upload date:
  • Size: 616.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for prescient_sdk-0.5.0rc2.tar.gz
Algorithm Hash digest
SHA256 dbd5f268874dbf2816f950ffb846d595ff0b3e65d2a563e4f254159a878f42ba
MD5 035df656d39718dfaf6c5c55ffddafd4
BLAKE2b-256 31e23a9614fbf884c5f91278499dba62339d9cc8eb1e8d395251ec1ec534c7d0

See more details on using hashes here.

File details

Details for the file prescient_sdk-0.5.0rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for prescient_sdk-0.5.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3a074af50d2a7c48e067a11603a5f94c17d58a74dc73372ac0fd012b763efad
MD5 2635e265356ea9ff40474325f89e50e0
BLAKE2b-256 30c532c80f5b1091c23c7a790d7c1be747effe7f172b961781dfeb856e052875

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.0rc2 This release

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page