Skip to main content

Opinionated Autodesk Shotgun/ShotGrid API Wrapper.

Project description

konbini

PyPI version

おまえはもうショットいる。なに?!

Opinionated wrapper for Autodesk ~~~Shotgun~~~ ~~~ShotGrid~~~ I mean Flow Production Tracking Python API because the API usage requirements is 便利じゃないでしょう?

コンビニね~ As there is an existing PyPI project using konbini name, this repo project name on PyPI will be konbinine.

How to Use

For Python 3.8 and newer! While Autodesk made shotgun_api3 to be compatible with Python 2 and 3, konbinine uses dataclass that is only available in Python 3.7 onwards. Starting with v0.1.6, Python 3.8 will be the minimum version due to the usage of TypedDict.

konbinine is designed to be used with web framework (such as Django, Flask, etc.) that interacts with ShotGrid. This library has not been tested inside Digital Content Creation (DCC) software such as Maya, 3ds Max or Houdini.

Technically it should just work but that is outside the scope of this library.

New Project

First time setup

  1. Add konbinine to your project's requirements.txt.
  2. ???
  3. Profit (in improving code readability and debugging)

Using konbinine

I recommend configuring the environment variables before running the following code.

Set it using your .env file or through the shell session etc.

# if your studio subscribed to Shotgun prior to the ShotGrid rename, the URL should
# looks like https://yourstudioname.shotgunstudio.com or something 
KONBINI_BASE_URL=https://yourstudioname.shotgrid.autodesk.com
KONBINI_SCRIPT_NAME=YOURSHOTGRIDAPISCRIPTNAMEHERE
KONBINI_API_KEY=YOURSHOTGRIDAPIKEYHERE
from konbinine import Konbini
from konbinine.enums import SgEntity

kon = Konbini()
booking_schemas = kon.get_sg_entity_schema_fields(SgEntity.BOOKING)
# whatever booking schemas results here

Existing Project that Uses shotgun_api3

You will need to... rewrite/refactor your code to use konbinine! Pretty much the main reason why konbinine was created is to improve the Developer Experience (DX) when interacting with ShotGrid.

Quickstart for Developers

pip install -r requirements.txt

Documentation

For now, refer to the docstring in the source code. Generally this is not meant to outright replace shotgun_api3 and there is some attributes that are intentionally missing as I don't use it (or yet to use it).

Extending konbinine

Coming soon!

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

konbinine-0.3.11.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

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

konbinine-0.3.11-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file konbinine-0.3.11.tar.gz.

File metadata

  • Download URL: konbinine-0.3.11.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for konbinine-0.3.11.tar.gz
Algorithm Hash digest
SHA256 5d24f46c938cb10dc34180d399646ed7d6da4f2804bb1676cce1f9e4f4d02422
MD5 0b7149563bff0c99b14eda62fd47ffd5
BLAKE2b-256 c4653f7f7214dfb1cf6b5d353ac7a136523efb6920e63f2d96d92d38235d7497

See more details on using hashes here.

File details

Details for the file konbinine-0.3.11-py3-none-any.whl.

File metadata

  • Download URL: konbinine-0.3.11-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for konbinine-0.3.11-py3-none-any.whl
Algorithm Hash digest
SHA256 807d45b26ae1a08a937411233249ba4d797ef82fd350527e22ba790b5fdf50a7
MD5 b0f07a95fa5a37102cf3b43f73c2a278
BLAKE2b-256 b7224ff1c92186ec6a496a38e54dc8f1362aa9ac486eaf1cef0cdfe0268feaed

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