Native Python PTSL (Pro Tools Scripting Library) RPC interface
Project description
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}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_ptsl-600.2.0.tar.gz.
File metadata
- Download URL: py_ptsl-600.2.0.tar.gz
- Upload date:
- Size: 89.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1bb2df6b3343538b3807fd27b405703a80c6c2fceaf672dadecf930d9996cf8
|
|
| MD5 |
df0633f2eef3587899fdc68cc9c7809b
|
|
| BLAKE2b-256 |
aa9e1e68827a0b1922b439e91421ac8bb1d6cb48118e4cf2ce2ca3ca37dbdcea
|
Provenance
The following attestation bundles were made for py_ptsl-600.2.0.tar.gz:
Publisher:
python-publish.yaml on iluvcapra/py-ptsl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_ptsl-600.2.0.tar.gz -
Subject digest:
f1bb2df6b3343538b3807fd27b405703a80c6c2fceaf672dadecf930d9996cf8 - Sigstore transparency entry: 833478242
- Sigstore integration time:
-
Permalink:
iluvcapra/py-ptsl@7649b9ab8c9c7867c3cbb0b05a9c758a5a0ff24a -
Branch / Tag:
refs/tags/v600.2.0 - Owner: https://github.com/iluvcapra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yaml@7649b9ab8c9c7867c3cbb0b05a9c758a5a0ff24a -
Trigger Event:
release
-
Statement type:
File details
Details for the file py_ptsl-600.2.0-py3-none-any.whl.
File metadata
- Download URL: py_ptsl-600.2.0-py3-none-any.whl
- Upload date:
- Size: 109.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec0a614008eae060dcc8074edf6b712736e4a156aa8173a4306337d2d235ab23
|
|
| MD5 |
b76117a67742c207a6da8a15e44212ee
|
|
| BLAKE2b-256 |
064a06ec9e1247ca3bfc773a6dcda61a100888932bd68c027ceb9323614e50fc
|
Provenance
The following attestation bundles were made for py_ptsl-600.2.0-py3-none-any.whl:
Publisher:
python-publish.yaml on iluvcapra/py-ptsl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_ptsl-600.2.0-py3-none-any.whl -
Subject digest:
ec0a614008eae060dcc8074edf6b712736e4a156aa8173a4306337d2d235ab23 - Sigstore transparency entry: 833478247
- Sigstore integration time:
-
Permalink:
iluvcapra/py-ptsl@7649b9ab8c9c7867c3cbb0b05a9c758a5a0ff24a -
Branch / Tag:
refs/tags/v600.2.0 - Owner: https://github.com/iluvcapra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yaml@7649b9ab8c9c7867c3cbb0b05a9c758a5a0ff24a -
Trigger Event:
release
-
Statement type: