diff --git a/README.md b/README.md index c2a1ad8..cfff707 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ To execute any python script run `$ poetry run python my_script.py` The `SpeckleClient` is the entry point for interacting with the GraphQL API. You'll need to have a running server to use this. ```py -from speckle.api.client import SpeckleClient -from speckle.api.credentials import get_default_account, get_local_accounts +from specklepy.api.client import SpeckleClient +from specklepy.api.credentials import get_default_account, get_local_accounts all_accounts = get_local_accounts() # get back a list account = get_default_account() @@ -76,8 +76,8 @@ deleted = client.commit.delete("stream id", "commit id") The `BaseObjectSerializer` is used for decomposing and serializing `Base` objects so they can be sent / received to the server. You can use it directly to get the id (hash) and a serializable object representation of the decomposed `Base`. You can learn more about the Speckle `Base` object [here](https://discourse.speckle.works/t/core-2-0-the-base-object/782) and the decomposition API [here](https://discourse.speckle.works/t/core-2-0-decomposition-api/911). ```py -from speckle.objects.base import Base -from speckle.serialization.base_object_serializer import BaseObjectSerializer +from specklepy.objects.base import Base +from specklepy.serialization.base_object_serializer import BaseObjectSerializer detached_base = Base() detached_base.name = "this will get detached" @@ -93,8 +93,8 @@ hash, obj_dict = serializer.traverse_base(base_obj) If you use the `operations`, you will not need to interact with the serializer directly as this will be taken care of for you. You will just need to provide a transport to indicate where the objects should be sent / received from. At the moment, just the `MemoryTransport` and the `ServerTransport` are fully functional at the moment. If you'd like to learn more about Transports in Speckle 2.0, have a look [here](https://discourse.speckle.works/t/core-2-0-transports/919). ```py -from speckle.transports.memory import MemoryTransport -from speckle.api import operations +from specklepy.transports.memory import MemoryTransport +from specklepy.api import operations transport = MemoryTransport() diff --git a/example/using_speckle_base.py b/example/using_speckle_base.py index bda68bf..d29f041 100644 --- a/example/using_speckle_base.py +++ b/example/using_speckle_base.py @@ -1,8 +1,8 @@ """This is an example showcasing the usage of speckle `Base` class.""" # the speckle.objects module exposes all speckle provided classes -from speckle.objects import Base -from speckle.api import operations +from specklepy.objects import Base +from specklepy.api import operations from devtools import debug diff --git a/speckle/__init__.py b/specklepy/__init__.py similarity index 100% rename from speckle/__init__.py rename to specklepy/__init__.py diff --git a/speckle/api/__init__.py b/specklepy/api/__init__.py similarity index 100% rename from speckle/api/__init__.py rename to specklepy/api/__init__.py diff --git a/speckle/api/client.py b/specklepy/api/client.py similarity index 95% rename from speckle/api/client.py rename to specklepy/api/client.py index 08ffaa5..2ed5d4e 100644 --- a/speckle/api/client.py +++ b/specklepy/api/client.py @@ -1,10 +1,10 @@ import re from gql.client import SyncClientSession -from speckle.logging.exceptions import SpeckleException +from specklepy.logging.exceptions import SpeckleException from typing import Dict -from speckle.api import resources -from speckle.api.resources import ( +from specklepy.api import resources +from specklepy.api.resources import ( branch, commit, stream, @@ -20,7 +20,7 @@ from gql.transport.websockets import WebsocketsTransport class SpeckleClient: - DEFAULT_HOST = "staging.speckle.dev" + DEFAULT_HOST = "speckle.xyz" USE_SSL = True def __init__(self, host: str = DEFAULT_HOST, use_ssl: bool = USE_SSL) -> None: diff --git a/speckle/api/credentials.py b/specklepy/api/credentials.py similarity index 93% rename from speckle/api/credentials.py rename to specklepy/api/credentials.py index 81188fb..167a35a 100644 --- a/speckle/api/credentials.py +++ b/specklepy/api/credentials.py @@ -1,7 +1,7 @@ from typing import List, Optional from pydantic import BaseModel -from speckle.api.models import ServerInfo -from speckle.transports.sqlite import SQLiteTransport +from specklepy.api.models import ServerInfo +from specklepy.transports.sqlite import SQLiteTransport account_storage = SQLiteTransport(scope="Accounts") diff --git a/speckle/api/models.py b/specklepy/api/models.py similarity index 100% rename from speckle/api/models.py rename to specklepy/api/models.py diff --git a/speckle/api/operations.py b/specklepy/api/operations.py similarity index 91% rename from speckle/api/operations.py rename to specklepy/api/operations.py index 77bfe03..160b097 100644 --- a/speckle/api/operations.py +++ b/specklepy/api/operations.py @@ -1,11 +1,11 @@ import json from typing import List -from speckle.objects.base import Base -from speckle.transports.sqlite import SQLiteTransport -from speckle.transports.server import ServerTransport -from speckle.logging.exceptions import SpeckleException -from speckle.transports.abstract_transport import AbstractTransport -from speckle.serialization.base_object_serializer import BaseObjectSerializer +from specklepy.objects.base import Base +from specklepy.transports.sqlite import SQLiteTransport +from specklepy.transports.server import ServerTransport +from specklepy.logging.exceptions import SpeckleException +from specklepy.transports.abstract_transport import AbstractTransport +from specklepy.serialization.base_object_serializer import BaseObjectSerializer def send( diff --git a/speckle/api/resource.py b/specklepy/api/resource.py similarity index 97% rename from speckle/api/resource.py rename to specklepy/api/resource.py index 598d325..c60511f 100644 --- a/speckle/api/resource.py +++ b/specklepy/api/resource.py @@ -1,5 +1,5 @@ from logging import error -from speckle.logging.exceptions import GraphQLException, SpeckleException +from specklepy.logging.exceptions import GraphQLException, SpeckleException from typing import Dict, List from gql.client import Client from gql.gql import gql diff --git a/speckle/api/resources/__init__.py b/specklepy/api/resources/__init__.py similarity index 100% rename from speckle/api/resources/__init__.py rename to specklepy/api/resources/__init__.py diff --git a/speckle/api/resources/branch.py b/specklepy/api/resources/branch.py similarity index 98% rename from speckle/api/resources/branch.py rename to specklepy/api/resources/branch.py index e89357c..9d740a2 100644 --- a/speckle/api/resources/branch.py +++ b/specklepy/api/resources/branch.py @@ -1,9 +1,9 @@ -from speckle.api.resources import stream +from specklepy.api.resources import stream from typing import List, Optional from gql import gql from pydantic.main import BaseModel -from speckle.api.resource import ResourceBase -from speckle.api.models import Branch +from specklepy.api.resource import ResourceBase +from specklepy.api.models import Branch NAME = "branch" METHODS = ["create"] diff --git a/speckle/api/resources/commit.py b/specklepy/api/resources/commit.py similarity index 98% rename from speckle/api/resources/commit.py rename to specklepy/api/resources/commit.py index 9b03d55..4db98bb 100644 --- a/speckle/api/resources/commit.py +++ b/specklepy/api/resources/commit.py @@ -1,8 +1,8 @@ from typing import Optional, List from gql import gql from pydantic.main import BaseModel -from speckle.api.resource import ResourceBase -from speckle.api.models import Commit +from specklepy.api.resource import ResourceBase +from specklepy.api.models import Commit NAME = "commit" diff --git a/speckle/api/resources/object.py b/specklepy/api/resources/object.py similarity index 96% rename from speckle/api/resources/object.py rename to specklepy/api/resources/object.py index a3fbce0..3ad8260 100644 --- a/speckle/api/resources/object.py +++ b/specklepy/api/resources/object.py @@ -1,8 +1,8 @@ from typing import Dict, List from gql import gql from graphql.language import parser -from speckle.api.resource import ResourceBase -from speckle.objects.base import Base +from specklepy.api.resource import ResourceBase +from specklepy.objects.base import Base NAME = "object" METHODS = [] diff --git a/speckle/api/resources/server.py b/specklepy/api/resources/server.py similarity index 97% rename from speckle/api/resources/server.py rename to specklepy/api/resources/server.py index 45c3943..078cc8d 100644 --- a/speckle/api/resources/server.py +++ b/specklepy/api/resources/server.py @@ -1,8 +1,8 @@ from typing import Dict, List from gql import gql from gql.client import Client -from speckle.api.models import ServerInfo -from speckle.api.resource import ResourceBase +from specklepy.api.models import ServerInfo +from specklepy.api.resource import ResourceBase NAME = "server" diff --git a/speckle/api/resources/stream.py b/specklepy/api/resources/stream.py similarity index 99% rename from speckle/api/resources/stream.py rename to specklepy/api/resources/stream.py index 06eff43..6dceafe 100644 --- a/speckle/api/resources/stream.py +++ b/specklepy/api/resources/stream.py @@ -1,7 +1,7 @@ from typing import Dict, List, Optional from gql import gql -from speckle.api.resource import ResourceBase -from speckle.api.models import Stream +from specklepy.api.resource import ResourceBase +from specklepy.api.models import Stream NAME = "stream" METHODS = [ diff --git a/speckle/api/resources/subscriptions.py b/specklepy/api/resources/subscriptions.py similarity index 95% rename from speckle/api/resources/subscriptions.py rename to specklepy/api/resources/subscriptions.py index 41d6f97..c79e569 100644 --- a/speckle/api/resources/subscriptions.py +++ b/specklepy/api/resources/subscriptions.py @@ -1,9 +1,9 @@ from typing import Callable, Dict, List, Optional, Any from functools import wraps from gql import gql -from speckle.api.resource import ResourceBase -from speckle.api.resources.stream import Stream -from speckle.logging.exceptions import GraphQLException, SpeckleException +from specklepy.api.resource import ResourceBase +from specklepy.api.resources.stream import Stream +from specklepy.logging.exceptions import GraphQLException, SpeckleException NAME = "subscribe" METHODS = [ diff --git a/speckle/api/resources/user.py b/specklepy/api/resources/user.py similarity index 96% rename from speckle/api/resources/user.py rename to specklepy/api/resources/user.py index a3243c8..ada1292 100644 --- a/speckle/api/resources/user.py +++ b/specklepy/api/resources/user.py @@ -1,9 +1,9 @@ -from speckle.logging.exceptions import SpeckleException +from specklepy.logging.exceptions import SpeckleException from typing import List, Optional from gql import gql from pydantic.main import BaseModel -from speckle.api.resource import ResourceBase -from speckle.api.models import User +from specklepy.api.resource import ResourceBase +from specklepy.api.models import User NAME = "user" METHODS = ["get"] diff --git a/speckle/api/speckle2schema.graphql b/specklepy/api/speckle2schema.graphql similarity index 100% rename from speckle/api/speckle2schema.graphql rename to specklepy/api/speckle2schema.graphql diff --git a/speckle/logging/__init__.py b/specklepy/logging/__init__.py similarity index 100% rename from speckle/logging/__init__.py rename to specklepy/logging/__init__.py diff --git a/speckle/logging/exceptions.py b/specklepy/logging/exceptions.py similarity index 100% rename from speckle/logging/exceptions.py rename to specklepy/logging/exceptions.py diff --git a/speckle/objects/__init__.py b/specklepy/objects/__init__.py similarity index 57% rename from speckle/objects/__init__.py rename to specklepy/objects/__init__.py index cfcf1d9..34a6d83 100644 --- a/speckle/objects/__init__.py +++ b/specklepy/objects/__init__.py @@ -1,5 +1,5 @@ """Builtin Speckle object kit.""" -from speckle.objects.base import Base +from specklepy.objects.base import Base __all__ = ["Base"] diff --git a/speckle/objects/base.py b/specklepy/objects/base.py similarity index 97% rename from speckle/objects/base.py rename to specklepy/objects/base.py index 74bbb20..79d92eb 100644 --- a/speckle/objects/base.py +++ b/specklepy/objects/base.py @@ -2,9 +2,9 @@ from inspect import getattr_static from pydantic import BaseModel, validator from pydantic.main import Extra from typing import ClassVar, Dict, List, Optional, Any, Set, Type -from speckle.transports.memory import MemoryTransport -from speckle.logging.exceptions import SpeckleException -from speckle.objects.units import get_units_from_string +from specklepy.transports.memory import MemoryTransport +from specklepy.logging.exceptions import SpeckleException +from specklepy.objects.units import get_units_from_string PRIMITIVES = (int, float, str, bool) @@ -201,7 +201,7 @@ class Base(_RegisteringBase): Returns: str -- the hash (id) of the fully serialized object """ - from speckle.serialization.base_object_serializer import ( + from specklepy.serialization.base_object_serializer import ( BaseObjectSerializer, ) diff --git a/speckle/objects/fakemesh.py b/specklepy/objects/fakemesh.py similarity index 95% rename from speckle/objects/fakemesh.py rename to specklepy/objects/fakemesh.py index 61f2f71..fb6b621 100644 --- a/speckle/objects/fakemesh.py +++ b/specklepy/objects/fakemesh.py @@ -1,4 +1,4 @@ -from speckle.objects.geometry import Point +from specklepy.objects.geometry import Point from typing import List from .base import Base diff --git a/speckle/objects/geometry.py b/specklepy/objects/geometry.py similarity index 100% rename from speckle/objects/geometry.py rename to specklepy/objects/geometry.py diff --git a/speckle/objects/units.py b/specklepy/objects/units.py similarity index 92% rename from speckle/objects/units.py rename to specklepy/objects/units.py index 2677f91..6326e75 100644 --- a/speckle/objects/units.py +++ b/specklepy/objects/units.py @@ -1,4 +1,4 @@ -from speckle.logging.exceptions import SpeckleException +from specklepy.logging.exceptions import SpeckleException UNITS = ["mm", "cm", "m", "in", "ft", "yd", "mi"] diff --git a/speckle/serialization/__init__.py b/specklepy/serialization/__init__.py similarity index 100% rename from speckle/serialization/__init__.py rename to specklepy/serialization/__init__.py diff --git a/speckle/serialization/base_object_serializer.py b/specklepy/serialization/base_object_serializer.py similarity index 98% rename from speckle/serialization/base_object_serializer.py rename to specklepy/serialization/base_object_serializer.py index 1bf8b76..e80bd05 100644 --- a/speckle/serialization/base_object_serializer.py +++ b/specklepy/serialization/base_object_serializer.py @@ -4,10 +4,10 @@ import re from uuid import uuid4 from typing import Any, Dict, List, Tuple -from speckle.objects.base import Base, DataChunk -from speckle.logging.exceptions import SerializationException, SpeckleException -from speckle.transports.abstract_transport import AbstractTransport -import speckle.objects.geometry +from specklepy.objects.base import Base, DataChunk +from specklepy.logging.exceptions import SerializationException, SpeckleException +from specklepy.transports.abstract_transport import AbstractTransport +import specklepy.objects.geometry PRIMITIVES = (int, float, str, bool) diff --git a/speckle/transports/__init__.py b/specklepy/transports/__init__.py similarity index 100% rename from speckle/transports/__init__.py rename to specklepy/transports/__init__.py diff --git a/speckle/transports/abstract_transport.py b/specklepy/transports/abstract_transport.py similarity index 100% rename from speckle/transports/abstract_transport.py rename to specklepy/transports/abstract_transport.py diff --git a/speckle/transports/memory.py b/specklepy/transports/memory.py similarity index 89% rename from speckle/transports/memory.py rename to specklepy/transports/memory.py index 06b8f38..75ebdec 100644 --- a/speckle/transports/memory.py +++ b/specklepy/transports/memory.py @@ -1,7 +1,7 @@ import json from typing import Any -from speckle.logging.exceptions import SpeckleException -from speckle.transports.abstract_transport import AbstractTransport +from specklepy.logging.exceptions import SpeckleException +from specklepy.transports.abstract_transport import AbstractTransport class MemoryTransport(AbstractTransport): diff --git a/speckle/transports/server/__init__.py b/specklepy/transports/server/__init__.py similarity index 100% rename from speckle/transports/server/__init__.py rename to specklepy/transports/server/__init__.py diff --git a/speckle/transports/server/batch_sender.py b/specklepy/transports/server/batch_sender.py similarity index 87% rename from speckle/transports/server/batch_sender.py rename to specklepy/transports/server/batch_sender.py index 990cee7..7f0a434 100644 --- a/speckle/transports/server/batch_sender.py +++ b/specklepy/transports/server/batch_sender.py @@ -1,4 +1,3 @@ - import logging import threading import queue @@ -6,13 +5,20 @@ import time import gzip import requests -from speckle.logging.exceptions import SpeckleException +from specklepy.logging.exceptions import SpeckleException LOG = logging.getLogger(__name__) class BatchSender(object): - def __init__(self, endpoint, token, max_batch_size_mb=1, batch_buffer_length=10, thread_count=4): + def __init__( + self, + endpoint, + token, + max_batch_size_mb=1, + batch_buffer_length=10, + thread_count=4, + ): self.endpoint = endpoint self._token = token @@ -84,12 +90,14 @@ class BatchSender(object): def _bg_send_batch(self, session, batch): upload_data = "[" + ",".join(batch) + "]" upload_data_gzip = gzip.compress(upload_data.encode()) - LOG.info("Uploading batch of %s objects (size: %s, compressed size: %s)" % - (len(batch), len(upload_data), len(upload_data_gzip))) + LOG.info( + "Uploading batch of %s objects (size: %s, compressed size: %s)" + % (len(batch), len(upload_data), len(upload_data_gzip)) + ) r = session.post( url=self.endpoint, - files={"batch-1": ("batch-1", upload_data_gzip, 'application/gzip')}, + files={"batch-1": ("batch-1", upload_data_gzip, "application/gzip")}, ) if r.status_code != 201: LOG.warning("Upload server response: %s", r.text) @@ -114,4 +122,3 @@ class BatchSender(object): def __del__(self): self._delete_threads() - diff --git a/speckle/transports/server/server.py b/specklepy/transports/server/server.py similarity index 93% rename from speckle/transports/server/server.py rename to specklepy/transports/server/server.py index 33722b3..fa7fd41 100644 --- a/speckle/transports/server/server.py +++ b/specklepy/transports/server/server.py @@ -2,9 +2,9 @@ import requests from typing import Any, Dict, List, Type -from speckle.api.client import SpeckleClient -from speckle.logging.exceptions import SpeckleException -from speckle.transports.abstract_transport import AbstractTransport +from specklepy.api.client import SpeckleClient +from specklepy.logging.exceptions import SpeckleException +from specklepy.transports.abstract_transport import AbstractTransport from .batch_sender import BatchSender @@ -22,7 +22,7 @@ class ServerTransport(AbstractTransport): self.url = client.url self.stream_id = stream_id - token = client.me['token'] + token = client.me["token"] endpoint = f"{self.url}/objects/{self.stream_id}" self._batch_sender = BatchSender(endpoint, token, max_batch_size_mb=1) diff --git a/speckle/transports/sqlite.py b/specklepy/transports/sqlite.py similarity index 98% rename from speckle/transports/sqlite.py rename to specklepy/transports/sqlite.py index f55003f..3b29106 100644 --- a/speckle/transports/sqlite.py +++ b/specklepy/transports/sqlite.py @@ -7,8 +7,8 @@ from typing import Any from appdirs import user_data_dir from contextlib import closing from multiprocessing import Process, Queue -from speckle.transports.abstract_transport import AbstractTransport -from speckle.logging.exceptions import SpeckleException +from specklepy.transports.abstract_transport import AbstractTransport +from specklepy.logging.exceptions import SpeckleException class SQLiteTransport(AbstractTransport): diff --git a/tests/conftest.py b/tests/conftest.py index bfcc24d..7f919c2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,11 +2,11 @@ import uuid import random import pytest import requests -from speckle.api.models import Stream -from speckle.api.client import SpeckleClient -from speckle.objects.base import Base -from speckle.objects.geometry import Point -from speckle.objects.fakemesh import FakeMesh +from specklepy.api.models import Stream +from specklepy.api.client import SpeckleClient +from specklepy.objects.base import Base +from specklepy.objects.geometry import Point +from specklepy.objects.fakemesh import FakeMesh @pytest.fixture(scope="session") diff --git a/tests/test_base.py b/tests/test_base.py index 07a6b56..e10f2e5 100644 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -1,6 +1,6 @@ import pytest -from speckle.objects import Base -from speckle.api import operations +from specklepy.objects import Base +from specklepy.api import operations from contextlib import ExitStack as does_not_raise diff --git a/tests/test_branch.py b/tests/test_branch.py index 167cf92..1cf6425 100644 --- a/tests/test_branch.py +++ b/tests/test_branch.py @@ -1,4 +1,4 @@ -from speckle.api.models import Branch, Commit, Stream +from specklepy.api.models import Branch, Commit, Stream import pytest diff --git a/tests/test_commit.py b/tests/test_commit.py index 1ecc84c..1cefa0f 100644 --- a/tests/test_commit.py +++ b/tests/test_commit.py @@ -1,5 +1,5 @@ import pytest -from speckle.api.models import Commit, Stream +from specklepy.api.models import Commit, Stream @pytest.mark.run(order=4) diff --git a/tests/test_objects.py b/tests/test_objects.py index 5d4cb7c..7197059 100644 --- a/tests/test_objects.py +++ b/tests/test_objects.py @@ -1,7 +1,7 @@ -from speckle.objects import Base -from speckle.transports.memory import MemoryTransport -from speckle.api.models import Stream -from speckle.serialization.base_object_serializer import BaseObjectSerializer +from specklepy.objects import Base +from specklepy.transports.memory import MemoryTransport +from specklepy.api.models import Stream +from specklepy.serialization.base_object_serializer import BaseObjectSerializer import pytest diff --git a/tests/test_serialization.py b/tests/test_serialization.py index c89ba85..860c007 100644 --- a/tests/test_serialization.py +++ b/tests/test_serialization.py @@ -1,13 +1,13 @@ import json from attr import has import pytest -from speckle.api import operations -from speckle.transports.server import ServerTransport -from speckle.transports.memory import MemoryTransport -from speckle.serialization.base_object_serializer import BaseObjectSerializer -from speckle.objects import Base -from speckle.objects.geometry import Point -from speckle.objects.fakemesh import FakeMesh +from specklepy.api import operations +from specklepy.transports.server import ServerTransport +from specklepy.transports.memory import MemoryTransport +from specklepy.serialization.base_object_serializer import BaseObjectSerializer +from specklepy.objects import Base +from specklepy.objects.geometry import Point +from specklepy.objects.fakemesh import FakeMesh @pytest.mark.run(order=3) diff --git a/tests/test_server.py b/tests/test_server.py index 2817663..f89064d 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -1,5 +1,5 @@ import pytest -from speckle.api.models import ServerInfo +from specklepy.api.models import ServerInfo class TestServer: diff --git a/tests/test_stream.py b/tests/test_stream.py index 4303879..cd57fd1 100644 --- a/tests/test_stream.py +++ b/tests/test_stream.py @@ -1,6 +1,6 @@ import pytest -from speckle.api.models import Stream -from speckle.logging.exceptions import GraphQLException +from specklepy.api.models import Stream +from specklepy.logging.exceptions import GraphQLException @pytest.mark.run(order=2) diff --git a/tests/test_user.py b/tests/test_user.py index dc57b9b..7efe0c4 100644 --- a/tests/test_user.py +++ b/tests/test_user.py @@ -1,5 +1,5 @@ -from speckle.logging.exceptions import SpeckleException -from speckle.api.models import User +from specklepy.logging.exceptions import SpeckleException +from specklepy.api.models import User import pytest