Граф коммитов

53 Коммитов

Автор SHA1 Сообщение Дата
Charles Driesler c5b339d891
deps deps deps 2024-06-05 16:59:05 +01:00
Gergő Jedlicska f27650af3a
feat: update automation schema and automation context for the new automate interfaces 2024-05-16 10:25:58 +02:00
KatKatKateryna a0ca10ad20
add to_string; add cases for object url in fe2 (#327)
* add to_string; add cases for object url in fe2

* cover exceptions

* add federated model exception, reorder conditions

* formatting

* reformatting

* update black formatter

* resolving dependencies
2024-02-09 18:35:20 +01:00
Jedd Morgan 4332a8faef
Merge branch 'main' into gergo/init_subclass_fix 2023-12-14 14:44:13 +00:00
Gergő Jedlicska 558b25b1d1
feat: read automation function inputs from file 2023-12-11 17:30:08 +01:00
Gergő Jedlicska 223c776c63
fix: remove unnecessary kwargs from init subclass call chain 2023-12-05 15:03:25 +01:00
Gergő Jedlicska 10f49579fd
fix: report relative url for context view 2023-11-11 08:29:16 +01:00
Gergő Jedlicska 262be44423
chore: bump package version 2023-10-11 09:54:44 +02:00
Gergő Jedlicska d1ebd84cca
extract useful functions to helpers module 2023-09-21 19:02:42 +02:00
Gergő Jedlicska e4d087db3a
fix: we still support py38 2023-09-19 20:21:46 +02:00
Gergő Jedlicska f254defc6b
feat: add speckle automate package with some basic sanity tests 2023-09-19 20:11:32 +02:00
Jedd Morgan 16164a57da
Merge branch 'main' into jrm/graph-traversal 2023-08-31 15:04:29 +01:00
Jedd Morgan ec651a9237
traversal 2023-07-17 14:39:10 +01:00
Morten Engen e0b1b272c0 Update pyproject.toml 2023-07-07 13:06:49 +02:00
Gergő Jedlicska 1cdd4ffc9c
feat(Base): rework speckle_type handling to better align with Core
use a dotnet `FullName` like behavior to deremine the speckle_type

fixes #231
2023-01-04 10:15:36 +01:00
Gergő Jedlicska e2c8ef1b3d
Merge pull request #239 from mortenengen/update-pydantic-dep
fix: update minimum required version of pydantic
2022-12-21 12:05:44 +01:00
Gergő Jedlicska fcc33f8989
style(all-project): fix all linting errors across the project with the current setup 2022-12-20 14:46:36 +01:00
Gergő Jedlicska 990cf4eb2f
style(whole-project): fixing linting and typing errors 2022-12-20 10:45:22 +01:00
Gergő Jedlicska b25f2ab4bc
style(whole-project): fix styling from new pre-commit config 2022-12-19 14:03:20 +01:00
Gergő Jedlicska a35f8936ca
bump: version 2.9.1 → 2.9.2 2022-12-19 12:44:11 +01:00
Gergő Jedlicska d965cc0988
add pre-commit dependency 2022-12-19 12:37:20 +01:00
Morten Engen 8dc51fb936 Update min required version of pydantic 2022-12-16 12:30:56 +01:00
Gergő Jedlicska e805b8ac6e
style(all): sort imports with isort 2022-12-09 20:48:02 +01:00
Gergő Jedlicska 88248353ab
make sure specklepy send works completely without disk write access 2022-11-01 16:43:17 +01:00
Gergő Jedlicska b86faa6a14
remove pytest sugar, its broken on circleci 2022-10-26 14:34:23 +02:00
Gergő Jedlicska 7430611c52
remove old dev dependency syntax 2022-10-26 14:31:04 +02:00
Gergő Jedlicska ddd52f4af9
deprecate user resoure, add new active_user and other_user resources 2022-10-26 11:30:04 +02:00
Gergő Jedlicska 9585d46c4e
move code to /src/ folder pattern 2022-10-25 11:55:27 +02:00
Gergő Jedlicska 0cfe5db674
reformat stuff, fix backwards compatible typing 2022-09-24 16:22:04 +02:00
Gergő Jedlicska 6fc4ab1539
update tests 2022-09-23 17:09:25 +02:00
izzy lyseggen d1adccba00
feat(serialization): cache bases on deserialize (#200)
* feat(serialization): cache bases on deserialize

allows the deserializer to return the same instance when encountering
objects with the same id

closes #191

* feat(serialization): cache bases on deserialize

allows the deserializer to return the same instance when encountering
objects with the same id

closes #191

* fix(serialization): check before accessing id

obj may not be detached and therefore might not have an id

* feat(serializer): cache w id from obj not base

* chore: update deps

* feat(operations): lil send helper

on send, if `transports` is just a transport, add it to a list.
i see this error a lot so just a friendly lil fix!

* feat(objects): breps omg!

* test(geometry): updates for breps

* test(geometry): more brep serialization tests

* refactor(test): formatting

* style: formatting

* test(geometry): clean up test file

* fix(test): brep trims test fix

* refactor(geometry): clean up encoding outputs

* feat(objects): allow kwargs in encoding

* feat(objects): align curve encodings w sharp

* test(geometry): new curve encodings

* feat(client): update stream permission mutation

guess this changed some time recently and i wasn't made aware of it

* fix(objects): brep face and edge encoding

* fix(geometry): breps units 'none' fix

* test(objects): fix 'none' units issue

* revert(486ea99): use `streamGrantPermission`

to be updated for next server release
2022-07-20 18:02:25 +01:00
izzy lyseggen 782f70fb49
chore: drop python 3.6 and update ujson (#190)
* chore: depreciate python 3.6 support & upate ujson

after collection python version info metrics, we fount that only 2 users
are still using python 3.6. since it has been eol for 5 months now,
we believe it's safe to let it go.

rest easy 3.6 ⚰- you served us well 🫡

closes Please upgrade the ujson dependency, which has a CVE #160

* chore: upgrade and clean some deps
2022-06-20 12:19:09 +01:00
Gergő Jedlicska 52ab27e60f
SQLite write batching (#188)
### SUMMARY
**sqlite transport**

This transport now batches and bulk inserts objects when writing resulting in huge performance improvements (100x).

**base object serializer**

Batching in the sqlite transport necessitated some refactoring here in order to safely call end_write when not using operations.send/receive. This has been resolved by turning traverse_base into a wrapper for _traverse_base which can take care of calling begin/end_write and resetting the writer at the top level. This is not breaking since the top level methods to call have not changed names and the original method has just been prepended with a _

Additionally, missing referenced child objects in the read transport used to raise a SpeckleException. However, using the gql client to call objects.get() will return an object with missing references by design thus throwing an error in serialization. This has been resolved by instead raising a SpeckleWarning when child objects can't be found and just returning the reference + id. ((this method of interacting with objects is discouraged so it is not surprising to me that this bug was lurking for so long - but an oopsie nonetheless!))

**ci / dev**

Updates for the ci config and the dev container to work with the recent changes in server.

NOTE: dev container seems to be pulling an older version of server -- not resolved yet

---

* quick and hacky sqlite batching

* feat(transports): batching sqlite inserts

* chore: upgrade gql3

also removed py-spy as it's not used and i was getting install errors :/

* ci: bump node version

* ci: formatting

* update CI versions

* update to new circleci redis baseimage

* update test fixture auth to non deprecated token based method

* add start and finish write method calls to base object serialize

* chore: dev container update

* fix(serialization): move end and begin write

* style: formatting

* fix(serializer): warn but don't throw if ref not found

this is _not_ an issue with the transports, but an issue with using the
graphql api to fetch objects. since you are only receiving one obj and none of
the children, the transport has no way to find them and should simply
return the reference as is. idk why anyone would really use `object.get`
so tbh i'm not surprised no one has found this bug yet lol

* fix(client): don't parse obj create response

* fix(serializer): wrap `traverse_base`

moving `begin` and `end_write` to the seriazlier due to the new
sqlite transport with batched writes necessitates a wrapper around
`traverse_base` so end/begin write can be called once at the top level.
just adding begin/end write to the original traversal method would make
tons of calls to `end_write` since the traversal is recursive

Co-authored-by: izzy lyseggen <izzy.lyseggen@gmail.com>
2022-06-20 12:00:09 +01:00
izzy lyseggen 944e70221e
refactor(auth&metrics): use accounts everywhere and switch metrics (#166)
* feat(metrics): wip

* refactor(auth): use accts instead of tokens

* fix(wrapper): delayed auth bug

* refactor(memory): quick fix

* fix(creds): change incompatible py 3.8+ syntax

* feat(anatylics): updates tracking

* fix(credentials): catch when no accts

* fix(metrics): remove unused field

* feat(wrapper): raise exception for old import

* feat(analytics): consolidate names
2022-02-23 11:00:04 +00:00
izzy lyseggen 4a0c07009b chore: update deps 2021-11-30 11:50:34 +00:00
Gergő Jedlicska 21eecfa24c add circle_ci reporting 2021-11-24 16:47:48 +01:00
Gergő Jedlicska 47a06e4630 version bump 2021-10-29 10:49:36 +02:00
Gergő Jedlicska a89b12a02c remove receive server test 2021-10-27 19:16:08 +02:00
izzy lyseggen 5d99d5fcad feat(serialisation): swap out json for ujson 2021-08-19 18:25:12 +01:00
izzy lyseggen 73703f6237 ci: patch version with git tag 2021-08-10 15:38:02 +01:00
izzy lyseggen fc4511ad02 chore: bump version 2021-08-10 12:03:06 +01:00
izzy lyseggen 3f09cd9d77 chore: bump version 2021-08-06 17:02:19 +01:00
izzy lyseggen 9a1f28516d chore: bump version to 2.2.5 2021-07-30 11:35:43 +01:00
izzy lyseggen 29c97cde45 chore: bump version to 2.2.4 2021-07-29 16:14:25 +01:00
izzy lyseggen 31fa619f82 chore(build): update to gql 3.0.0a6 2021-06-11 14:52:28 +01:00
izzy lyseggen 81051a87c1 chore: bump version 2021-06-04 17:36:02 +01:00
izzy lyseggen 239c466264 chore: bump version 2021-06-04 10:24:09 +01:00
izzy lyseggen 54c3d6fbaf chore: bump version 2021-06-02 10:12:58 +01:00
izzy lyseggen 809dff5fb0 build: bump minor version
new materials!
2021-04-30 15:44:17 +01:00
izzy lyseggen 816f4373dd chore: update pyproject.toml 2021-04-09 12:25:51 +01:00