Skip to main content

A Simple task runner for pyproject.toml, written in Rust.

Project description

Libretto

A Simple task runner for pyproject.toml, written in Rust.

Install

uv tool install libretto

Configuration

Libretto can be configured in the [tool.libretto] section of your pyproject.toml file.

venv

Specifies the path to the virtual environment to use when running tasks.

[tool.libretto]
venv = ".venv"

Example

[tool.libretto]
venv = ".venv"

[tool.libretto.tasks]
hello = "echo Hello, World!"

Usage

Libretto reads tasks from the pyproject.toml file in the current directory. Tasks are defined in the [tool.libretto.tasks] section.

To run a task, use the libretto command followed by the task name:

libretto <task_name>

# can execute with uv-task
uv-task <task_name>

For example, to run the hello task from the example above:

libretto hello

This will output:

Hello, World!

Passing Additional Arguments

You can pass additional arguments to your tasks. For example, if you have a task defined as:

[tool.libretto.tasks]
greet = "echo Hello"

You can run it with an additional argument:

libretto greet -- John

This will output:

Hello John

Command Lists

You can also define a list of commands for a single task. Libretto will execute them in order.

[tool.libretto.tasks]
build = [
    "echo Building...",
    "py -m build"
]

Running libretto build will execute both commands.

Platform-Specific Commands

You can define platform-specific commands by using a list of tables. list of available platforms is here.

[tool.libretto.tasks]
test = [
    { cmd = "rm --rf dist", platforms = ["linux", "macos"] },
    { cmd = "rmdir /s /q dist", platforms = ["windows"] }
]

Libretto will only execute the command that matches the current platform.

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

libretto-0.2.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distributions

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

libretto-0.2.1-py3-none-win_arm64.whl (2.6 MB view details)

Uploaded Python 3Windows ARM64

libretto-0.2.1-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

libretto-0.2.1-py3-none-win32.whl (2.5 MB view details)

Uploaded Python 3Windows x86

