pydobe


Namepydobe JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryPython wrapper allowing developers to communicate with adobe applications
upload_time2023-02-09 12:23:25
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT License Copyright (c) 2023 Lisa George-Gilroy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords python adobe wrapper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pydobe

[![Python 3.8](https://img.shields.io/badge/python-3.8-blue.svg?style=flat-square)](https://www.python.org/)
[![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg?style=flat-square)](https://github.com/psf/black)
[![SemVer](https://img.shields.io/badge/semver-2.0.0-blueviolet?style=flat-square)](https://semver.org/)
![GitHub last commit (branch)](https://img.shields.io/github/last-commit/LisaGG89/pydobe/main?style=flat-square)

A Python wrapper allowing developers to communicate with adobe applications

This package is based upon Pymiere - created by Quentin Masingarbe (https://github.com/qmasingarbe/pymiere)

# Installation

Windows: 

``
pip install pydobe
``

# Use cases and examples

Snippets and examples for potential uses within After Effects

### Working with projects

```
app = pydobe.objects.app

# Open a Project
project_path = "path/to/my/project.aep"
app.open(project_path)

# Get path of current project
current_project = app.project.file
print(current_project)

# Save a Project
app.project.save()

# Save a Project to a new path
new_path = "path/to/my/new/project.aep"
app.project.save(new_path)

# Make some changes to your project

# Check if scene has been modified
print(app.project.dirty)

# # Close a Project
app.project.close()  # This will display a user prompt
# app.project.close(save=True)  # This will save before opening a new project
# app.project.close(save=False)  # This will not save before opening a new project


# Create a new Project
app.new_project()  # This will display a user prompt
# app.new_project(save=True)  # This will save before opening a new project
# app.new_project(save=False)  # This will not save before opening a new project

```

### Working with items

```
project = pydobe.objects.app.project

# Check how many items are in the project
print(project.num_items)

# Get the names of all the items in the project
for item in project.items:
    print(item.name)
    # check which items are selected
    if item.selected:
        print(f'{item.name} is selected')

# Get the active item
my_item = project.active_item  # This attribute requires precisely 1 item to be selected

# Find out what type of item it is
print(my_item.type_name)

# Find the parent folder of the item
print(my_item.parent_folder)

# Get the names of all the compositions
for comp in project.compositions:
    print(comp.name)

# Get item by name
footage_folder = project.item_by_name("My Footage")

# Remove items from the scene:
for child in footage_folder.items:
    child.remove()
    
```

### Adding items to a project

```
project = pydobe.objects.app.project

# Create some folders
# Add a comment and set a label colour
footage_folder = project.items.add_folder("Footage")
footage_folder.comment = "This is where we keep our footage"
footage_folder.label = "Fuchsia"

comps_folder = project.items.add_folder("Compositions")
comps_folder.comment = "This is where we keep our comps"
comps_folder.label = "Blue"

# Add some footage
# Not implemented yet

# Create a composition
my_comp = project.items.add_comp("My New Comp", 1920, 1080, 1, 100, 25)
# duration is set using frames, to set duration using seconds:
# my_comp = project.items.add_comp("My New Comp", 1920, 1080, 1, 4, 25, duration_as_frames=False)

```
# Thanks

Thank you to Quentin Masingarbe for his Pymiere repository, as well as sharing his knowledge with me.

Thank you to Corentin Charron for constant mentoring.

# License

This project is licensed under the MIT License. See the LICENSE file for details. Copy it, steal it, modify it, share it!
# Contact

For support, questions, or interest, please contact me at lisa.gg89@gmail.com

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pydobe",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "python,adobe,wrapper",
    "author": "",
    "author_email": "Lisa George-Gilroy <Lisa.gg89@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/bf/f2/8af9ceab3ffde4dbc9b6f2dbca5b841569aa9e99373fd23d489f745ebaa8/pydobe-0.2.0.tar.gz",
    "platform": null,
    "description": "# Pydobe\r\n\r\n[![Python 3.8](https://img.shields.io/badge/python-3.8-blue.svg?style=flat-square)](https://www.python.org/)\r\n[![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat-square)](https://opensource.org/licenses/MIT)\r\n[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg?style=flat-square)](https://github.com/psf/black)\r\n[![SemVer](https://img.shields.io/badge/semver-2.0.0-blueviolet?style=flat-square)](https://semver.org/)\r\n![GitHub last commit (branch)](https://img.shields.io/github/last-commit/LisaGG89/pydobe/main?style=flat-square)\r\n\r\nA Python wrapper allowing developers to communicate with adobe applications\r\n\r\nThis package is based upon Pymiere - created by Quentin Masingarbe (https://github.com/qmasingarbe/pymiere)\r\n\r\n# Installation\r\n\r\nWindows: \r\n\r\n``\r\npip install pydobe\r\n``\r\n\r\n# Use cases and examples\r\n\r\nSnippets and examples for potential uses within After Effects\r\n\r\n### Working with projects\r\n\r\n```\r\napp = pydobe.objects.app\r\n\r\n# Open a Project\r\nproject_path = \"path/to/my/project.aep\"\r\napp.open(project_path)\r\n\r\n# Get path of current project\r\ncurrent_project = app.project.file\r\nprint(current_project)\r\n\r\n# Save a Project\r\napp.project.save()\r\n\r\n# Save a Project to a new path\r\nnew_path = \"path/to/my/new/project.aep\"\r\napp.project.save(new_path)\r\n\r\n# Make some changes to your project\r\n\r\n# Check if scene has been modified\r\nprint(app.project.dirty)\r\n\r\n# # Close a Project\r\napp.project.close()  # This will display a user prompt\r\n# app.project.close(save=True)  # This will save before opening a new project\r\n# app.project.close(save=False)  # This will not save before opening a new project\r\n\r\n\r\n# Create a new Project\r\napp.new_project()  # This will display a user prompt\r\n# app.new_project(save=True)  # This will save before opening a new project\r\n# app.new_project(save=False)  # This will not save before opening a new project\r\n\r\n```\r\n\r\n### Working with items\r\n\r\n```\r\nproject = pydobe.objects.app.project\r\n\r\n# Check how many items are in the project\r\nprint(project.num_items)\r\n\r\n# Get the names of all the items in the project\r\nfor item in project.items:\r\n    print(item.name)\r\n    # check which items are selected\r\n    if item.selected:\r\n        print(f'{item.name} is selected')\r\n\r\n# Get the active item\r\nmy_item = project.active_item  # This attribute requires precisely 1 item to be selected\r\n\r\n# Find out what type of item it is\r\nprint(my_item.type_name)\r\n\r\n# Find the parent folder of the item\r\nprint(my_item.parent_folder)\r\n\r\n# Get the names of all the compositions\r\nfor comp in project.compositions:\r\n    print(comp.name)\r\n\r\n# Get item by name\r\nfootage_folder = project.item_by_name(\"My Footage\")\r\n\r\n# Remove items from the scene:\r\nfor child in footage_folder.items:\r\n    child.remove()\r\n    \r\n```\r\n\r\n### Adding items to a project\r\n\r\n```\r\nproject = pydobe.objects.app.project\r\n\r\n# Create some folders\r\n# Add a comment and set a label colour\r\nfootage_folder = project.items.add_folder(\"Footage\")\r\nfootage_folder.comment = \"This is where we keep our footage\"\r\nfootage_folder.label = \"Fuchsia\"\r\n\r\ncomps_folder = project.items.add_folder(\"Compositions\")\r\ncomps_folder.comment = \"This is where we keep our comps\"\r\ncomps_folder.label = \"Blue\"\r\n\r\n# Add some footage\r\n# Not implemented yet\r\n\r\n# Create a composition\r\nmy_comp = project.items.add_comp(\"My New Comp\", 1920, 1080, 1, 100, 25)\r\n# duration is set using frames, to set duration using seconds:\r\n# my_comp = project.items.add_comp(\"My New Comp\", 1920, 1080, 1, 4, 25, duration_as_frames=False)\r\n\r\n```\r\n# Thanks\r\n\r\nThank you to Quentin Masingarbe for his Pymiere repository, as well as sharing his knowledge with me.\r\n\r\nThank you to Corentin Charron for constant mentoring.\r\n\r\n# License\r\n\r\nThis project is licensed under the MIT License. See the LICENSE file for details. Copy it, steal it, modify it, share it!\r\n# Contact\r\n\r\nFor support, questions, or interest, please contact me at lisa.gg89@gmail.com\r\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Lisa George-Gilroy  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Python wrapper allowing developers to communicate with adobe applications",
    "version": "0.2.0",
    "split_keywords": [
        "python",
        "adobe",
        "wrapper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b27997445248e1e2b41d7db5a01ecc385ae781acb16da8e9f939adbb34369d85",
                "md5": "6f9db2177f98c6ec5dd39dd6494ad81d",
                "sha256": "6c04b1899ee256d274e064c4c8de05d0a2ec4b83642ad45669122b24555c583c"
            },
            "downloads": -1,
            "filename": "pydobe-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6f9db2177f98c6ec5dd39dd6494ad81d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10610,
            "upload_time": "2023-02-09T12:23:24",
            "upload_time_iso_8601": "2023-02-09T12:23:24.159974Z",
            "url": "https://files.pythonhosted.org/packages/b2/79/97445248e1e2b41d7db5a01ecc385ae781acb16da8e9f939adbb34369d85/pydobe-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bff28af9ceab3ffde4dbc9b6f2dbca5b841569aa9e99373fd23d489f745ebaa8",
                "md5": "f26974a0b6562053bd7d712ab2bc2b47",
                "sha256": "3364fd31943c6b3de0bf271a73eab2229e02e4d9a9854ca750c4f533e7965b00"
            },
            "downloads": -1,
            "filename": "pydobe-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f26974a0b6562053bd7d712ab2bc2b47",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10495,
            "upload_time": "2023-02-09T12:23:25",
            "upload_time_iso_8601": "2023-02-09T12:23:25.839725Z",
            "url": "https://files.pythonhosted.org/packages/bf/f2/8af9ceab3ffde4dbc9b6f2dbca5b841569aa9e99373fd23d489f745ebaa8/pydobe-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-09 12:23:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "pydobe"
}
        
Elapsed time: 0.04127s