Changelog
[1.2.0]
feat: Add support for Press Deployment Revisions:
create-deployment-revision
describe-deployment-revision
list-deployment-revisions
commands are now available on both
Blocks
andApps
. A Revision is created by specifying a differentrelease
version
of the spec currently deployed, along with anyrevision
notes
orparameters
feat: Add support for Press Build Parameters
Build parameters can be defined in the block spec while creating a new block spec or new block spec release, by adding a property of
build
within theparameters
dict, and the desired parts of theconfig
section should also be parameterized using@param:PARAM_NAME
syntax.Values for build parameters can then be provided while creating the app or block deployment or revision
Build parameter properties follow the same rules as runtime parameters
docs: Updated some docs around Press
[1.1.0]
feat: All commands now support
--output
option. This allows you to see the output in eitherjson
,yaml
, ortable
format.feat: Add
--dry-run
option to commands. This allows you to see API calls that the function makes along with the parameters that are sent.feat: Add
--paging
option to commands. This allows you to see the response in a pager instead of dumping it all into the terminal at once.feat: Add new resource namely
tenants
which now supportslist-instance-options
byentity-type
.feat: The logging sub-package has been added to peak-sdk under peak/tools
To import logging, just run the following command
from peak.tools import logging from peak.tools.logging import PeakLogger
To instantiate the logger, run the following command
logger: PeakLogger = logging.get_logger()
To use the logger, run the following command
logger.info("some info message")
feat: A new function
delete_versions
is available insideimages
resource. This allows you to delete many versions at once, using a single call.breaking: The
delete_image
function now does what the name suggests - delete the complete image including all the versions in the image rather than deleting just the latest version as it used to do.feat: Parameterization is now supported in Press via SDK and CLI. It allows to pass parameters to the resources at runtime which can be used to change the runtime behaviour of the resource.
Runtime parameters can be defined in the block spec while creating a new block spec or new block spec release.
Initial values for parameters can be provided while creating the app or block deployment.
patch_parameters
function is added which can be used to update the parameter values of a block deployment.get_parameters
function is added which can be used to get the parameter values of a block deployment.
fix: Fixed an issue with
null
values being passed as values if keys in yaml files have empty value.feat: Users can now add
instanceTypeId
to webapp resource and webapp blocks. Webapp now also supports sticky sessions which we can enable by passingsessionStickiness
asTrue
in the webapp resource and webapp block. Enabling session stickiness will tie each user to a specific server for all their requests.feat: Users can now view the status and details (like - step’s run status, step’s outputs, etc) about workflow executions via the SDK and CLI.
feat: Users can now view and download logs for images and workflow steps through SDK and CLI.
While viewing logs in CLI, users can pass
--follow
to view the live logs that are updated automatically.Users also have an option to save the logs to a file by using
--save
option.
feat: Add favicon to SDK and CLI docs.
feat: While creating or updating images or image-versions,
buildDetails
andsource
is now optional for user’s convenience. By default,source
will be set toupload
.feat: Users can now use
--generate
option with any command that requires a yaml file. This will generate a sample yaml file with all the required fields with sample values. This can be very helpful when you want to create a resource using the CLI, but don’t want to write the YAML config file yourself.
[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
andcreate-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 usecreate_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
andcreate-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 withignore_files
which takes in list of ignorefiles.ci: update branch name regex to support more patterns.
[0.0.3]
fix:
update(patch)
command forresources.image
service works with all arguments as optional.fix: updated types in
sdk
topython >= 3.10
[PEP-585+]
, fixed lingering type issues inlist
methods and allsdk
methods.refactor: updated
list
methods insdk
to return flattened list of items when usingauto-pagination
.refactor: updated
RegistryHandler
and session methods to be more consistent and robust.refactor: changed
list
cli
method names to avoid shadowing built-inlist
type.docs: revised examples to be in-line with current state of
sdk
and updated types inexamples
.docs: added sections on
auto-pagination
,template
REFERENCES, and usage guides ontemplating
forsdk
andcli
.breaking:
type
renamed toimage_type
inresources.image
service, fromtype
to avoid shadowing built-intype
.tests: updated all tests and added new tests for missing scenarios, for 100% unit test coverage across
cli
andsdk
.ci: drop
typeguard
fromdependencies
and stick withmypy
for type checking.ci: added
sonarqube
for code quality andcoverage
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
orupdate
functions, we now need to pass the request details insidebody
key instead of directly passing them as arguments.added: You can now create image with source set to
dockerfile
andgithub
as well along withupload
.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 bothsdk
andcli
andupdate-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.