Changelog

[1.0.0]

  • feat: Peak SDK is now available on PyPi. 🚀

  • feat: The package has been rebranded as peak-sdk and now comes with a built-in CLI, eliminating the need for separate installation steps.

    • To install the SDK and the CLI, just run the following command

      pip install peak-sdk
      
    • To install directly from GitHub, run the following command

      pip install "peak-sdk @ git+https://github.com/PeakBI/peak-sdk.git@{branch-name-or-tag}"
      
  • feat: Users can now search worflows, images, and versions by passing in their name in the list functions. This will return a list of all the resources that contain the passed value in its name.

  • feat: Yaml file for creating or updating images or webapps is now optional. We can now pass all the required information as arguments to the CLI command.

  • feat: Add create-or-update commands/functions in SDK/CLI resources. This allows us to update an existing workflow or create it if it does not exist.

  • feat Added function and command - patch-workflow. With the help of this, we can just pass the required parameters to update a workflow without need of yaml file.

  • docs: Usage examples for Press SDK have been added.

[0.0.6]

  • fix: Issue with environment variables where characters are getting autoescaped is fixed (#218).

  • breaking: Updated the format of the “release” key from a string value to an object with a nested “version” property to provide more flexibility and clarity in specifying the release version. Documentation is updated to reflect the changes.

    release: {
        version: "0.0.1";
    }
    

[0.0.5]

  • ci: Updated and Published SDK and CLI docs to https://docs.peak.ai/sdk/.

  • feat: Added versioning support to image list-builds function. We can now filter image builds on versions and build status.

  • chore: Added API doc links to all SDK functions.

  • fix: Examples for using templates are fixed (#226).

  • feat: Webapp blocks are now supported in Press SDK and CLI.

[0.0.4]

  • feat: add progress bar in CLI and SDK for artifact compression.

  • refactor: [CLI] pass client object in click context instead of creating it inside every command file.

  • feat: Add support for passing parameters while executing workflows.

  • feat: Send source information (whether call is made from SDK or CLI) in telemetry data.

  • breaking: SDK/CLI for Press Apps now supports new Press APIs.

    • breaking: An App Spec must now be made up of already existing block specs by giving block config info in request body.

    • breaking: The featured field has been removed from the spec definition and is now defined at the root when creating a spec.

    • added: Users can now share specs across different tenants so they can be viewed/deployed outside of the tenant they were created in.

    • breaking: Removed list-revisions and create-revision for Apps deployments. These will be added back soon in upcoming release.

  • breaking: SDK/CLI for Press Blocks now supports new Press APIs which adds support for image versioning as well.

    • added: Blocks are now generic.

    • added: Users can now share specs across different tenants so they can be viewed/deployed outside of the tenant they were created in.

    • breaking: archive and unarchive functions for blocks are removed. We can now use update_spec_metadata to update the spec status.

    • breaking: To create a new block spec release, instead of using update_spec, we can now use create_release SDK function.

    • added: update_spec_metadata is added which can be used to update metadata and discoverability of the spec.

    • breaking: Removed list-revisions and create-revision for Blocks deployments. These will be added back soon in upcoming release.

  • added: Generic list/search functions and commands are added in Press SDK/CLI which will return specs/deployments of any kind (app or block).

  • breaking: ignore_files_glob is not supported when passing artifact information. It is replaced with ignore_files which takes in list of ignorefiles.

  • ci: update branch name regex to support more patterns.

[0.0.3]

  • fix: update(patch) command for resources.image service works with all arguments as optional.

  • fix: updated types in sdk to python >= 3.10 [PEP-585+], fixed lingering type issues in list methods and all sdk methods.

  • refactor: updated list methods in sdk to return flattened list of items when using auto-pagination.

  • refactor: updated RegistryHandler and session methods to be more consistent and robust.

  • refactor: changed list cli method names to avoid shadowing built-in list type.

  • docs: revised examples to be in-line with current state of sdk and updated types in examples.

  • docs: added sections on auto-pagination, template REFERENCES, and usage guides on templating for sdk and cli.

  • breaking: type renamed to image_type in resources.image service, from type to avoid shadowing built-in type.

  • tests: updated all tests and added new tests for missing scenarios, for 100% unit test coverage across cli and sdk.

  • ci: drop typeguard from dependencies and stick with mypy for type checking.

  • ci: added sonarqube for code quality and coverage reporting.

  • ci: added detect-secrets to prevent secrets from being committed to the repository.

  • feat: SDK/CLI now supports Image Management v2 APIs, which adds support for versioning.

    • breaking: In create or update functions, we now need to pass the request details inside body key instead of directly passing them as arguments.

    • added: You can now create image with source set to dockerfile and github as well along with upload.

    • breaking: We need to pass named arguments whenever any cli command needs 2 or more arguments.

    • breaking: create(post) function is updated to support versioning. We now need to pass version as well in the request body.

    • breaking: update(patch) function is removed from both sdk and cli and update-version(patch) is added.

  • feat: SDK/CLI Workflow resources now supports image versions.

  • feat: SDK/CLI now supports Webapp create, read, update, delete (CRUD) and list operations.

  • feat: SDK/CLI now sends usage metrics to Peak. No sensitive/PII data is sent.

  • ci: fix github action to trigger pre-validate checks on correct conditions.