Skip to main content

Lint and Test codecov Documentation Status GitHub last commit

Pro Tools Version - 2025.10.0 PTSL Version - 2025.10.0

py-ptsl

Native Python PTSL (Pro Tools Scripting Library) RPC interface

Important Notice!

This software is developed by enthusiasts and is not a work of or supported by Avid. Developers who wish to contribute to this project should obtain the PTSL SDK from Avid's Developer site for the most current documentation and protobuf source files.

Example

See the examples directory for scripts demonstrating how to use the client.

  • session_info.py - This example prints a list of gettable properties from the currently-open session.
  • print_tracks.py - This example prints a list of every track in the currently-open session, including state information like selection, mute and solo state, track color and track ID.
  • make_session.py - Creates a new session interactively from the terminal.
  • pt_set.py - Allows several session setup options to be set from the terminal.
  • pt_pasteboard.py - Demonstrates triggering cut/copy/paste actions.
  • toolshell.py - Implements a command line interface for Pro Tools.

Sending Commands To Pro Tools with the Engine class

The Engine class exposes ptsl commands with a method call interface.

from ptsl import open_engine

with open_engine(company_name="MY_COMPANY", application_name="MY_TOOL") as engine:
    session_name = engine.session_name()

Sending Commands to Pro Tools from the Command Line

The module implements a main function that can be called from the shell. Pass request JSON to the standard input and any response will be passed to standard output.

bash-3.2$ poetry run python3 -m ptsl GetTrackList <<JSON 
{"pagination_request": {
  "limit": 100, "offset": 0
  },
"track_filter_list": [
  {"filter": 0, "is_inverted": false}
  ]
}
JSON
{'pagination_response': {'total': 4, 'offset': 0, 'limit': 100}, 'track_list':
[{'name': 'Au dio 1', 'type': 'TT_Audio', 'format': 'TF_Mono', ...
bash-3.2$ poetry run python3 -m ptsl -n GetPTSLVersion
{"version": 2025}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_ptsl-602.0.0.tar.gz (92.7 kB view details)

Uploaded Source

Built Distribution

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

py_ptsl-602.0.0-py3-none-any.whl (121.8 kB view details)

Uploaded Python 3

File details

Details for the file py_ptsl-602.0.0.tar.gz.

File metadata

  • Download URL: py_ptsl-602.0.0.tar.gz
  • Upload date:
  • Size: 92.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_ptsl-602.0.0.tar.gz
Algorithm Hash digest
SHA256 3bf0e35bc36711274e7a323a2efe8cf61948c5ed45b6135850022334e80743de
MD5 e16b976da3ec088d0145ba76bf2e08f0
BLAKE2b-256 1ba4c318420de64ea706ea7daf5f5dd58ee9567159deebb29a4a28da2031b1bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_ptsl-602.0.0.tar.gz:

Publisher: python-publish.yaml on iluvcapra/py-ptsl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_ptsl-602.0.0-py3-none-any.whl.

File metadata

  • Download URL: py_ptsl-602.0.0-py3-none-any.whl
  • Upload date:
  • Size: 121.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_ptsl-602.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2e949af66a602e54686e434f7c273b72136cc198111ce4048a1a0887d444314
MD5 cad3ebb02d897a355b9f832b631a9301
BLAKE2b-256 231ee49856f9309a57e959638a2fa6d5bebc2a719806affdc773b08b92c5b3b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_ptsl-602.0.0-py3-none-any.whl:

Publisher: python-publish.yaml on iluvcapra/py-ptsl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

602.0.0 This release

2 files

601.1.0

2 files

601.0.1

2 files

601.0.0

2 files

600.2.0

2 files

600.1.0

2 files

600.0.0

2 files

500.1.1

2 files

500.1.0

2 files

500.0.0

2 files

401.0.0

2 files

301.0.0

2 files

101.1.0

2 files

101.0.0

2 files

100.3.0

2 files

Supported by

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