Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ readme = "README.rst"
packages = [
{ include = "ftrack_api", from = "source" },
]
include = [
{ path = "source/ftrack_api/**/*.pyi", format = ["sdist", "wheel"] },
{ path = "source/ftrack_api/py.typed", format = ["sdist", "wheel"] },
]

[tool.poetry-dynamic-versioning]
enable = true
Expand Down
5 changes: 5 additions & 0 deletions source/ftrack_api/__init__.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from ._version import __version__ as __version__
from .session import Session as Session
from _typeshed import Incomplete

def mixin(instance, mixin_class, name: Incomplete | None = None) -> None: ...
25 changes: 25 additions & 0 deletions source/ftrack_api/_centralized_storage_scenario.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from _typeshed import Incomplete

scenario_name: str

class ConfigureCentralizedStorageScenario:
logger: Incomplete
def __init__(self) -> None: ...
@property
def storage_scenario(self): ...
@property
def existing_centralized_storage_configuration(self): ...
def configure_scenario(self, event): ...
def discover_centralized_scenario(self, event): ...
session: Incomplete
def register(self, session) -> None: ...

class ActivateCentralizedStorageScenario:
logger: Incomplete
def __init__(self) -> None: ...
def activate(self, event) -> None: ...
session: Incomplete
def register(self, session) -> None: ...

def register(session) -> None: ...
def register_configuration(session) -> None: ...
85 changes: 85 additions & 0 deletions source/ftrack_api/_python_ntpath.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
from genericpath import *
from _typeshed import Incomplete
from nt import _isdir as isdir

__all__ = [
"normcase",
"isabs",
"join",
"splitdrive",
"split",
"splitext",
"basename",
"dirname",
"commonprefix",
"getsize",
"getmtime",
"getatime",
"getctime",
"islink",
"exists",
"lexists",
"isdir",
"isfile",
"ismount",
"walk",
"expanduser",
"expandvars",
"normpath",
"abspath",
"splitunc",
"curdir",
"pardir",
"sep",
"pathsep",
"defpath",
"altsep",
"extsep",
"devnull",
"realpath",
"supports_unicode_filenames",
"relpath",
]

curdir: str
pardir: str
extsep: str
sep: str
pathsep: str
altsep: str
defpath: str
devnull: str

def normcase(s): ...
def isabs(s): ...
def join(a, *p): ...
def splitdrive(p): ...
def splitunc(p): ...
def split(p): ...
def splitext(p): ...
def basename(p): ...
def dirname(p): ...
def islink(path): ...

lexists = exists

def ismount(path): ...
def walk(top, func, arg) -> None: ...
def expanduser(path): ...
def expandvars(path): ...
def normpath(path): ...
def abspath(path): ...

realpath = abspath
supports_unicode_filenames: Incomplete

def relpath(path, start=...): ...

# Names in __all__ with no definition:
# commonprefix
# exists
# getatime
# getctime
# getmtime
# getsize
# isfile
1 change: 1 addition & 0 deletions source/ftrack_api/_version.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__version__: str
Empty file.
25 changes: 25 additions & 0 deletions source/ftrack_api/accessor/base.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import abc

class Accessor(metaclass=abc.ABCMeta):
def __init__(self) -> None: ...
@abc.abstractmethod
def list(self, resource_identifier): ...
@abc.abstractmethod
def exists(self, resource_identifier): ...
@abc.abstractmethod
def is_file(self, resource_identifier): ...
@abc.abstractmethod
def is_container(self, resource_identifier): ...
@abc.abstractmethod
def is_sequence(self, resource_identifier): ...
@abc.abstractmethod
def open(self, resource_identifier, mode: str = "rb"): ...
@abc.abstractmethod
def remove(self, resource_identifier): ...
@abc.abstractmethod
def make_container(self, resource_identifier, recursive: bool = True): ...
@abc.abstractmethod
def get_container(self, resource_identifier): ...
def remove_container(self, resource_identifier): ...
def get_filesystem_path(self, resource_identifier) -> None: ...
def get_url(self, resource_identifier) -> None: ...
29 changes: 29 additions & 0 deletions source/ftrack_api/accessor/disk.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import ftrack_api.accessor.base
from _typeshed import Incomplete
from collections.abc import Generator
from ftrack_api.exception import (
AccessorContainerNotEmptyError as AccessorContainerNotEmptyError,
AccessorFilesystemPathError as AccessorFilesystemPathError,
AccessorOperationFailedError as AccessorOperationFailedError,
AccessorParentResourceNotFoundError as AccessorParentResourceNotFoundError,
AccessorPermissionDeniedError as AccessorPermissionDeniedError,
AccessorResourceInvalidError as AccessorResourceInvalidError,
AccessorResourceNotFoundError as AccessorResourceNotFoundError,
AccessorUnsupportedOperationError as AccessorUnsupportedOperationError,
)

class DiskAccessor(ftrack_api.accessor.base.Accessor):
prefix: Incomplete
def __init__(self, prefix, **kw) -> None: ...
def list(self, resource_identifier): ...
def exists(self, resource_identifier): ...
def is_file(self, resource_identifier): ...
def is_container(self, resource_identifier): ...
def is_sequence(self, resource_identifier) -> None: ...
def open(self, resource_identifier, mode: str = "rb"): ...
def remove(self, resource_identifier) -> None: ...
def make_container(self, resource_identifier, recursive: bool = True) -> None: ...
def get_container(self, resource_identifier): ...
def get_filesystem_path(self, resource_identifier): ...

def error_handler(**kw) -> Generator[None]: ...
26 changes: 26 additions & 0 deletions source/ftrack_api/accessor/server.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from ..data import String as String
from .base import Accessor as Accessor
from _typeshed import Incomplete

