PyTVPaint 🐍 → 🦋
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
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
Metadata
Release files for pytvpaint 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pytvpaint-1.1.2.tar.gz | 1.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytvpaint-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / pytvpaint-1.1.2.tar.gz
| Download URL | pytvpaint-1.1.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a2b012f160bb001bd45d7c0433bc90ed3ebb0ac72f89363000bd08030ee5ff9
|
|
BLAKE2b-256 checksum How to use checksums |
8a1a3876d7cebea4c9b0aa6bbaa80668ceba2be8c14a67b32d6cda0c0d237259
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pytvpaint-1.1.2-py3-none-any.whl
| Download URL | pytvpaint-1.1.2-py3-none-any.whl |
|---|---|
| Size | 86.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
15067f62e3cd6e29e83d29515ab0528e8cd519625884cd6e01284fd9ad88eb0e
|
|
BLAKE2b-256 checksum How to use checksums |
59ffc760ee8f8edd8d8f9a5f1ccbf9e475c8d67452209338c50518e9938dd735
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for pytvpaint 1.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.