Skip to main content

Boost is a simple build system that aims to create an interface for shell command substitution across different operative systems.

Project description

Boost

Boost is a simple build system that aims to create an interface for shell command substitution across different operative systems. Boost tries to centralize build steps on different development environments.

Boost adds a simple way to add custom commands with different behaviours for different platforms.

Commands

A command is a group of functions which determines the behaviour of an action on different environments. A command needs to implement these functions:

  • generic_exec(args: List[str]) -> dict: function if the code is the same across multiple platforms or
  • win_exec(args: List[str]) -> dict: for Windows commands.
  • posix_exec(args: List[str]) -> dict: for Posix commands.

Currently, commands files under cmd package which implement above deffined functions can be automatically used by its file name. For example, boost.cmd.delete can be used inside any boost.yaml boost targets by using the keyword delete.

Using Boost

To use Boost, first, create a boost.yaml file in your project directory. This is an example of a simple boost file.

vars:
  file: example.txt
  current_dir: exec pwd
boost:
  dev: |
    delete {file}
    asd {current_dir}
  • vars: Define key-value pairs representing variables that needs to be used inside boost targets. If a variable needs to store the output from a command, use exec followed by the commands that needs to be captured.
  • boost: Define key-value pairs named boost targets. Target key will be used to call that specific target. Value contains a list of commands separated by \n that will be triggered when calling a specific target. If a value needs to use a variable, use $ followed by the variable name that was previously declared on vars section.

To call a boost target, run boost <TARGET>. If no boost target was specified, boost will use the first defined target.

Developing boost

Requirements:

  • poetry

Run poetry install. Whit the previous command, you can run poetry run boost to test boost, boost command does automatically trigger boostbuild.main:main function.

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

boostbuild-0.1.13.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

boostbuild-0.1.13-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file boostbuild-0.1.13.tar.gz.

File metadata

  • Download URL: boostbuild-0.1.13.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-1030-azure

File hashes

Hashes for boostbuild-0.1.13.tar.gz
Algorithm Hash digest
SHA256 9abca4ab1f5a099095ceed15855bc5716fce903030d56eba854ae4cfc8ebbf4d
MD5 882d7a2ce8856b6e9caf82f946b74b50
BLAKE2b-256 6465e0c2445e61636cf022a49933ba5c679d195393f80b2be9b24da0e2427be0

See more details on using hashes here.

File details

Details for the file boostbuild-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: boostbuild-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-1030-azure

File hashes

Hashes for boostbuild-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 0b905b679296d8c19b66ed0f8ee02cb39777ea98fca7b77240abcf305644ae58
MD5 03a250e56e4aebac03b9cae1fd3b7fb7
BLAKE2b-256 9240178c729797713d8acd2bbb3d053826fe1a29524cdb4c4dbc3b84d43c7330

See more details on using hashes here.

Supported by

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