perceptic-core-client 0.39.0__py3-none-any.whl → 0.50.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. perceptic_core_client/__init__.py +51 -0
  2. perceptic_core_client/api/__init__.py +1 -0
  3. perceptic_core_client/api/tag_resource_api.py +100 -836
  4. perceptic_core_client/api/uri_resource_api.py +818 -207
  5. perceptic_core_client/api/user_resource_api.py +308 -1
  6. perceptic_core_client/api/worker_resource_api.py +1100 -211
  7. perceptic_core_client/api/worker_resource_v3_api.py +1477 -0
  8. perceptic_core_client/api_client.py +8 -5
  9. perceptic_core_client/configuration.py +6 -2
  10. perceptic_core_client/models/__init__.py +25 -1
  11. perceptic_core_client/models/citation_metadata_api_dto.py +0 -15
  12. perceptic_core_client/models/connection_settings_api_dto.py +0 -10
  13. perceptic_core_client/models/create_folder_response_v2.py +89 -0
  14. perceptic_core_client/models/file_system_api_dto.py +0 -10
  15. perceptic_core_client/models/file_system_root_metadata_api_dto.py +0 -10
  16. perceptic_core_client/models/get_run_event_rating_response.py +91 -0
  17. perceptic_core_client/models/get_worker_events_v2_response.py +101 -0
  18. perceptic_core_client/models/get_worker_events_v3_response.py +89 -0
  19. perceptic_core_client/models/info_event1.py +94 -0
  20. perceptic_core_client/models/ingest_event_request.py +94 -0
  21. perceptic_core_client/models/ingest_event_response.py +89 -0
  22. perceptic_core_client/models/ingest_stream_event_request.py +89 -0
  23. perceptic_core_client/models/list_users_response.py +104 -0
  24. perceptic_core_client/models/persistence_mode.py +38 -0
  25. perceptic_core_client/models/post_rating_request.py +89 -0
  26. perceptic_core_client/models/post_run_event_rating_response.py +91 -0
  27. perceptic_core_client/models/post_worker_run_request1.py +87 -0
  28. perceptic_core_client/models/post_worker_run_response1.py +87 -0
  29. perceptic_core_client/models/progress_event1.py +94 -0
  30. perceptic_core_client/models/rating_dto_worker_run_event_rating_secondary_id.py +108 -0
  31. perceptic_core_client/models/run_status_dto.py +1 -0
  32. perceptic_core_client/models/schedule_trigger.py +0 -15
  33. perceptic_core_client/models/upload_resource_response_v2.py +91 -0
  34. perceptic_core_client/models/user_input_event.py +101 -0
  35. perceptic_core_client/models/user_request_for_input_event.py +108 -0
  36. perceptic_core_client/models/worker_event.py +0 -15
  37. perceptic_core_client/models/worker_event_v2.py +193 -0
  38. perceptic_core_client/models/worker_run_event_rating_secondary_id.py +89 -0
  39. perceptic_core_client/models/worker_stream_event_v2.py +90 -0
  40. perceptic_core_client/models/worker_v2_next_page_token.py +89 -0
  41. perceptic_core_client/models/workflow_status_response.py +89 -0
  42. perceptic_core_client/test/test_create_folder_response_v2.py +52 -0
  43. perceptic_core_client/test/test_get_run_event_rating_response.py +57 -0
  44. perceptic_core_client/test/test_get_worker_events_v2_response.py +56 -0
  45. perceptic_core_client/test/test_get_worker_events_v3_response.py +54 -0
  46. perceptic_core_client/test/test_info_event1.py +54 -0
  47. perceptic_core_client/test/test_ingest_event_request.py +56 -0
  48. perceptic_core_client/test/test_ingest_event_response.py +52 -0
  49. perceptic_core_client/test/test_ingest_stream_event_request.py +52 -0
  50. perceptic_core_client/test/test_list_users_response.py +60 -0
  51. perceptic_core_client/test/test_persistence_mode.py +33 -0
  52. perceptic_core_client/test/test_post_rating_request.py +52 -0
  53. perceptic_core_client/test/test_post_run_event_rating_response.py +57 -0
  54. perceptic_core_client/test/test_post_worker_run_request1.py +51 -0
  55. perceptic_core_client/test/test_post_worker_run_response1.py +51 -0
  56. perceptic_core_client/test/test_progress_event.py +1 -1
  57. perceptic_core_client/test/test_progress_event1.py +54 -0
  58. perceptic_core_client/test/test_rating_dto_worker_run_event_rating_secondary_id.py +56 -0
  59. perceptic_core_client/test/test_request_for_input_event.py +1 -1
  60. perceptic_core_client/test/test_tag_resource_api.py +0 -21
  61. perceptic_core_client/test/test_upload_resource_response_v2.py +53 -0
  62. perceptic_core_client/test/test_uri_resource_api.py +14 -0
  63. perceptic_core_client/test/test_user_input_event.py +55 -0
  64. perceptic_core_client/test/test_user_request_for_input_event.py +56 -0
  65. perceptic_core_client/test/test_user_resource_api.py +7 -0
  66. perceptic_core_client/test/test_worker_event.py +2 -2
  67. perceptic_core_client/test/test_worker_event_v2.py +59 -0
  68. perceptic_core_client/test/test_worker_resource_api.py +21 -0
  69. perceptic_core_client/test/test_worker_resource_v3_api.py +66 -0
  70. perceptic_core_client/test/test_worker_run_event_rating_secondary_id.py +53 -0
  71. perceptic_core_client/test/test_worker_stream_event_v2.py +52 -0
  72. perceptic_core_client/test/test_worker_v2_next_page_token.py +52 -0
  73. perceptic_core_client/test/test_workflow_status_response.py +52 -0
  74. {perceptic_core_client-0.39.0.dist-info → perceptic_core_client-0.50.3.dist-info}/METADATA +1 -1
  75. {perceptic_core_client-0.39.0.dist-info → perceptic_core_client-0.50.3.dist-info}/RECORD +77 -27
  76. {perceptic_core_client-0.39.0.dist-info → perceptic_core_client-0.50.3.dist-info}/WHEEL +0 -0
  77. {perceptic_core_client-0.39.0.dist-info → perceptic_core_client-0.50.3.dist-info}/top_level.txt +0 -0
