python-alfresco-api 1.0.0__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.
- python_alfresco_api/__init__.py +43 -0
- python_alfresco_api/auth_util.py +103 -0
- python_alfresco_api/client_factory.py +111 -0
- python_alfresco_api/clients/__init__.py +1 -0
- python_alfresco_api/clients/auth_client.py +85 -0
- python_alfresco_api/clients/core_client.py +85 -0
- python_alfresco_api/clients/discovery_client.py +85 -0
- python_alfresco_api/clients/model_client.py +85 -0
- python_alfresco_api/clients/search_client.py +85 -0
- python_alfresco_api/clients/search_sql_client.py +85 -0
- python_alfresco_api/clients/workflow_client.py +85 -0
- python_alfresco_api/events/__init__.py +15 -0
- python_alfresco_api/events/event_client.py +268 -0
- python_alfresco_api/events/models.py +35 -0
- python_alfresco_api/examples/basic_usage.py +52 -0
- python_alfresco_api/examples/llm_integration.py +155 -0
- python_alfresco_api/models/__init__.py +45 -0
- python_alfresco_api/models/alfresco_auth_models.py +42 -0
- python_alfresco_api/models/alfresco_core_models.py +1288 -0
- python_alfresco_api/models/alfresco_discovery_models.py +84 -0
- python_alfresco_api/models/alfresco_model_models.py +161 -0
- python_alfresco_api/models/alfresco_search_models.py +720 -0
- python_alfresco_api/models/alfresco_search_sql_models.py +91 -0
- python_alfresco_api/models/alfresco_workflow_models.py +357 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/api/authentication/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/api/authentication/create_ticket.py +236 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/api/authentication/delete_ticket.py +91 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/api/authentication/validate_ticket.py +171 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/__init__.py +19 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/ticket.py +68 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/ticket_body.py +68 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/ticket_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/valid_ticket.py +59 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/models/valid_ticket_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/auth_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_auth_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_core_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_core_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/actions/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/actions/action_details.py +172 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/actions/action_exec.py +384 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/actions/list_actions.py +261 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/actions/node_actions.py +277 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/activities/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/activities/list_activities_for_person.py +263 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/delete_audit_entries_for_audit_app.py +148 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/delete_audit_entry.py +122 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/get_audit_app.py +245 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/get_audit_entry.py +227 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/list_audit_apps.py +256 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/list_audit_entries_for_audit_app.py +372 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/list_audit_entries_for_node.py +329 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/audit/update_audit_app.py +259 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/comments/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/comments/create_comment.py +414 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/comments/delete_comment.py +112 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/comments/list_comments.py +229 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/comments/update_comment.py +232 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/create_favorite.py +443 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/create_site_favorite.py +407 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/delete_favorite.py +112 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/delete_site_favorite.py +120 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/get_favorite.py +229 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/get_favorite_site.py +137 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/list_favorite_sites_for_person.py +150 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/favorites/list_favorites.py +419 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/create_group.py +285 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/create_group_membership.py +255 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/delete_group.py +138 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/delete_group_membership.py +130 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/get_group.py +227 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/list_group_memberships.py +331 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/list_group_memberships_for_person.py +447 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/list_groups.py +487 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/groups/update_group.py +254 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/networks/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/networks/get_network.py +189 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/networks/get_network_for_person.py +210 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/networks/list_networks_for_person.py +230 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/copy_node.py +285 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/create_association.py +410 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/create_node.py +1327 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/create_secondary_child_association.py +410 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/delete_association.py +149 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/delete_node.py +162 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/delete_secondary_child_association.py +145 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/get_node.py +245 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/list_node_children.py +440 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/list_parents.py +290 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/list_secondary_children.py +286 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/list_source_associations.py +237 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/list_target_associations.py +237 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/lock_node.py +374 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/move_node.py +281 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/unlock_node.py +245 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/update_node.py +477 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/nodes/update_node_content.py +363 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/create_person.py +298 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/delete_avatar_image.py +115 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/get_person.py +197 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/list_people.py +292 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/request_password_reset.py +153 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/reset_password.py +139 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/update_avatar_image.py +144 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/people/update_person.py +327 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/preferences/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/preferences/get_preference.py +213 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/preferences/list_preferences.py +245 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/probes/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/probes/get_probe.py +196 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/queries/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/queries/find_nodes.py +380 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/queries/find_people.py +296 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/queries/find_sites.py +181 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/ratings/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/ratings/create_rating.py +216 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/ratings/delete_rating.py +110 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/ratings/get_rating.py +205 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/ratings/list_ratings.py +222 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/renditions/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/renditions/create_rendition.py +165 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/renditions/get_rendition.py +191 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/renditions/list_renditions.py +247 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/create_shared_link.py +440 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/delete_shared_link.py +111 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/email_shared_link.py +187 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/get_shared_link.py +208 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/get_shared_link_rendition.py +208 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/list_shared_link_renditions.py +195 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/shared_links/list_shared_links.py +271 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/approve_site_membership_request.py +130 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/create_site.py +202 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/create_site_group_membership.py +415 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/create_site_membership.py +423 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/create_site_membership_request_for_person.py +247 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/delete_site.py +122 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/delete_site_group_membership.py +114 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/delete_site_membership.py +114 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/delete_site_membership_for_person.py +112 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/delete_site_membership_request_for_person.py +112 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site.py +155 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_container.py +202 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_group_membership.py +210 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_membership.py +210 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_membership_for_person.py +110 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_membership_request_for_person.py +129 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/get_site_membership_requests.py +176 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_site_containers.py +222 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_site_groups.py +230 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_site_membership_requests_for_person.py +142 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_site_memberships.py +237 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_site_memberships_for_person.py +225 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/list_sites.py +236 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/reject_site_membership_request.py +130 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/update_site.py +147 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/update_site_group_membership.py +257 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/update_site_membership.py +265 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/sites/update_site_membership_request_for_person.py +146 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/create_tag_for_node.py +411 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/delete_tag_from_node.py +110 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/get_tag.py +189 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/list_tags.py +233 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/list_tags_for_node.py +225 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/tags/update_tag.py +213 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/delete_deleted_node.py +109 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/get_archived_node_rendition.py +191 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/get_deleted_node.py +203 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/list_deleted_node_renditions.py +247 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/list_deleted_nodes.py +234 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/trashcan/restore_deleted_node.py +270 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/create_version_rendition.py +172 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/delete_version.py +140 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/get_version.py +191 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/get_version_rendition.py +204 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/list_version_history.py +264 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/list_version_renditions.py +260 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/api/versions/revert_version.py +252 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/__init__.py +391 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_body_exec.py +92 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_body_exec_params.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_definition.py +130 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_definition_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_definition_list.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_definition_list_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_exec_result.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_exec_result_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/action_parameter_definition.py +95 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/activity.py +137 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/activity_activity_summary.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/activity_entry.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/activity_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/activity_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/association.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/association_body.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/association_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/association_info.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_app.py +97 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_app_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_app_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_app_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_body_update.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_entry.py +111 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_entry_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_entry_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_entry_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/audit_entry_values.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/capabilities.py +77 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/child_association.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/child_association_body.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/child_association_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/child_association_info.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/client_body.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/comment.py +139 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/comment_body.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/comment_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/comment_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/comment_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/company.py +122 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/constraint.py +110 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/constraint_parameters.py +57 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/constraint_parameters_additional_property.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/content_info.py +88 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/definition.py +76 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/deleted_node.py +298 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/deleted_node_body_restore.py +68 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/deleted_node_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/deleted_nodes_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/deleted_nodes_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/direct_access_url_body_create.py +77 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/download.py +113 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/download_body_create.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/download_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/download_status.py +12 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite.py +114 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_body_create.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_body_create_target.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_entry.py +66 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_properties.py +47 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_site.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_site_body_create.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_site_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/favorite_target.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group.py +99 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_body_create.py +80 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_body_update.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_member.py +77 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_member_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_member_member_type.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_member_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_member_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_membership_body_create.py +69 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_membership_body_create_member_type.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/group_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/network_quota.py +78 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node.py +282 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_association.py +300 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_association_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_association_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_association_paging_list.py +111 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_copy.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_create.py +256 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_create_association.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_create_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_lock.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_lock_lifetime.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_lock_type.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_move.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_update.py +121 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_body_update_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_child_association.py +300 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_child_association_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_child_association_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_child_association_paging_list.py +111 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_paging_list.py +111 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/node_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/pagination.py +103 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/password_reset_body.py +75 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/path_element.py +88 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/path_info.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/permission_element.py +85 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/permission_element_access_status.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/permissions_body.py +84 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/permissions_info.py +114 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person.py +289 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_body_create.py +244 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_body_create_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_body_update.py +245 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_body_update_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_network.py +150 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_network_entry.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_network_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_network_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_network_subscription_level.py +10 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/person_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/preference.py +71 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/preference_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/preference_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/preference_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/probe_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/probe_entry_entry.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/property_.py +158 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating.py +106 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_aggregate.py +68 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_body.py +70 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_body_id.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_entry.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rating_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition.py +98 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition_body_create.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/rendition_status.py +9 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/revert_body.py +68 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link.py +269 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_body_create.py +79 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_body_email.py +88 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/shared_link_properties.py +47 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_body_create.py +88 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_body_create_visibility.py +10 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_body_update.py +85 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_body_update_visibility.py +10 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_container.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_container_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_container_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_container_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_group.py +83 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_group_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_group_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_group_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_group_role.py +11 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_member.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_member_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_member_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_member_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_member_role.py +11 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_approval_body.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_body_create.py +69 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_body_create_role.py +11 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_body_update.py +61 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_body_update_role.py +11 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_rejection_body.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_request_body_create.py +91 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_membership_request_body_update.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/site_role_role.py +11 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/tag.py +78 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/tag_body.py +59 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/tag_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/tag_paging.py +65 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/tag_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/user_info.py +67 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/version.py +174 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/version_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/version_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/version_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/models/version_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_core_client/core_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_core_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/api/discovery/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/api/discovery/get_repository_information.py +145 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/__init__.py +25 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/discovery_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/entitlements_info.py +86 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/license_info.py +117 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/module_info.py +131 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/repository_entry.py +65 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/repository_info.py +132 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/status_info.py +83 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/models/version_info.py +107 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/discovery_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_discovery_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_model_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_model_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/aspects/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/aspects/get_aspect.py +103 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/aspects/list_aspects.py +256 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/types/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/types/get_type.py +103 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/api/types/list_types.py +270 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/__init__.py +27 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/abstract_class.py +189 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/abstract_class_association.py +135 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/abstract_class_association_source.py +95 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/constraint.py +110 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/constraint_parameters.py +57 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/constraint_parameters_additional_property.py +44 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/model.py +97 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/pagination.py +103 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/models/property_.py +158 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_model_client/model_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_model_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_search_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_search_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_search_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/api/search/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/api/search/search.py +1451 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/__init__.py +125 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/content_info.py +95 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_bucket.py +151 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_bucket_bucket_info.py +87 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_bucket_display.py +44 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_bucket_facets_item.py +44 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_facet_response.py +93 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_metric.py +82 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/generic_metric_value.py +44 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/node.py +237 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/node_properties.py +44 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/pagination.py +100 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/path_element.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/path_info.py +93 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_defaults.py +126 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_defaults_default_fts_field_operator.py +9 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_defaults_default_fts_operator.py +9 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_field.py +172 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_field_method.py +9 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_field_sort.py +9 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_fields.py +79 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_intervals.py +97 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_intervals_intervals_item.py +93 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_queries_item.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_facet_set.py +98 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_filter_queries_item.py +72 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_highlight.py +143 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_highlight_fields_item.py +104 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_include_item.py +13 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_limits.py +71 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_localization.py +73 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_pagination.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_pivot.py +82 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_query.py +89 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_query_language.py +10 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_range.py +139 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_scope.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_scope_locations.py +10 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_sort_definition_item.py +87 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_sort_definition_item_type.py +10 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_spellcheck.py +61 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_stats.py +202 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/request_templates_item.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/response_consistency.py +60 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_buckets.py +84 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_buckets_buckets_item.py +99 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_buckets_buckets_item_display.py +44 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_node.py +305 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_context.py +181 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_context_facet_queries_item.py +77 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_context_spellcheck_item.py +78 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_context_spellcheck_item_type.py +9 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_paging.py +73 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_paging_list.py +111 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/result_set_row_entry.py +66 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/search_entry.py +85 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/search_entry_highlight_item.py +71 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/search_request.py +452 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/models/user_info.py +67 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_search_client/search_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/api/sql/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/api/sql/search.py +751 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/__init__.py +23 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/docs_item.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/pagination.py +100 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/solr_result_set.py +77 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/sql_result_set_paging.py +73 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/sql_result_set_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/sql_result_set_row_entry.py +68 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/models/sql_search_request.py +108 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_search_sql_client/search_sql_client/types.py +54 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/.gitignore +23 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/README.md +124 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/pyproject.toml +27 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/__init__.py +8 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/deployments/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/deployments/delete_deployment.py +105 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/deployments/get_deployment.py +213 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/deployments/list_deployments.py +230 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/process_definitions/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/process_definitions/get_process_definition.py +205 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/process_definitions/get_process_definition_image.py +188 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/process_definitions/get_process_definition_start_form_model.py +201 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/process_definitions/list_process_definitions.py +264 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/create_process.py +385 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/create_process_item.py +365 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/create_process_variable.py +202 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/create_process_variables.py +381 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/delete_process.py +101 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/delete_process_item.py +108 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/delete_process_variable.py +108 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/get_process.py +229 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/list_process_items.py +262 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/list_process_variables.py +262 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/processes/list_processes.py +284 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/__init__.py +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/create_task_item.py +365 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/create_task_variables.py +378 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/delete_task_item.py +108 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/delete_task_variable.py +110 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/get_task.py +229 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/get_task_form_model.py +238 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/list_task_candidates.py +222 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/list_task_items.py +262 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/list_task_variables.py +277 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/list_tasks.py +276 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/list_tasks_for_process.py +281 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/update_task.py +830 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/api/tasks/update_task_variable.py +202 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/client.py +268 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/errors.py +16 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/__init__.py +95 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/candidate.py +77 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/candidate_candidate_type.py +9 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/candidate_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/candidate_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/candidate_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/company.py +122 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/deployment.py +116 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/deployment_entry.py +90 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/deployment_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/deployment_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/error.py +65 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/error_error.py +104 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/item.py +195 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/item_body.py +60 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/item_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/item_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/item_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/pagination.py +102 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/person.py +236 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process.py +171 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_body.py +82 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_body_variable.py +78 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_definition.py +136 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_definition_entry.py +74 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_definition_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_definition_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_entry.py +84 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/process_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task.py +244 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_body.py +147 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_body_state.py +11 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_form_model.py +116 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_form_model_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_form_model_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_form_model_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/task_state.py +11 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/variable.py +87 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/variable_body.py +78 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/variable_entry.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/variable_paging.py +72 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/models/variable_paging_list.py +93 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/py.typed +1 -0
- python_alfresco_api/raw_clients/alfresco_workflow_client/workflow_client/types.py +54 -0
- python_alfresco_api/tests/__init__.py +1 -0
- python_alfresco_api/tests/test_basic.py +115 -0
- python_alfresco_api-1.0.0.dist-info/METADATA +795 -0
- python_alfresco_api-1.0.0.dist-info/RECORD +635 -0
- python_alfresco_api-1.0.0.dist-info/WHEEL +4 -0
- python_alfresco_api-1.0.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,795 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: python-alfresco-api
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Python client for Alfresco Content Services REST API with event support
|
|
5
|
+
Project-URL: Homepage, https://github.com/your-org/python-alfresco-mcp-server
|
|
6
|
+
Project-URL: Repository, https://github.com/your-org/python-alfresco-mcp-server
|
|
7
|
+
Project-URL: Documentation, https://github.com/your-org/python-alfresco-mcp-server/docs
|
|
8
|
+
Author-email: Python Alfresco API Team <dev@example.com>
|
|
9
|
+
License: Apache-2.0
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: activemq,alfresco,content-management,events,rest-api
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Office/Business :: Office Suites
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Requires-Python: >=3.8
|
|
24
|
+
Requires-Dist: attrs>=23.1.0
|
|
25
|
+
Requires-Dist: httpx>=0.25.0
|
|
26
|
+
Requires-Dist: pydantic>=2.0.0
|
|
27
|
+
Requires-Dist: python-dateutil>=2.8.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0
|
|
29
|
+
Requires-Dist: stomp-py>=8.1.0
|
|
30
|
+
Requires-Dist: typing-extensions>=4.7.0
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: mypy>=1.5.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest>=7.4.0; extra == 'dev'
|
|
36
|
+
Provides-Extra: test
|
|
37
|
+
Requires-Dist: httpx>=0.25.0; extra == 'test'
|
|
38
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
|
|
39
|
+
Requires-Dist: pytest-mock>=3.12.0; extra == 'test'
|
|
40
|
+
Requires-Dist: pytest>=7.4.0; extra == 'test'
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
|
|
43
|
+
# python-alfresco-api v1.0
|
|
44
|
+
|
|
45
|
+
**A Complete Python client package for developing python code and apps for Alfresco. Great for doing AI development
|
|
46
|
+
with Python based LangChain, LlamaIndex, neo4j-graphrag, etc. Also great for creating MCP servers (see python-alfreso-mcp-server in this repository).**
|
|
47
|
+
|
|
48
|
+
Note this uses the remote Alfresco REST APIs. Not for in-process development in Alfresco.
|
|
49
|
+
|
|
50
|
+
A modern, type-safe Python client library for Alfresco Content Services REST APIs with comprehensive Pydantic v2 model integration and async support.
|
|
51
|
+
|
|
52
|
+
[](https://pypi.org/project/python-alfresco-api/)
|
|
53
|
+
[](https://pypi.org/project/python-alfresco-api/)
|
|
54
|
+
[](https://www.python.org/downloads/)
|
|
55
|
+
[](https://pydantic.dev/)
|
|
56
|
+
[](LICENSE)
|
|
57
|
+
[](#testing)
|
|
58
|
+
|
|
59
|
+
## 🚀 Features
|
|
60
|
+
|
|
61
|
+
- **Complete API Coverage**: All 7 Alfresco REST APIs (Auth, Core, Discovery, Search, Workflow, Model, Search SQL)
|
|
62
|
+
- **1,400+ Pydantic v2 Models**: Type-safe data validation and serialization
|
|
63
|
+
- **Async/Sync Support**: Both synchronous and asynchronous API calls
|
|
64
|
+
- **Modular Architecture**: Individual client design for scalability
|
|
65
|
+
- **LLM/AI Ready**: Type-safe Pydantic v2 models perfect for AI integration and tool interfaces
|
|
66
|
+
- **Event System**: ActiveMQ and Event Gateway support for Python apps to handle change events
|
|
67
|
+
- **Docker Compatible**: Works with Alfresco running in separate Docker Compose setups
|
|
68
|
+
- **Comprehensive Testing**: 100% unit and live Alfresco integration tests
|
|
69
|
+
|
|
70
|
+
## 📚 Documentation & Examples
|
|
71
|
+
|
|
72
|
+
- **[📖 Complete Documentation](docs/)** - Comprehensive guides and API documentation
|
|
73
|
+
- **[🎯 Working Examples](examples/)** - Live code examples and usage patterns
|
|
74
|
+
- **[🧪 Test Suite](tests/)** - Complete test coverage and integration examples
|
|
75
|
+
|
|
76
|
+
## 📦 Installation
|
|
77
|
+
|
|
78
|
+
### Quick Install from PyPI
|
|
79
|
+
|
|
80
|
+
[](https://pypi.org/project/python-alfresco-api/)
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
pip install python-alfresco-api
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**All features included** - No optional dependencies needed! Includes event system, async support, and all 7 Alfresco APIs.
|
|
87
|
+
|
|
88
|
+
### Virtual Environment Setup (Recommended)
|
|
89
|
+
|
|
90
|
+
**Best Practice**: Always use a virtual environment to avoid dependency conflicts
|
|
91
|
+
|
|
92
|
+
#### Windows
|
|
93
|
+
|
|
94
|
+
```powershell
|
|
95
|
+
# Clone the repository
|
|
96
|
+
git clone https://github.com/stevereiner/python-alfresco-api.git
|
|
97
|
+
cd python-alfresco-api
|
|
98
|
+
|
|
99
|
+
# Create virtual environment
|
|
100
|
+
python -m venv venv
|
|
101
|
+
|
|
102
|
+
# Activate virtual environment
|
|
103
|
+
venv\Scripts\activate
|
|
104
|
+
|
|
105
|
+
# Verify activation (should show venv path)
|
|
106
|
+
where python
|
|
107
|
+
|
|
108
|
+
# Install dependencies
|
|
109
|
+
pip install -r requirements.txt
|
|
110
|
+
|
|
111
|
+
# For development (RECOMMENDED - includes mypy, black, pytest, etc.)
|
|
112
|
+
pip install -e .[dev]
|
|
113
|
+
|
|
114
|
+
# Deactivate when done
|
|
115
|
+
deactivate
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### Linux / MacOS
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Clone the repository
|
|
122
|
+
git clone https://github.com/stevereiner/python-alfresco-api.git
|
|
123
|
+
cd python-alfresco-api
|
|
124
|
+
|
|
125
|
+
# Create virtual environment
|
|
126
|
+
python3 -m venv venv
|
|
127
|
+
|
|
128
|
+
# Activate virtual environment
|
|
129
|
+
source venv/bin/activate
|
|
130
|
+
|
|
131
|
+
# Verify activation (should show venv path)
|
|
132
|
+
which python
|
|
133
|
+
|
|
134
|
+
# Install dependencies
|
|
135
|
+
pip install -r requirements.txt
|
|
136
|
+
|
|
137
|
+
# For development (RECOMMENDED - includes mypy, black, pytest, etc.)
|
|
138
|
+
pip install -e .[dev]
|
|
139
|
+
|
|
140
|
+
# Deactivate when done
|
|
141
|
+
deactivate
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Alternative: Using conda
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Create conda environment
|
|
148
|
+
conda create -n alfresco-api python=3.11
|
|
149
|
+
conda activate alfresco-api
|
|
150
|
+
|
|
151
|
+
# Install dependencies
|
|
152
|
+
pip install -r requirements.txt
|
|
153
|
+
|
|
154
|
+
# Deactivate when done
|
|
155
|
+
conda deactivate
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Runtime Installation
|
|
159
|
+
|
|
160
|
+
Install the package for production use:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
pip install python-alfresco-api
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
This installs all features including event system support.
|
|
167
|
+
|
|
168
|
+
### Development Installation
|
|
169
|
+
|
|
170
|
+
For development, testing, or package regeneration:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# After setting up virtual environment above
|
|
174
|
+
git clone https://github.com/your-org/python-alfresco-api.git
|
|
175
|
+
cd python-alfresco-api
|
|
176
|
+
|
|
177
|
+
# Activate your virtual environment first
|
|
178
|
+
# Windows: venv\Scripts\activate
|
|
179
|
+
# Linux/macOS: source venv/bin/activate
|
|
180
|
+
|
|
181
|
+
# Install development dependencies (RECOMMENDED)
|
|
182
|
+
pip install -e .[dev]
|
|
183
|
+
|
|
184
|
+
# Or install in development mode
|
|
185
|
+
pip install -e .
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## 🎯 Quick Start
|
|
189
|
+
|
|
190
|
+
### Basic Usage
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
from python_alfresco_api import ClientFactory
|
|
194
|
+
|
|
195
|
+
# Create client factory
|
|
196
|
+
factory = ClientFactory(
|
|
197
|
+
base_url="http://localhost:8080",
|
|
198
|
+
username="admin",
|
|
199
|
+
password="admin"
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
# Get all clients
|
|
203
|
+
clients = factory.create_all_clients()
|
|
204
|
+
|
|
205
|
+
# Use individual clients
|
|
206
|
+
auth_client = factory.create_auth_client()
|
|
207
|
+
core_client = factory.create_core_client()
|
|
208
|
+
search_client = factory.create_search_client()
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Async Usage
|
|
212
|
+
|
|
213
|
+
```python
|
|
214
|
+
import asyncio
|
|
215
|
+
from python_alfresco_api import ClientFactory
|
|
216
|
+
|
|
217
|
+
async def main():
|
|
218
|
+
factory = ClientFactory(
|
|
219
|
+
base_url="http://localhost:8080",
|
|
220
|
+
username="admin",
|
|
221
|
+
password="admin"
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
# Authenticate
|
|
225
|
+
await factory.auth.authenticate()
|
|
226
|
+
|
|
227
|
+
# Use authenticated API calls
|
|
228
|
+
# Your async API operations here
|
|
229
|
+
|
|
230
|
+
asyncio.run(main())
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Architecture Options
|
|
234
|
+
|
|
235
|
+
#### Option 1: Individual Clients + Factory Pattern (Recommended)
|
|
236
|
+
|
|
237
|
+
```python
|
|
238
|
+
from python_alfresco_api import ClientFactory
|
|
239
|
+
|
|
240
|
+
# Factory pattern for easy configuration
|
|
241
|
+
factory = ClientFactory(
|
|
242
|
+
base_url="http://localhost:8080",
|
|
243
|
+
username="admin",
|
|
244
|
+
password="admin"
|
|
245
|
+
)
|
|
246
|
+
|
|
247
|
+
# Individual clients for modular architecture
|
|
248
|
+
auth_client = factory.create_auth_client()
|
|
249
|
+
core_client = factory.create_core_client()
|
|
250
|
+
search_client = factory.create_search_client()
|
|
251
|
+
workflow_client = factory.create_workflow_client()
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
#### Option 2: Master Client Pattern (Unified Interface)
|
|
255
|
+
|
|
256
|
+
```python
|
|
257
|
+
from python_alfresco_api import ClientFactory
|
|
258
|
+
|
|
259
|
+
# Create factory
|
|
260
|
+
factory = ClientFactory(
|
|
261
|
+
base_url="http://localhost:8080",
|
|
262
|
+
username="admin",
|
|
263
|
+
password="admin"
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
# Master client with dot syntax access
|
|
267
|
+
master_client = factory.create_master_client()
|
|
268
|
+
|
|
269
|
+
# Use dot syntax for API access
|
|
270
|
+
nodes = master_client.core.get_node("some-node-id")
|
|
271
|
+
results = master_client.search.search("my query")
|
|
272
|
+
ticket = master_client.auth.create_ticket()
|
|
273
|
+
processes = master_client.workflow.list_processes()
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
#### Option 3: Direct Individual Clients (No Factory)
|
|
277
|
+
|
|
278
|
+
```python
|
|
279
|
+
# Direct client creation without factory
|
|
280
|
+
from python_alfresco_api.clients import (
|
|
281
|
+
AlfrescoAuthClient,
|
|
282
|
+
AlfrescoCoreClient,
|
|
283
|
+
AlfrescoSearchClient,
|
|
284
|
+
AlfrescoWorkflowClient
|
|
285
|
+
)
|
|
286
|
+
from python_alfresco_api import AuthUtil
|
|
287
|
+
|
|
288
|
+
# Create auth utility
|
|
289
|
+
auth_util = AuthUtil(
|
|
290
|
+
base_url="http://localhost:8080",
|
|
291
|
+
username="admin",
|
|
292
|
+
password="admin"
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
# Create individual clients directly
|
|
296
|
+
auth_client = AlfrescoAuthClient("http://localhost:8080")
|
|
297
|
+
core_client = AlfrescoCoreClient("http://localhost:8080", auth_util)
|
|
298
|
+
search_client = AlfrescoSearchClient("http://localhost:8080", auth_util)
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
All approaches provide:
|
|
302
|
+
- **Type Safety**: Full Pydantic v2 model integration
|
|
303
|
+
- **Async Support**: Modern async/await patterns
|
|
304
|
+
- **Authentication**: Automatic ticket-based auth with renewal
|
|
305
|
+
- **Error Handling**: Comprehensive error management
|
|
306
|
+
|
|
307
|
+
### Pydantic Models
|
|
308
|
+
|
|
309
|
+
```python
|
|
310
|
+
from python_alfresco_api.models.alfresco_core_models import NodeBodyCreate
|
|
311
|
+
from python_alfresco_api.models.alfresco_auth_models import TicketBody
|
|
312
|
+
|
|
313
|
+
# Type-safe model creation
|
|
314
|
+
node_data = NodeBodyCreate(
|
|
315
|
+
name="my-document.txt",
|
|
316
|
+
nodeType="cm:content",
|
|
317
|
+
properties={"cm:title": "My Document"}
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
# Serialize to dict/JSON
|
|
321
|
+
node_dict = node_data.model_dump()
|
|
322
|
+
node_json = node_data.model_dump_json()
|
|
323
|
+
|
|
324
|
+
# Validation
|
|
325
|
+
ticket = TicketBody(userId="admin", password="admin")
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
## 🔧 Code Regeneration
|
|
331
|
+
|
|
332
|
+
The library uses OpenAPI 3.0 specifications for generating both Pydantic models and HTTP clients.
|
|
333
|
+
These were derived from alfresco swagger / openapi 2.0 yaml files, processed to clean (still openapi 2.0) and then
|
|
334
|
+
given to swagger2openapi to convert to openapi 3.0 .
|
|
335
|
+
|
|
336
|
+
### Prerequisites
|
|
337
|
+
|
|
338
|
+
Install development dependencies:
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
# RECOMMENDED - includes mypy, black, pytest, etc.
|
|
342
|
+
pip install -e .[dev]
|
|
343
|
+
|
|
344
|
+
# Alternative (may have missing dependencies)
|
|
345
|
+
pip install -r requirements-dev.txt
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### Regeneration Steps
|
|
349
|
+
|
|
350
|
+
1. **Update OpenAPI Specifications**
|
|
351
|
+
|
|
352
|
+
Download the latest specifications from [Alfresco API Explorer](https://api-explorer.alfresco.com/api-explorer/) and place them in:
|
|
353
|
+
```
|
|
354
|
+
openapi/openapi2/alfresco-auth.yaml
|
|
355
|
+
openapi/openapi2/alfresco-core.yaml
|
|
356
|
+
openapi/openapi2/alfresco-discovery.yaml
|
|
357
|
+
openapi/openapi2/alfresco-search.yaml
|
|
358
|
+
openapi/openapi2/alfresco-workflow.yaml
|
|
359
|
+
openapi/openapi2/alfresco-model.yaml
|
|
360
|
+
openapi/openapi2/alfresco-search-sql.yaml
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
2. **Run the Generation Pipeline**
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
python scripts/generate_hybrid_pipeline.py
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
This script:
|
|
370
|
+
- Processes and cleans the OpenAPI 2.0 specifications
|
|
371
|
+
- Converts them to OpenAPI 3.0 format
|
|
372
|
+
- Generates Pydantic v2 models from OpenAPI 3.0
|
|
373
|
+
- Generates HTTP clients from OpenAPI 3.0
|
|
374
|
+
- Creates the unified package structure
|
|
375
|
+
|
|
376
|
+
3. **Manual Steps (if needed)**
|
|
377
|
+
|
|
378
|
+
Generate individual components:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
# Generate Pydantic models from OpenAPI 3.0
|
|
382
|
+
datamodel-codegen \
|
|
383
|
+
--input openapi/openapi3/alfresco-core.yaml \
|
|
384
|
+
--output python_alfresco_api/models/alfresco_core_models.py \
|
|
385
|
+
--target-python-version 3.8
|
|
386
|
+
|
|
387
|
+
# Generate HTTP client from OpenAPI 3.0
|
|
388
|
+
openapi-python-client generate \
|
|
389
|
+
--path openapi/openapi3/alfresco-core.yaml \
|
|
390
|
+
--config client_config.yaml
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
4. **Package Integration**
|
|
394
|
+
|
|
395
|
+
The pipeline automatically:
|
|
396
|
+
- Creates individual client wrappers
|
|
397
|
+
- Sets up the ClientFactory
|
|
398
|
+
- Configures AuthUtil integration
|
|
399
|
+
- Establishes the unified package structure
|
|
400
|
+
|
|
401
|
+
### Generation Configuration
|
|
402
|
+
|
|
403
|
+
Configuration files for all Alfresco API clients are organized in the `config/` folder:
|
|
404
|
+
|
|
405
|
+
```
|
|
406
|
+
config/
|
|
407
|
+
├── auth.yaml # Authentication API → auth_client
|
|
408
|
+
├── core.yaml # Core Repository API → core_client
|
|
409
|
+
├── discovery.yaml # Discovery API → discovery_client
|
|
410
|
+
├── search.yaml # Search API → search_client
|
|
411
|
+
├── workflow.yaml # Workflow API → workflow_client
|
|
412
|
+
├── model.yaml # Model API → model_client
|
|
413
|
+
├── search_sql.yaml # Search SQL API → search_sql_client
|
|
414
|
+
├── general.yaml # Unified package → alfresco_client
|
|
415
|
+
└── README.md # Configuration documentation
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
**Example configuration** (`config/auth.yaml`):
|
|
419
|
+
|
|
420
|
+
```yaml
|
|
421
|
+
# Alfresco Auth API Client Configuration
|
|
422
|
+
class_overrides:
|
|
423
|
+
"Error": "AuthError"
|
|
424
|
+
"HTTPValidationError": "AuthValidationError"
|
|
425
|
+
|
|
426
|
+
project_name_override: "auth_client"
|
|
427
|
+
package_name_override: "auth_client"
|
|
428
|
+
|
|
429
|
+
field_constraints: true
|
|
430
|
+
use_annotated: true
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
**Usage**:
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
# Generate specific API client
|
|
437
|
+
openapi-python-client generate \
|
|
438
|
+
--path openapi/openapi3/alfresco-auth.yaml \
|
|
439
|
+
--config config/auth.yaml \
|
|
440
|
+
--output-path clients/auth_client
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**Note**: All generated package names use short, practical names instead of the default long names. See `config/README.md` for complete documentation and customization options.
|
|
444
|
+
|
|
445
|
+
## 🧪 Testing
|
|
446
|
+
|
|
447
|
+
### Run Tests
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
# Run all tests
|
|
451
|
+
pytest
|
|
452
|
+
|
|
453
|
+
# Run with coverage
|
|
454
|
+
pytest --cov=python_alfresco_api --cov-report=html
|
|
455
|
+
|
|
456
|
+
# Run specific test suites
|
|
457
|
+
pytest tests/test_current_architecture.py
|
|
458
|
+
pytest tests/test_enhanced_coverage.py
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### Live Integration Tests
|
|
462
|
+
|
|
463
|
+
To run tests against a live Alfresco server (tested with Community Edition 23.2.0 and Community Edition 25.1):
|
|
464
|
+
|
|
465
|
+
1. **Start Alfresco with Docker Compose**
|
|
466
|
+
|
|
467
|
+
```yaml
|
|
468
|
+
# docker-compose.yml - Community Edition (tested with 23.2.0 and 25.1)
|
|
469
|
+
version: '3.8'
|
|
470
|
+
services:
|
|
471
|
+
alfresco:
|
|
472
|
+
image: alfresco/alfresco-content-repository-community:23.2.0
|
|
473
|
+
# or: alfresco/alfresco-content-repository-community:25.1.0
|
|
474
|
+
ports:
|
|
475
|
+
- "8080:8080"
|
|
476
|
+
environment:
|
|
477
|
+
JAVA_OPTS: "-Xms1500m -Xmx1500m"
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
```bash
|
|
481
|
+
docker-compose up -d
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
2. **Run Integration Tests**
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
pytest tests/ -m integration
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Test Coverage
|
|
491
|
+
|
|
492
|
+
Current test coverage: **80%** of code lines tested with **106/106 tests passing** (100% success rate)
|
|
493
|
+
|
|
494
|
+
- **Core Components**: 80%+ test coverage
|
|
495
|
+
- **Pydantic Models**: 100% test coverage (1,400+ classes)
|
|
496
|
+
- **Live Integration**: 100% functional validation (tested with Community Edition 23.2.0 and 25.1)
|
|
497
|
+
- **Individual Clients**: 81% test coverage each
|
|
498
|
+
- **Authentication**: 81% test coverage
|
|
499
|
+
- **Client Factory**: 94% test coverage
|
|
500
|
+
- **Master Client**: 70% test coverage
|
|
501
|
+
|
|
502
|
+
### Test Runner Script
|
|
503
|
+
|
|
504
|
+
Use the convenient test runner for professional output:
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
# From project root
|
|
508
|
+
python run_tests.py
|
|
509
|
+
|
|
510
|
+
# From tests directory
|
|
511
|
+
cd tests && python ../run_tests.py
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
The test runner automatically detects your location and provides:
|
|
515
|
+
- Colored output and progress indicators
|
|
516
|
+
- Coverage reporting with visual display
|
|
517
|
+
- Live integration test status
|
|
518
|
+
- Performance metrics and timing
|
|
519
|
+
- Auto-adjusts working directory as needed
|
|
520
|
+
|
|
521
|
+
## 🔌 Event System
|
|
522
|
+
|
|
523
|
+
### ActiveMQ Integration (Community Edition)
|
|
524
|
+
|
|
525
|
+
```python
|
|
526
|
+
from python_alfresco_api.activemq_events import AlfrescoActiveMQEventClient
|
|
527
|
+
|
|
528
|
+
# Create event client
|
|
529
|
+
event_client = AlfrescoActiveMQEventClient(
|
|
530
|
+
activemq_host="localhost",
|
|
531
|
+
activemq_port=61616,
|
|
532
|
+
username="admin",
|
|
533
|
+
password="admin"
|
|
534
|
+
)
|
|
535
|
+
|
|
536
|
+
# Register event handler
|
|
537
|
+
async def node_created_handler(notification):
|
|
538
|
+
print(f"Node created: {notification.nodeId}")
|
|
539
|
+
|
|
540
|
+
event_client.register_event_handler("alfresco.node.created", node_created_handler)
|
|
541
|
+
|
|
542
|
+
# Start listening
|
|
543
|
+
await event_client.connect()
|
|
544
|
+
await event_client.start_listening()
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
### Event Gateway (Enterprise Edition)
|
|
548
|
+
|
|
549
|
+
```python
|
|
550
|
+
from python_alfresco_api.event_client import AlfrescoEventClient
|
|
551
|
+
|
|
552
|
+
# Unified event client (auto-detects available systems)
|
|
553
|
+
event_client = AlfrescoEventClient()
|
|
554
|
+
|
|
555
|
+
# Works with both Community (ActiveMQ) and Enterprise (Event Gateway)
|
|
556
|
+
await event_client.create_subscription("node-events")
|
|
557
|
+
await event_client.start_listening()
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
## 🤖 MCP Server / LLM Integration ([see python-alfresco-mcp-server](https://github.com/stevereiner/python-alfresco-mcp-server))
|
|
561
|
+
|
|
562
|
+
Perfect for Model Context Protocol (MCP) servers with FastMCP 2.0 and type-safe Pydantic v2 models:
|
|
563
|
+
|
|
564
|
+
### FastMCP 2.0 Server Example
|
|
565
|
+
|
|
566
|
+
```python
|
|
567
|
+
from fastmcp import FastMCP
|
|
568
|
+
from python_alfresco_api import ClientFactory
|
|
569
|
+
|
|
570
|
+
# Create MCP server with FastMCP 2.0
|
|
571
|
+
mcp = FastMCP("Alfresco Content Management")
|
|
572
|
+
|
|
573
|
+
# Initialize Alfresco client
|
|
574
|
+
factory = ClientFactory(
|
|
575
|
+
base_url="http://localhost:8080",
|
|
576
|
+
username="admin",
|
|
577
|
+
password="admin"
|
|
578
|
+
)
|
|
579
|
+
|
|
580
|
+
@mcp.tool()
|
|
581
|
+
def search_documents(query: str) -> str:
|
|
582
|
+
"""Search for documents in Alfresco"""
|
|
583
|
+
search_client = factory.create_search_client()
|
|
584
|
+
results = search_client.search({
|
|
585
|
+
"query": {"query": query, "language": "afts"},
|
|
586
|
+
"paging": {"maxItems": 10}
|
|
587
|
+
})
|
|
588
|
+
return f"Found {results.list.pagination.totalItems} documents"
|
|
589
|
+
|
|
590
|
+
@mcp.tool()
|
|
591
|
+
def get_repository_info() -> str:
|
|
592
|
+
"""Get Alfresco repository information"""
|
|
593
|
+
discovery_client = factory.create_discovery_client()
|
|
594
|
+
info = discovery_client.get_repository_info()
|
|
595
|
+
return f"Connected to {info.entry.repository.name} v{info.entry.repository.version.major}.{info.entry.repository.version.minor}"
|
|
596
|
+
|
|
597
|
+
if __name__ == "__main__":
|
|
598
|
+
mcp.run()
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
### Master Client with FastMCP 2.0
|
|
602
|
+
|
|
603
|
+
```python
|
|
604
|
+
from fastmcp import FastMCP
|
|
605
|
+
from python_alfresco_api import ClientFactory
|
|
606
|
+
|
|
607
|
+
mcp = FastMCP("Alfresco Master Client")
|
|
608
|
+
|
|
609
|
+
# Use master client for dot syntax access
|
|
610
|
+
master = ClientFactory(
|
|
611
|
+
base_url="http://localhost:8080",
|
|
612
|
+
username="admin",
|
|
613
|
+
password="admin"
|
|
614
|
+
).create_master_client()
|
|
615
|
+
|
|
616
|
+
@mcp.tool()
|
|
617
|
+
def list_root_nodes() -> str:
|
|
618
|
+
"""List root nodes in Alfresco"""
|
|
619
|
+
nodes = master.core.get_nodes()
|
|
620
|
+
return f"Found {len(nodes.list.entries)} root nodes"
|
|
621
|
+
|
|
622
|
+
@mcp.tool()
|
|
623
|
+
def search_content(query: str) -> str:
|
|
624
|
+
"""Search content with master client"""
|
|
625
|
+
results = master.search.search({
|
|
626
|
+
"query": {"query": query, "language": "afts"}
|
|
627
|
+
})
|
|
628
|
+
return f"Search returned {results.list.pagination.totalItems} results"
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
## 📁 Project Structure
|
|
632
|
+
|
|
633
|
+
```
|
|
634
|
+
python-alfresco-api/
|
|
635
|
+
├── python_alfresco_api/
|
|
636
|
+
│ ├── __init__.py # Main exports
|
|
637
|
+
│ ├── auth_util.py # Authentication utility
|
|
638
|
+
│ ├── client_factory.py # Client factory pattern
|
|
639
|
+
│ ├── master_client.py # Unified master client
|
|
640
|
+
│ ├── clients/ # Individual API clients
|
|
641
|
+
│ │ ├── auth_client.py
|
|
642
|
+
│ │ ├── core_client.py
|
|
643
|
+
│ │ ├── discovery_client.py
|
|
644
|
+
│ │ ├── search_client.py
|
|
645
|
+
│ │ ├── workflow_client.py
|
|
646
|
+
│ │ ├── model_client.py
|
|
647
|
+
│ │ └── search_sql_client.py
|
|
648
|
+
│ ├── models/ # Pydantic v2 models
|
|
649
|
+
│ │ ├── alfresco_auth_models.py
|
|
650
|
+
│ │ ├── alfresco_core_models.py
|
|
651
|
+
│ │ ├── alfresco_discovery_models.py
|
|
652
|
+
│ │ ├── alfresco_search_models.py
|
|
653
|
+
│ │ ├── alfresco_workflow_models.py
|
|
654
|
+
│ │ ├── alfresco_model_models.py
|
|
655
|
+
│ │ └── alfresco_search_sql_models.py
|
|
656
|
+
│ ├── raw_clients/ # Generated HTTP clients
|
|
657
|
+
│ └── events/ # Event system (Community + Enterprise)
|
|
658
|
+
│ ├── __init__.py # Event exports
|
|
659
|
+
│ ├── event_client.py # Unified event client (AlfrescoEventClient)
|
|
660
|
+
│ └── models.py # Event models (EventSubscription, EventNotification)
|
|
661
|
+
├── config/ # OpenAPI client configurations
|
|
662
|
+
│ ├── auth.yaml # Auth API config → auth_client
|
|
663
|
+
│ ├── core.yaml # Core API config → core_client
|
|
664
|
+
│ ├── discovery.yaml # Discovery API config → discovery_client
|
|
665
|
+
│ ├── search.yaml # Search API config → search_client
|
|
666
|
+
│ ├── workflow.yaml # Workflow API config → workflow_client
|
|
667
|
+
│ ├── model.yaml # Model API config → model_client
|
|
668
|
+
│ ├── search_sql.yaml # Search SQL API config → search_sql_client
|
|
669
|
+
│ ├── general.yaml # Unified config → alfresco_client
|
|
670
|
+
│ └── README.md # Configuration documentation
|
|
671
|
+
├── openapi/ # OpenAPI specifications (checked in)
|
|
672
|
+
│ ├── openapi2/ # Original OpenAPI 2.0 specs
|
|
673
|
+
│ ├── openapi2-processed/ # Cleaned OpenAPI 2.0 specs
|
|
674
|
+
│ └── openapi3/ # Converted OpenAPI 3.0 specs
|
|
675
|
+
├── tests/ # Comprehensive test suite
|
|
676
|
+
├── scripts/ # Generation scripts
|
|
677
|
+
├── docs/ # Documentation
|
|
678
|
+
├── examples/ # Usage examples
|
|
679
|
+
├── requirements.txt # Runtime dependencies
|
|
680
|
+
├── requirements-dev.txt # Development dependencies
|
|
681
|
+
├── run_tests.py # Test runner with nice display
|
|
682
|
+
└── README.md # This file
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
## 🔄 Development Workflow
|
|
686
|
+
|
|
687
|
+
### Standard Development (No Regeneration Needed)
|
|
688
|
+
|
|
689
|
+
For most development work, you can develop directly without regenerating code:
|
|
690
|
+
|
|
691
|
+
```bash
|
|
692
|
+
git clone https://github.com/your-org/python-alfresco-api.git
|
|
693
|
+
cd python-alfresco-api
|
|
694
|
+
|
|
695
|
+
# Install with all development dependencies (RECOMMENDED)
|
|
696
|
+
pip install -e .[dev]
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
**All OpenAPI specifications are checked in** - you can develop immediately:
|
|
700
|
+
- `openapi/openapi2/` - Original specifications
|
|
701
|
+
- `openapi/openapi2-processed/` - Processed specifications
|
|
702
|
+
- `openapi/openapi3/` - OpenAPI 3.0 specifications
|
|
703
|
+
|
|
704
|
+
### Development Tasks
|
|
705
|
+
|
|
706
|
+
```bash
|
|
707
|
+
# Run tests with nice display
|
|
708
|
+
python run_tests.py
|
|
709
|
+
|
|
710
|
+
# Run specific test suites
|
|
711
|
+
pytest tests/test_current_architecture.py
|
|
712
|
+
pytest tests/test_enhanced_coverage.py
|
|
713
|
+
|
|
714
|
+
# Format code
|
|
715
|
+
black python_alfresco_api/
|
|
716
|
+
isort python_alfresco_api/
|
|
717
|
+
|
|
718
|
+
# Type checking
|
|
719
|
+
mypy python_alfresco_api/
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
### Making Changes
|
|
723
|
+
|
|
724
|
+
1. **Modify existing code** - No regeneration needed
|
|
725
|
+
2. **Add new features** - Work with existing generated clients
|
|
726
|
+
3. **Update documentation** - Edit docs/ and examples/
|
|
727
|
+
4. **Add tests** - Extend the test suite
|
|
728
|
+
|
|
729
|
+
### Code Regeneration (Only When Needed)
|
|
730
|
+
|
|
731
|
+
**Only regenerate when updating OpenAPI specifications:**
|
|
732
|
+
|
|
733
|
+
```bash
|
|
734
|
+
# Update OpenAPI specs in openapi/openapi2/
|
|
735
|
+
# Then regenerate
|
|
736
|
+
python scripts/generate_hybrid_pipeline.py
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
## 📋 Requirements
|
|
740
|
+
|
|
741
|
+
### Runtime Requirements
|
|
742
|
+
|
|
743
|
+
- **Python**: 3.8+
|
|
744
|
+
- **pydantic**: >=2.0.0,<3.0.0
|
|
745
|
+
- **requests**: >=2.31.0
|
|
746
|
+
- **httpx**: >=0.24.0 (for async support)
|
|
747
|
+
- **aiohttp**: >=3.8.0 (for async HTTP)
|
|
748
|
+
|
|
749
|
+
### Optional Dependencies
|
|
750
|
+
|
|
751
|
+
- **stomp.py**: >=8.1.0 (for ActiveMQ events)
|
|
752
|
+
- **ujson**: >=5.7.0 (faster JSON parsing)
|
|
753
|
+
- **requests-oauthlib**: >=1.3.0 (OAuth support)
|
|
754
|
+
|
|
755
|
+
### Development Requirements
|
|
756
|
+
|
|
757
|
+
### Code Rebuild/Regeneration Requirements
|
|
758
|
+
|
|
759
|
+
- **datamodel-code-generator**: >=0.21.0
|
|
760
|
+
- **openapi-python-client**: >=0.15.0
|
|
761
|
+
- **pytest**: >=7.4.0
|
|
762
|
+
- **black**: >=23.0.0
|
|
763
|
+
- **mypy**: >=1.5.0
|
|
764
|
+
|
|
765
|
+
## 🤝 Contributing
|
|
766
|
+
|
|
767
|
+
1. Fork the repository
|
|
768
|
+
2. Create a feature branch
|
|
769
|
+
3. Make your changes
|
|
770
|
+
4. Run tests: `pytest`
|
|
771
|
+
5. Submit a pull request
|
|
772
|
+
|
|
773
|
+
## 📄 License
|
|
774
|
+
|
|
775
|
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
|
776
|
+
|
|
777
|
+
## 🆘 Support
|
|
778
|
+
|
|
779
|
+
- **Issues**: [GitHub Issues](https://github.com/stevereiner/python-alfresco-api/issues)
|
|
780
|
+
- **Documentation**: [Project Documentation](docs/)
|
|
781
|
+
- **Examples**: [Usage Examples](examples/)
|
|
782
|
+
|
|
783
|
+
## 🔗 Related Projects
|
|
784
|
+
|
|
785
|
+
- **Model Context Protocol (MCP)**: [MCP Documentation](https://modelcontextprotocol.io/docs) - Standard for AI-data source integration
|
|
786
|
+
- **Alfresco Community Edition**: [Community Documentation](https://support.hyland.com/r/Alfresco/Alfresco-Content-Services-Community-Edition/25.1/Alfresco-Content-Services-Community-Edition/Introduction)
|
|
787
|
+
- **Alfresco Enterprise Edition**: [Enterprise Documentation](https://support.hyland.com/r/Alfresco/Alfresco-Content-Services/25.1/Alfresco-Content-Services/Introduction)
|
|
788
|
+
- **Pydantic**: [Type validation library](https://pydantic.dev/)
|
|
789
|
+
- **datamodel-code-generator**: [Pydantic model generator](https://github.com/koxudaxi/datamodel-code-generator)
|
|
790
|
+
- **openapi-python-client**: [HTTP client generator](https://github.com/openapi-generators/openapi-python-client)
|
|
791
|
+
|
|
792
|
+
## ⭐ Star History
|
|
793
|
+
|
|
794
|
+
If this project helps you, please consider giving it a star! ⭐
|
|
795
|
+
|