Metadata-Version: 2.4
Name: gazu
Version: 1.1.12
Summary: Gazu is a client for Zou, the API to store the data of your CG production.
Author-email: CG Wire <frank@cg-wire.com>
License: GNU Library or Lesser General Public License (LGPL)
Project-URL: Homepage, https://gazu.cg-wire.com/
Keywords: cg,production,asset manager,asset,shot,tasks,tracking
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: python-socketio[client]<6,>=5.11.0
Requires-Dist: requests>=2.25.1
Requires-Dist: pywin32>=308; sys_platform == "win32"
Requires-Dist: typing_extensions>=4
Provides-Extra: async
Requires-Dist: aiohttp>=3.8.0; extra == "async"
Provides-Extra: dev
Requires-Dist: wheel; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: requests_mock; extra == "test"
Requires-Dist: multipart; python_version >= "3.8" and extra == "test"
Provides-Extra: lint
Requires-Dist: autoflake==2.3.1; python_version >= "3.8" and extra == "lint"
Requires-Dist: black==26.1.0; python_version >= "3.10" and extra == "lint"
Requires-Dist: pre-commit==4.5.1; python_version >= "3.10" and extra == "lint"
Provides-Extra: cli
Requires-Dist: click>=7.0; extra == "cli"
Dynamic: license-file

.. figure:: https://zou.cg-wire.com/kitsu.png
   :alt: Kitsu Logo


Gazu, Python client for the Kitsu API
=====================================

The Kitsu Python client allows you to fetch data easily from the Kitsu
collaboration platform. With Gazu, you bring assets and shots data into your
pipeline tools. It comes with extra features such as preview publishing and
event stream listening.

It is made to be used with the `Kitsu API <https://zou.cg-wire.com>`__. It
requires an up-and-running instance of Kitsu to run correctly.

|CI badge| |Discord| |Downloads|

Quickstart
----------

Install Gazu in your application environment via pip:

.. code:: bash

    pip install gazu

The client requires a few extra configurations before being used. It
needs to know where is located the API server and to log in:

.. code:: python

    import gazu

    gazu.set_host("https://zou-server-url/api")
    gazu.log_in("user@yourdomain.com", "password")

Let's finish with an example. Fetch all the open projects:

::

    projects = gazu.project.all_open_projects()


CLI
---

Gazu ships with an optional command-line interface. Install it with:

.. code:: bash

    pip install gazu[cli]

Then log in and start querying your Kitsu instance from the terminal:

.. code:: bash

    gazu-cli login --host https://zou-server-url/api
    gazu-cli projects
    gazu-cli assets --project "My Project"
    gazu-cli my-tasks
    gazu-cli shots --project "My Project" --sequence SEQ01
    gazu-cli comment --task <task-id> --status wip --message "Started lighting"

Use ``gazu-cli --help`` to see all available commands. Add ``--json`` to any
command to get machine-readable JSON output. You can also set the
``GAZU_PROJECT`` environment variable to avoid repeating ``--project``.


Documentation
-------------

Documentation and specification are available on a dedicated website:

`https://gazu.cg-wire.com <https://gazu.cg-wire.com>`__


Projects using the Kitsu client
-------------------------------

Our community-built open-source tools connect your content creation tools to
your Kitsu instance. They are listed below:

* `Qtazu <https://github.com/Colorbleed/qtazu>`__: Qt Widgets such as a login
  modal.
* `Nagato <https://github.com/eaxum/nagato>`__: Publishing and file versioning
  for Blender.
* `Bamboo <https://github.com/nervYu/Bamboo>`__: Pyside2 widgets to publish
  previews to Kitsu.
* `Gazu Publisher <https://github.com/cgwire/gazu-publisher>`__: Our work in
  progress publisher tool.


Contributions
-------------

All contributions are welcome as long as they respect the `C4
contract <https://rfc.zeromq.org/spec:42/C4>`__.

The code must follow the pep8 convention.

You can use the pre-commit hook for Black (a Python code formatter) before committing :

.. code:: bash

    pip install pre-commit
    pre-commit install


Contributors
------------

* @aboellinger (Xilam)
* @BigRoy (Colorbleed)
* @col-one (Allegorithmic)
* @EvanBldy (CGWire) - *maintainer*
* @flablog (Les Fées Spéciales)
* @frankrousseau (CGWire) - *maintainer*
* @kguyaux
* @LedruRollin (Xilam)
* @g-Lul (TNZPV)
* @jdrese (HEAJ)
* @pcharmoille (Unit Image)
* @tokejepsen (Bumpybox)
* @tpodeva

About authors
-------------

Kitsu is written by CGWire, a company based in France. We help animation and VFX studios to collaborate better through efficient tooling. We already work with more than 70 studios around the world.

Visit `cg-wire.com <https://cg-wire.com>`__ for more information.

|CGWire Logo|

.. |CI badge| image:: https://github.com/cgwire/gazu/actions/workflows/ci.yml/badge.svg
   :target: https://github.com/cgwire/gazu/actions/workflows/ci.yml
.. |Discord| image:: https://badgen.net/badge/icon/discord?icon=discord&label
   :target: https://discord.com/invite/VbCxtKN
.. |CGWire Logo| image:: https://zou.cg-wire.com/cgwire.png
   :target: https://cg-wire.com
.. |Downloads| image:: https://static.pepy.tech/personalized-badge/gazu?period=total&units=international_system&left_color=grey&right_color=orange&left_text=Downloads
   :target: https://pepy.tech/project/gazu
