[![Lint and Test](https://github.com/iluvcapra/py-ptsl/actions/workflows/lint_and_pytest.yml/badge.svg)](https://github.com/iluvcapra/py-ptsl/actions/workflows/lint_and_pytest.yml)
[![codecov](https://codecov.io/gh/iluvcapra/py-ptsl/branch/master/graph/badge.svg?token=PR6SUQJISZ)](https://codecov.io/gh/iluvcapra/py-ptsl)
[![Documentation Status](https://readthedocs.org/projects/py-ptsl/badge/?version=latest)](https://py-ptsl.readthedocs.io/en/latest/?badge=latest)
![GitHub last commit](https://img.shields.io/github/last-commit/iluvcapra/py-ptsl)
![](https://img.shields.io/pypi/pyversions/py-ptsl.svg) [![](https://img.shields.io/pypi/v/py-ptsl.svg)](https://pypi.org/project/py-ptsl/) ![](https://img.shields.io/pypi/wheel/py-ptsl.svg)
[![Pro Tools Version - 2024.10](https://img.shields.io/static/v1?label=Pro+Tools+Version&message=2024.10&color=8f228f)](https://github.com/iluvcapra/py-ptsl/blob/master/docs/source/ptsl_versions.rst)
[![PTSL Version - 5](https://img.shields.io/static/v1?label=PTSL+Version&message=5&color=0000ff)](https://github.com/iluvcapra/py-ptsl/blob/master/docs/source/ptsl_versions.rst)
# 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](https://developer.avid.com) for the most
current documentation and protobuf source files.
## Example
See the [examples directory](examples) for scripts demonstrating how to use the
client.
- [session_info.py](examples/session_info.py) - This example
prints a list of gettable properties from the currently-open
session.
- [print_tracks.py](examples/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](examples/make_session.py) - Creates a new
session interactively from the terminal.
- [pt_set.py](examples/pt_set.py) - Allows several session setup
options to be set from the terminal.
- [pt_pasteboard.py](examples/pt_pasteboard.py) - Demonstrates
triggering cut/copy/paste actions.
- [toolshell.py](examples/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.
```python
from ptsl import open_engine
with open_engine(company_name="MY_COMPANY", application_name="MY_TOOL") as engine:
session_name = engine.session_name()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/iluvcapra/py-ptsl",
"name": "py-ptsl",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "pro tools, scripting, grpc, automation, avid",
"author": "Jamie Hardt",
"author_email": "jamiehardt@me.com",
"download_url": "https://files.pythonhosted.org/packages/11/2e/e264092f0433783845441af176530f8305a16fe5611ce476cb8018567549/py_ptsl-500.1.1.tar.gz",
"platform": null,
"description": "[![Lint and Test](https://github.com/iluvcapra/py-ptsl/actions/workflows/lint_and_pytest.yml/badge.svg)](https://github.com/iluvcapra/py-ptsl/actions/workflows/lint_and_pytest.yml)\n[![codecov](https://codecov.io/gh/iluvcapra/py-ptsl/branch/master/graph/badge.svg?token=PR6SUQJISZ)](https://codecov.io/gh/iluvcapra/py-ptsl)\n[![Documentation Status](https://readthedocs.org/projects/py-ptsl/badge/?version=latest)](https://py-ptsl.readthedocs.io/en/latest/?badge=latest)\n![GitHub last commit](https://img.shields.io/github/last-commit/iluvcapra/py-ptsl)\n\n![](https://img.shields.io/pypi/pyversions/py-ptsl.svg) [![](https://img.shields.io/pypi/v/py-ptsl.svg)](https://pypi.org/project/py-ptsl/) ![](https://img.shields.io/pypi/wheel/py-ptsl.svg)\n\n[![Pro Tools Version - 2024.10](https://img.shields.io/static/v1?label=Pro+Tools+Version&message=2024.10&color=8f228f)](https://github.com/iluvcapra/py-ptsl/blob/master/docs/source/ptsl_versions.rst)\n[![PTSL Version - 5](https://img.shields.io/static/v1?label=PTSL+Version&message=5&color=0000ff)](https://github.com/iluvcapra/py-ptsl/blob/master/docs/source/ptsl_versions.rst)\n\n# py-ptsl\n\nNative Python PTSL (Pro Tools Scripting Library) RPC interface\n\n## Important Notice! \n\nThis software is developed by enthusiasts and is not a work of or supported by \nAvid. Developers who wish to contribute to this project should obtain the PTSL \nSDK [from Avid's Developer site](https://developer.avid.com) for the most \ncurrent documentation and protobuf source files.\n\n## Example\n\nSee the [examples directory](examples) for scripts demonstrating how to use the\nclient.\n\n- [session_info.py](examples/session_info.py) - This example \n prints a list of gettable properties from the currently-open\n session.\n- [print_tracks.py](examples/print_tracks.py) - This example prints\n a list of every track in the currently-open session, including state\n information like selection, mute and solo state, track color and \n track ID.\n- [make_session.py](examples/make_session.py) - Creates a new\n session interactively from the terminal.\n- [pt_set.py](examples/pt_set.py) - Allows several session setup\n options to be set from the terminal.\n- [pt_pasteboard.py](examples/pt_pasteboard.py) - Demonstrates\n triggering cut/copy/paste actions.\n- [toolshell.py](examples/toolshell.py) - Implements a command line \n interface for Pro Tools.\n\n\n### Sending Commands To Pro Tools with the `Engine` class\n\nThe `Engine` class exposes `ptsl` commands with a method call interface.\n\n```python\nfrom ptsl import open_engine\n\nwith open_engine(company_name=\"MY_COMPANY\", application_name=\"MY_TOOL\") as engine:\n session_name = engine.session_name()\n```\n\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Native Python PTSL (Pro Tools Scripting Library) RPC interface",
"version": "500.1.1",
"project_urls": {
"Documentation": "https://py-ptsl.readthedocs.io",
"Homepage": "https://github.com/iluvcapra/py-ptsl",
"Repository": "https://github.com/iluvcapra/py-ptsl",
"Tracker": "https://github.com/iluvcapra/py-ptsl/issues"
},
"split_keywords": [
"pro tools",
" scripting",
" grpc",
" automation",
" avid"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2a65b3c3e2b512e9006cdecf52dfcdfed564ac0ab65fdb5de35f481a45588889",
"md5": "e726c2c6a45960a15c804f4b16eff10c",
"sha256": "0682d3881773c0b1d57d460e3548db05ccbee6700129d20208a813fa1ad98997"
},
"downloads": -1,
"filename": "py_ptsl-500.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e726c2c6a45960a15c804f4b16eff10c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 78471,
"upload_time": "2024-11-24T01:22:50",
"upload_time_iso_8601": "2024-11-24T01:22:50.287047Z",
"url": "https://files.pythonhosted.org/packages/2a/65/b3c3e2b512e9006cdecf52dfcdfed564ac0ab65fdb5de35f481a45588889/py_ptsl-500.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "112ee264092f0433783845441af176530f8305a16fe5611ce476cb8018567549",
"md5": "abd935dd5fba0a103b823f0d5d9bb79a",
"sha256": "4f953ad822a806873369417e6491f9ec76a6116bfd09c27c4c2b5b7e5f1cb059"
},
"downloads": -1,
"filename": "py_ptsl-500.1.1.tar.gz",
"has_sig": false,
"md5_digest": "abd935dd5fba0a103b823f0d5d9bb79a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 60701,
"upload_time": "2024-11-24T01:22:51",
"upload_time_iso_8601": "2024-11-24T01:22:51.948886Z",
"url": "https://files.pythonhosted.org/packages/11/2e/e264092f0433783845441af176530f8305a16fe5611ce476cb8018567549/py_ptsl-500.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-24 01:22:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iluvcapra",
"github_project": "py-ptsl",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "py-ptsl"
}