class ServerFile(String):
mode: Incomplete
resource_identifier: Incomplete
def __init__(self, resource_identifier, session, mode: str = "rb") -> None: ...
def flush(self) -> None: ...
def read(self, limit: Incomplete | None = None): ...

class _ServerAccessor(Accessor):
def __init__(self, session, **kw) -> None: ...
def open(self, resource_identifier, mode: str = "rb"): ...
def remove(self, resourceIdentifier) -> None: ...
def get_container(self, resource_identifier) -> None: ...
def make_container(self, resource_identifier, recursive: bool = True) -> None: ...
def list(self, resource_identifier) -> None: ...
def exists(self, resource_identifier): ...
def is_file(self, resource_identifier) -> None: ...
def is_container(self, resource_identifier) -> None: ...
def is_sequence(self, resource_identifier) -> None: ...
def get_url(self, resource_identifier): ...
def get_thumbnail_url(
self, resource_identifier, size: Incomplete | None = None
): ...
67 changes: 67 additions & 0 deletions source/ftrack_api/attribute.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import ftrack_api.collection
from _typeshed import Incomplete

logger: Incomplete

def merge_references(function): ...

class Attributes:
def __init__(self, attributes: Incomplete | None = None) -> None: ...
def add(self, attribute) -> None: ...
def remove(self, attribute) -> None: ...
def get(self, name): ...
def keys(self): ...
def __contains__(self, item) -> bool: ...
def __iter__(self): ...
def __len__(self) -> int: ...

class Attribute:
default_value: Incomplete
def __init__(
self, name, default_value=..., mutable: bool = True, computed: bool = False
) -> None: ...
def get_entity_storage(self, entity): ...
@property
def name(self): ...
@property
def mutable(self): ...
@property
def computed(self): ...
def get_value(self, entity): ...
def get_local_value(self, entity): ...
def get_remote_value(self, entity): ...
def set_local_value(self, entity, value) -> None: ...
def set_remote_value(self, entity, value) -> None: ...
def populate_remote_value(self, entity) -> None: ...
def is_modified(self, entity): ...
def is_set(self, entity): ...

class ScalarAttribute(Attribute):
data_type: Incomplete
def __init__(self, name, data_type, **kw) -> None: ...

class ReferenceAttribute(Attribute):
entity_type: Incomplete
def __init__(self, name, entity_type, **kw) -> None: ...
def populate_remote_value(self, entity) -> None: ...
def is_modified(self, entity): ...
def get_value(self, entity): ...

class AbstractCollectionAttribute(Attribute):
collection_class: Incomplete
def get_value(self, entity): ...
def set_local_value(self, entity, value) -> None: ...
def set_remote_value(self, entity, value) -> None: ...

class CollectionAttribute(AbstractCollectionAttribute):
collection_class = ftrack_api.collection.Collection

class KeyValueMappedCollectionAttribute(AbstractCollectionAttribute):
collection_class = ftrack_api.collection.KeyValueMappedCollectionProxy
creator: Incomplete
key_attribute: Incomplete
value_attribute: Incomplete
def __init__(self, name, creator, key_attribute, value_attribute, **kw) -> None: ...

class CustomAttributeCollectionAttribute(AbstractCollectionAttribute):
collection_class = ftrack_api.collection.CustomAttributeCollectionProxy
90 changes: 90 additions & 0 deletions source/ftrack_api/cache.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
import abc
from _typeshed import Incomplete

class Cache(metaclass=abc.ABCMeta):
@abc.abstractmethod
def get(self, key): ...
@abc.abstractmethod
def set(self, key, value): ...
@abc.abstractmethod
def remove(self, key): ...
def keys(self) -> None: ...
def values(self): ...
def clear(self, pattern: Incomplete | None = None) -> None: ...

class ProxyCache(Cache):
proxied: Incomplete
def __init__(self, proxied) -> None: ...
def get(self, key): ...
def set(self, key, value): ...
def remove(self, key): ...
def keys(self): ...

class LayeredCache(Cache):
caches: Incomplete
def __init__(self, caches) -> None: ...
def get(self, key): ...
def set(self, key, value) -> None: ...
def remove(self, key) -> None: ...
def keys(self): ...

class MemoryCache(Cache):
def __init__(self) -> None: ...
def get(self, key): ...
def set(self, key, value) -> None: ...
def remove(self, key) -> None: ...
def keys(self): ...

class FileCache(Cache):
path: Incomplete
def __init__(self, path) -> None: ...
def get(self, key): ...
def set(self, key, value) -> None: ...
def remove(self, key) -> None: ...
def keys(self): ...

class SerialisedCache(ProxyCache):
encode: Incomplete
decode: Incomplete
def __init__(
self,
proxied,
encode: Incomplete | None = None,
decode: Incomplete | None = None,
) -> None: ...
def get(self, key): ...
def set(self, key, value) -> None: ...

class KeyMaker(metaclass=abc.ABCMeta):
item_separator: str
def __init__(self) -> None: ...
def key(self, *items): ...

class StringKeyMaker(KeyMaker): ...

class ObjectKeyMaker(KeyMaker):
item_separator: bytes
mapping_identifier: bytes
mapping_pair_separator: bytes
iterable_identifier: bytes
name_identifier: bytes
def __init__(self) -> None: ...

class Memoiser:
cache: Incomplete
key_maker: Incomplete
return_copies: Incomplete
def __init__(
self,
cache: Incomplete | None = None,
key_maker: Incomplete | None = None,
return_copies: bool = True,
) -> None: ...
def call(
self, function, args: Incomplete | None = None, kw: Incomplete | None = None
): ...

def memoise_decorator(memoiser): ...

memoiser: Incomplete
memoise: Incomplete
Loading
Loading