Skip to main content

Python scripting for TVPaint

Project description

PyTVPaint 🐍 → 🦋

Downloads

PyTVPaint is a type-safe Python library that wraps the George programming language commands in order to interact with the 2D animation software TVPaint.

It communicates through WebSocket to a custom C++ plugin running in an open TVPaint instance.

You can check the documentation for more details.

Installation

Requirements

  • Windows (for now, see this)
  • Python v3.9+
  • TVPaint v11.5+
  • TVPaint RPC plugin (install instructions here)

Install the package with Pip:

pip install pytvpaint

Simple example

from pytvpaint import george
from pytvpaint.project import Project

# Get access to tvp elements
project = Project.load("scene.tvpp", silent=True)

clip = project.current_clip
# Or get the clip by name
clip = project.get_clip(by_name="my_clip")

layer = clip.add_layer("my_new_layer")

# Check out other layers
for layer in clip.layers:
    print(layer.name)

# Get access to George functions
george.tv_rect(50, 50, 100, 100)

# Render your file
clip.render("./out.#.png", start=20, end=45)

project.close()

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Disclaimer

PyTVPaint is a project created at BRUNCH Studio to facilitate our development experience with George. The API is targeted at experienced developers and is by no means a replacement for TVPaint or George but simply builds on it.

We are not affiliated with the TVPaint development team and therefore can't fix any bugs in the software or the George API.

Please direct your issues appropriately; any issues with PyTVPaint should be submitted as an issue in this repository or the C++ plugin's repository, any issues with TVPaint the software should be addressed to the tvp support team.

For any questions on the limitations of our API, please head to this page.

License

MIT

TVPaint 12

TVPaint-12 compatibility has been added in the latest release. It requires a new version of the tvpaint-rpc plugin. The api has been tested with the new version of TVPaint and mostly works, however there are a lot of breaking changes and some bugs, check the release notes for more info. We currently do not advise using pytvpaint with TVPaint-12 in production.


Made with ❤️ at BRUNCH Studio

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

pytvpaint-1.1.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

pytvpaint-1.1.2-py3-none-any.whl (86.9 kB view details)

Uploaded Python 3

File details

Details for the file pytvpaint-1.1.2.tar.gz.

File metadata

  • Download URL: pytvpaint-1.1.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1015-azure"}} HTTPX2/2.3.0

File hashes

Hashes for pytvpaint-1.1.2.tar.gz
Algorithm Hash digest
SHA256 5a2b012f160bb001bd45d7c0433bc90ed3ebb0ac72f89363000bd08030ee5ff9
MD5 22981eaebe90fa65d01b1c38d7cfb16d
BLAKE2b-256 8a1a3876d7cebea4c9b0aa6bbaa80668ceba2be8c14a67b32d6cda0c0d237259

See more details on using hashes here.

File details

Details for the file pytvpaint-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: pytvpaint-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 86.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1015-azure"}} HTTPX2/2.3.0

File hashes

Hashes for pytvpaint-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 15067f62e3cd6e29e83d29515ab0528e8cd519625884cd6e01284fd9ad88eb0e
MD5 1e40064d1b1872fd45aa06c0175127ef
BLAKE2b-256 59ffc760ee8f8edd8d8f9a5f1ccbf9e475c8d67452209338c50518e9938dd735

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