libretto-0.2.1-py3-none-musllinux_1_2_x86_64.whl (3.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

libretto-0.2.1-py3-none-musllinux_1_2_i686.whl (2.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

libretto-0.2.1-py3-none-musllinux_1_2_armv7l.whl (2.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

libretto-0.2.1-py3-none-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

libretto-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

libretto-0.2.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

libretto-0.2.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

libretto-0.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

libretto-0.2.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

libretto-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

libretto-0.2.1-py3-none-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

libretto-0.2.1-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file libretto-0.2.1.tar.gz.

File metadata

  • Download URL: libretto-0.2.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for libretto-0.2.1.tar.gz
Algorithm Hash digest
SHA256 03e07f0293d6ac3eedc45e5ff60c3556f29252a8c65c12811a04c7bde498eb57
MD5 9770230b14d3dd8c16ac861c9203111c
BLAKE2b-256 ae5c5307e22757a325230467299a8eeef211083ff6d40ae7bf4ef05f2e14f765

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: libretto-0.2.1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for libretto-0.2.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d0078fff28a550939a01096d66f14a23b55e789210f43870d502273b9265f8fd
MD5 5059de2af77c9b8dfcaa9c060a17edc5
BLAKE2b-256 5a14f9062b98f8925240306233c64fa7b187b47fd5d59ac9d442d722c9b80041

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: libretto-0.2.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for libretto-0.2.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4e98fdb3de9d07044bbcaffd12e6160b6a91b0c442d5dea54ab4f9b1ceae13f2
MD5 e78549da23f05d7c75060ed61d16ad6e
BLAKE2b-256 64b5142371f3dfdf578f53d86dbdbd59d43f7681b095d7a261719f30ffbfe99a

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-win32.whl.

File metadata

  • Download URL: libretto-0.2.1-py3-none-win32.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for libretto-0.2.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 4151aa3a586e868fd31a993b356b05a163fd86ef1ee7df215a8b11ca2d4e43bd
MD5 7771e0c3f644182a6b15f265187e1d0e
BLAKE2b-256 3ab3fb830a143566a48ece486cf67510f432764bf78c6387b30224ad80232c1d

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 29d0c3a1e976db8576b61fe6c5d7f4804ad60b78fe32edbe1b4592067973d64e
MD5 f128295a6fa4757de1b204b0e2aeb98a
BLAKE2b-256 ffb6feeab09d2878eb6f5ed197fa23b0f84fec5c4da377ec66ab8a8f20845fd3

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 35afd6dbf760cda0d43bbad334e7a7ad04331318b6121d94114eec8d28812edb
MD5 4d63c166166ac0eddcaef5ff9efddb65
BLAKE2b-256 e5619270355a83afbc66baff11922659087d9607a7e9ed49e11930de08420975

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0eaac459bd920a23b01b87fc20c6eb6ed68e31b7236c4751747d8fdacf261952
MD5 19fee942435626eda153f570397f735a
BLAKE2b-256 0223670c084e1d9f61ab60b7b6f1485c9721764fc7536a9f399b6d69f0e13b20

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 655e3f1ccb622f66d33ab466f7fd1ccb0ebdf7837b947d523efcf8fa1e02cf33
MD5 b242152285e38b826f1d61e93f05fbbd
BLAKE2b-256 321bca804b96202c2d05028bcf540e6b7a1a48c1e51b03c0c0efe8ec946f7bf2

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5b43e0a873394713ac4c18bc6da1f0bb3e5d0f0e2c4098429c7c9412b6589f2
MD5 720537d9253b4f140cd6ed72d415f98e
BLAKE2b-256 86728a4b6dcfd3c9248eb5fc78d3b46a526867521a891df4b22302456be69b53

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6ca05ccc14966c39e631418c7b873ef098ddb7c74f38821ab9f99539d1c6b2ea
MD5 e4fa830f9e5f25ef89922bb9509222a2
BLAKE2b-256 1b159a0b39c43c819db83cadb0119626bc387d1133bbde7a8f8b07f505623401

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dd0ffe9a1513f8de7cc9197ea6c9f5fe56dabb2a90e92c3583556482970fde95
MD5 8c7677bd443a30890b5592a120827e20
BLAKE2b-256 10a71e01b65cbd26a09b4d57a2a4a9b7239bd543610c4996b1dad42badd4719b

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9d1322a84ba697166f7528ddd0ab9a0fe09f466c4342340ddf4c5e2a51dcf9c7
MD5 84a3475db0d77af0442995fdf207e339
BLAKE2b-256 207547f522300c0c2441f6cd039e1cea09b2d19a8badd6c6103fe4812742053e

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 df813225852d91af91692dff953258a3e950a80ba6643f841929651e4529c8b9
MD5 1a74757f629eac7e9b7742962e536ae1
BLAKE2b-256 aec3e9dd5e3542545ad56ac03cfc388335da28dbc323fd1b8c021e5dd013bf7e

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6c873a2b5b2023eb363e4a07eb9a930ef5b3121a46df7d268819c7621266c2bd
MD5 935589c7101e9c6d8eaa68c58ef94c02
BLAKE2b-256 f03e99fc56b56cfa9a128f9c74a1f396d432db68e7773eee6144838c162374c0

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a74cd84287a0e614d17cf0f2d14034bc7b0bf95c2552c782674cc9a0d099d02
MD5 08c4cec15992f58762cd90ad5d085fc6
BLAKE2b-256 60679cfb49ce657db352e7969691c330c532c65ac4d3a77522c7c3afae2a488b

See more details on using hashes here.

File details

Details for the file libretto-0.2.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for libretto-0.2.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a6174652698193aaf974af01378a5f806f89fe680d99889c2b7db0da188cf23
MD5 004c4e7a31249c1fbb10f5038c363f8f
BLAKE2b-256 4f6afcdb01f449720bc1990d2e15118ba714bb686f27c10bd6a223962d2e93e4

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