Palm Cli Versions Save

Palm CLI - the tool-belt for data teams

2.6.0

7 months ago

Changed

  • run_in_docker is abstracted to a utility function, allowing plugins to execute commands in the docker container without needing to import the environment object.

Removed

  • run_in_shell is removed in favor of run_in_docker. This has been deprecated since v2.0.0

2.5.3

1 year ago

Fixed

  • Modern Docker compose Switch all docker-compose commands to use the modern docker compose syntax and remove dependency check for docker-compose. This change was made to support the new docker-compose v2.0.0 syntax, which is widely used in the community. docker-compose is reaching end of support next month.

2.5.2

1 year ago

Fixed

  • Pyyaml v6 support Removed upper version pin for pyyaml to support v6.0.0

2.5.1

1 year ago

Fixed

  • Plugin config update was returning boolean, needed to also return the config.

2.5.0

1 year ago

Added

  • Global palm allows palm to run outside of initialized git projects. This feature opens up many new possibilities for automation with palm, including project scaffolding with cookiecutter, machine setup, and global plugins that can do just about anything!
  • Project scaffolding with cookiecutter. Palm now includes cookiecutter for scaffolding new projects. Why would you use palm for this, instead of using cookiecutter directly? Because with palm, you're able to configure a set of default cookiecutter templates, which helps keep projects consistent. Every developer, on every team, should use the same set of templates!
  • Plugin Configs enable plugins to define a configuration object which is persisted in the .palm/config.yml. Configurations are defined by the plugin and made available to each command via the palm environment. The next release of palm-dbt will include a working example of Plugin Configuration!
  • Pre-commit Added pre-commit hooks to palm to improve contributor experience.
  • Continuous deployment via github actions workflow.
  • Additional Dependencies palm-cli now depends on cookiecutter >= 2.0 for project scaffolding via palm new and pydantic >= 1.9 for Plugin Configs.

Changed

  • linting & cleanup as a result of adding more tools in out pre-commit hooks, we also cleaned up some poorly formatted files in the project!.
  • Use pass_obj all core commands now use @click.pass_obj to provide the palm environment to the command, rather than the more convoluted @click.pass_context()

v2.4.1

1 year ago

Improvements

  • Improved layout for palm --help: Palm help now outputs the command list in groups based on the plugin the command originates from! This is particularly helpful when working in a project that defines uses plugins, defines it's own commands, and you have global plugins installed!

Bug fixes

  • Fixed a path issue for windows users when using code_gen or palm init
  • Fixes a potential security vulnerability when upgrading plugins via palm plugin update
  • Fixes a number of other small issues detected by CodeQL static anlysis

v2.4.0

2 years ago

Features:

  • Run docker commands without /bin/bash - Added optional arguments to environment.run_in_docker allows developers to execute commands in their docker containers without prepending them with /bin/bash -c. This is useful & necessary for images with a specific entrypoint

Improvements:

  • Added documentation New documentation for:
    • Global palm configuration
    • Shell autocomplete
    • Upgrading palm

v2.3.0

2 years ago

Features:

  • Override command The new palm override command makes it easy to change the functionality of core or plugin commands in your project.
  • git repo added to palm config Developers can now access the pygit2 Repository via the context.obj.palm.config - this can be helpful when implementing commands that use git or need data from the repo.

Improvements

  • Startup speed changed the implementation of checking docker-compose is installed, this fixes intermittent slowdowns on startup
  • Dependency upgrades: Click updated to v8.1 and up, Black updated to v22.3.0

v2.2.0

2 years ago

Python Version Support"

  • Dropped support for python3.6 Python 3.6 is end of life and supporting it started to cause issues with dependent packages. We are dropping support for python 3.6 in palm v2.2.0

Features:

  • Global config & Global plugins Palm now supports installing plugins globally! After updating to palm 2.2.0, the first time you run palm ... a new global config will be created at ~/.palm/config.yaml, you can add plugins to this config to make them available to all of your repositories! This feature was developed to support a Palmetto internal palm-workflow plugin, which is used to manage our dev workflow in Trello.

Bug Fixes:

  • pygit2 version pin adjusted: The upper version pin on pygit2 was removed to resolve an error installing palm on newer versions of MacOS. Note that libgit2 is still required, per the requirements of pygit2. A future version will introduce checking for libgit2 and more friendly error messaging.
  • Upgraded jinja: We were previously using an unsupported version of Jinja which was using a deprecated method in markupsafe, markupsafe removed that method which caused an error when installing palm. We upgraded to the latest version of jinja to resolve this issue and get the latest jinja features.

v2.1.1

2 years ago

Bug fixes

  • Resolve a template issue when running palm plugin new

Improvements

  • Command templates now use click's @pass_obj decorator and pass the environment argument, this is a cleaner API for interacting with the Palm.Environment class
  • CI now runs against multiple python versions
  • Black version is pinned for consistency between local & CI runs