@@ -16,8 +16,10 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
16
  from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
- from pydantic import Field, StrictStr
19
+ from pydantic import Field, StrictInt, StrictStr
20
+ from typing import Optional
20
21
  from typing_extensions import Annotated
22
+ from perceptic_core_client.models.list_users_response import ListUsersResponse
21
23
  from perceptic_core_client.models.me_response import MeResponse
22
24
  from perceptic_core_client.models.user_info_response import UserInfoResponse
23
25
 
@@ -545,3 +547,308 @@ class UserResourceApi:
545
547
  )
546
548
 
547
549
 
550
+
551
+
552
+ @validate_call
553
+ def list_users(
554
+ self,
555
+ limit: Annotated[Optional[StrictInt], Field(description="Maximum number of users to return (max 100)")] = None,
556
+ offset: Annotated[Optional[StrictInt], Field(description="Pagination offset")] = None,
557
+ q: Annotated[Optional[StrictStr], Field(description="Search query for username, email, first/last name")] = None,
558
+ _request_timeout: Union[
559
+ None,
560
+ Annotated[StrictFloat, Field(gt=0)],
561
+ Tuple[
562
+ Annotated[StrictFloat, Field(gt=0)],
563
+ Annotated[StrictFloat, Field(gt=0)]
564
+ ]
565
+ ] = None,
566
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
567
+ _content_type: Optional[StrictStr] = None,
568
+ _headers: Optional[Dict[StrictStr, Any]] = None,
569
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
570
+ ) -> ListUsersResponse:
571
+ """List and search users
572
+
573
+ Lists users with optional search. When query is provided, searches across username, email, firstName, and lastName.
574
+
575
+ :param limit: Maximum number of users to return (max 100)
576
+ :type limit: int
577
+ :param offset: Pagination offset
578
+ :type offset: int
579
+ :param q: Search query for username, email, first/last name
580
+ :type q: str
581
+ :param _request_timeout: timeout setting for this request. If one
582
+ number provided, it will be total request
583
+ timeout. It can also be a pair (tuple) of
584
+ (connection, read) timeouts.
585
+ :type _request_timeout: int, tuple(int, int), optional
586
+ :param _request_auth: set to override the auth_settings for an a single
587
+ request; this effectively ignores the
588
+ authentication in the spec for a single request.
589
+ :type _request_auth: dict, optional
590
+ :param _content_type: force content-type for the request.
591
+ :type _content_type: str, Optional
592
+ :param _headers: set to override the headers for a single
593
+ request; this effectively ignores the headers
594
+ in the spec for a single request.
595
+ :type _headers: dict, optional
596
+ :param _host_index: set to override the host_index for a single
597
+ request; this effectively ignores the host_index
598
+ in the spec for a single request.
599
+ :type _host_index: int, optional
600
+ :return: Returns the result object.
601
+ """ # noqa: E501
602
+
603
+ _param = self._list_users_serialize(
604
+ limit=limit,
605
+ offset=offset,
606
+ q=q,
607
+ _request_auth=_request_auth,
608
+ _content_type=_content_type,
609
+ _headers=_headers,
610
+ _host_index=_host_index
611
+ )
612
+
613
+ _response_types_map: Dict[str, Optional[str]] = {
614
+ '200': "ListUsersResponse",
615
+ '400': None,
616
+ '401': None,
617
+ '503': None,
618
+ }
619
+ response_data = self.api_client.call_api(
620
+ *_param,
621
+ _request_timeout=_request_timeout
622
+ )
623
+ response_data.read()
624
+ return self.api_client.response_deserialize(
625
+ response_data=response_data,
626
+ response_types_map=_response_types_map,
627
+ ).data
628
+
629
+
630
+ @validate_call
631
+ def list_users_with_http_info(
632
+ self,
633
+ limit: Annotated[Optional[StrictInt], Field(description="Maximum number of users to return (max 100)")] = None,
634
+ offset: Annotated[Optional[StrictInt], Field(description="Pagination offset")] = None,
635
+ q: Annotated[Optional[StrictStr], Field(description="Search query for username, email, first/last name")] = None,
636
+ _request_timeout: Union[
637
+ None,
638
+ Annotated[StrictFloat, Field(gt=0)],
639
+ Tuple[
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Annotated[StrictFloat, Field(gt=0)]
642
+ ]
643
+ ] = None,
644
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
645
+ _content_type: Optional[StrictStr] = None,
646
+ _headers: Optional[Dict[StrictStr, Any]] = None,
647
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
648
+ ) -> ApiResponse[ListUsersResponse]:
649
+ """List and search users
650
+
651
+ Lists users with optional search. When query is provided, searches across username, email, firstName, and lastName.
652
+
653
+ :param limit: Maximum number of users to return (max 100)
654
+ :type limit: int
655
+ :param offset: Pagination offset
656
+ :type offset: int
657
+ :param q: Search query for username, email, first/last name
658
+ :type q: str
659
+ :param _request_timeout: timeout setting for this request. If one
660
+ number provided, it will be total request
661
+ timeout. It can also be a pair (tuple) of
662
+ (connection, read) timeouts.
663
+ :type _request_timeout: int, tuple(int, int), optional
664
+ :param _request_auth: set to override the auth_settings for an a single
665
+ request; this effectively ignores the
666
+ authentication in the spec for a single request.
667
+ :type _request_auth: dict, optional
668
+ :param _content_type: force content-type for the request.
669
+ :type _content_type: str, Optional
670
+ :param _headers: set to override the headers for a single
671
+ request; this effectively ignores the headers
672
+ in the spec for a single request.
673
+ :type _headers: dict, optional
674
+ :param _host_index: set to override the host_index for a single
675
+ request; this effectively ignores the host_index
676
+ in the spec for a single request.
677
+ :type _host_index: int, optional
678
+ :return: Returns the result object.
679
+ """ # noqa: E501
680
+
681
+ _param = self._list_users_serialize(
682
+ limit=limit,
683
+ offset=offset,
684
+ q=q,
685
+ _request_auth=_request_auth,
686
+ _content_type=_content_type,
687
+ _headers=_headers,
688
+ _host_index=_host_index
689
+ )
690
+
691
+ _response_types_map: Dict[str, Optional[str]] = {
692
+ '200': "ListUsersResponse",
693
+ '400': None,
694
+ '401': None,
695
+ '503': None,
696
+ }
697
+ response_data = self.api_client.call_api(
698
+ *_param,
699
+ _request_timeout=_request_timeout
700
+ )
701
+ response_data.read()
702
+ return self.api_client.response_deserialize(
703
+ response_data=response_data,
704
+ response_types_map=_response_types_map,
705
+ )
706
+
707
+
708
+ @validate_call
709
+ def list_users_without_preload_content(
710
+ self,
711
+ limit: Annotated[Optional[StrictInt], Field(description="Maximum number of users to return (max 100)")] = None,
712
+ offset: Annotated[Optional[StrictInt], Field(description="Pagination offset")] = None,
713
+ q: Annotated[Optional[StrictStr], Field(description="Search query for username, email, first/last name")] = None,
714
+ _request_timeout: Union[
715
+ None,
716
+ Annotated[StrictFloat, Field(gt=0)],
717
+ Tuple[
718
+ Annotated[StrictFloat, Field(gt=0)],
719
+ Annotated[StrictFloat, Field(gt=0)]
720
+ ]
721
+ ] = None,
722
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
723
+ _content_type: Optional[StrictStr] = None,
724
+ _headers: Optional[Dict[StrictStr, Any]] = None,
725
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
726
+ ) -> RESTResponseType:
727
+ """List and search users
728
+
729
+ Lists users with optional search. When query is provided, searches across username, email, firstName, and lastName.
730
+
731
+ :param limit: Maximum number of users to return (max 100)
732
+ :type limit: int
733
+ :param offset: Pagination offset
734
+ :type offset: int
735
+ :param q: Search query for username, email, first/last name
736
+ :type q: str
737
+ :param _request_timeout: timeout setting for this request. If one
738
+ number provided, it will be total request
739
+ timeout. It can also be a pair (tuple) of
740
+ (connection, read) timeouts.
741
+ :type _request_timeout: int, tuple(int, int), optional
742
+ :param _request_auth: set to override the auth_settings for an a single
743
+ request; this effectively ignores the
744
+ authentication in the spec for a single request.
745
+ :type _request_auth: dict, optional
746
+ :param _content_type: force content-type for the request.
747
+ :type _content_type: str, Optional
748
+ :param _headers: set to override the headers for a single
749
+ request; this effectively ignores the headers
750
+ in the spec for a single request.
751
+ :type _headers: dict, optional
752
+ :param _host_index: set to override the host_index for a single
753
+ request; this effectively ignores the host_index
754
+ in the spec for a single request.
755
+ :type _host_index: int, optional
756
+ :return: Returns the result object.
757
+ """ # noqa: E501
758
+
759
+ _param = self._list_users_serialize(
760
+ limit=limit,
761
+ offset=offset,
762
+ q=q,
763
+ _request_auth=_request_auth,
764
+ _content_type=_content_type,
765
+ _headers=_headers,
766
+ _host_index=_host_index
767
+ )
768
+
769
+ _response_types_map: Dict[str, Optional[str]] = {
770
+ '200': "ListUsersResponse",
771
+ '400': None,
772
+ '401': None,
773
+ '503': None,
774
+ }
775
+ response_data = self.api_client.call_api(
776
+ *_param,
777
+ _request_timeout=_request_timeout
778
+ )
779
+ return response_data.response
780
+
781
+
782
+ def _list_users_serialize(
783
+ self,
784
+ limit,
785
+ offset,
786
+ q,
787
+ _request_auth,
788
+ _content_type,
789
+ _headers,
790
+ _host_index,
791
+ ) -> RequestSerialized:
792
+
793
+ _host = None
794
+
795
+ _collection_formats: Dict[str, str] = {
796
+ }
797
+
798
+ _path_params: Dict[str, str] = {}
799
+ _query_params: List[Tuple[str, str]] = []
800
+ _header_params: Dict[str, Optional[str]] = _headers or {}
801
+ _form_params: List[Tuple[str, str]] = []
802
+ _files: Dict[
803
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
804
+ ] = {}
805
+ _body_params: Optional[bytes] = None
806
+
807
+ # process the path parameters
808
+ # process the query parameters
809
+ if limit is not None:
810
+
811
+ _query_params.append(('limit', limit))
812
+
813
+ if offset is not None:
814
+
815
+ _query_params.append(('offset', offset))
816
+
817
+ if q is not None:
818
+
819
+ _query_params.append(('q', q))
820
+
821
+ # process the header parameters
822
+ # process the form parameters
823
+ # process the body parameter
824
+
825
+
826
+ # set the HTTP header `Accept`
827
+ if 'Accept' not in _header_params:
828
+ _header_params['Accept'] = self.api_client.select_header_accept(
829
+ [
830
+ 'application/json'
831
+ ]
832
+ )
833
+
834
+
835
+ # authentication setting
836
+ _auth_settings: List[str] = [
837
+ ]
838
+
839
+ return self.api_client.param_serialize(
840
+ method='GET',
841
+ resource_path='/api/v1/users',
842
+ path_params=_path_params,
843
+ query_params=_query_params,
844
+ header_params=_header_params,
845
+ body=_body_params,
846
+ post_params=_form_params,
847
+ files=_files,
848
+ auth_settings=_auth_settings,
849
+ collection_formats=_collection_formats,
850
+ _host=_host,
851
+ _request_auth=_request_auth
852
+ )
853
+
854
+