Loading pkgs/development/python-modules/crewai/default.nix +85 −8 Original line number Diff line number Diff line Loading @@ -35,28 +35,47 @@ uv, # tests pytestCheckHook, a2a-sdk, aiocache, anthropic, boto3, google-genai, pytest-asyncio, pytest-recording, pytest-xdist, pytestCheckHook, qdrant-client, vcrpy, versionCheckHook, writableTmpDirAsHomeHook, }: buildPythonPackage rec { buildPythonPackage (finalAttrs: { pname = "crewai"; version = "1.8.1"; version = "1.9.3"; pyproject = true; src = fetchFromGitHub { owner = "crewAIInc"; repo = "crewAI"; tag = version; hash = "sha256-MQx1FOh2bwbkDbvR6aP5z071xwbGT8bxK9OjhskdVyI="; tag = finalAttrs.version; hash = "sha256-bhpmR8sGDTjHw9JBa5oz4vHEF3gJT/fvvoCvPfYkJEQ="; }; sourceRoot = "${src.name}/lib/crewai"; postPatch = '' substituteInPlace ../../conftest.py \ --replace-fail \ "import vcr.stubs.httpx_stubs as httpx_stubs" \ "import vcr.stubs.httpcore_stubs as httpx_stubs" \ --replace-fail \ "def _patched_make_vcr_request(httpx_request: Any, **kwargs: Any) -> Any:" \ "def _patched_make_vcr_request(httpx_request: Any, request_body: Any = None, **kwargs: Any) -> Any:" \ --replace-fail \ "raw_body = httpx_request.read()" \ "raw_body = request_body if request_body is not None else httpx_request.read()" ''; sourceRoot = "${finalAttrs.src.name}/lib/crewai"; build-system = [ hatchling ]; Loading Loading @@ -148,6 +167,16 @@ buildPythonPackage rec { # Tests requiring crewai-tools "tests/agents/test_lite_agent.py" # Tests requiring crewai-files "tests/llms/test_multimodal.py" "tests/llms/test_multimodal_integration.py" "tests/test_agent_multimodal.py" "tests/test_crew_multimodal.py" "tests/test_flow_multimodal.py" "tests/tools/agent_tools/test_read_file_tool.py" "tests/utilities/test_file_store.py" "tests/utilities/test_files.py" ]; disabledTests = [ Loading Loading @@ -425,16 +454,64 @@ buildPythonPackage rec { "test_supports_function_calling_false" # Tests requiring network "test_agent_events_have_event_ids" "test_agent_kickoff_async_delegates_to_a2a" "test_agent_kickoff_returns_lite_agent_output" "test_agent_kickoff_with_failed_a2a_endpoint" "test_agent_max_iterations_stops_loop" "test_agent_without_a2a_works_normally" "test_agent_without_tools_no_thought_in_output" "test_anthropic_agent_with_native_tool_calling" "test_anthropic_streaming_emits_tool_call_events" "test_crew_completed_after_started" "test_crew_events_have_event_ids" "test_crew_memory_with_google_vertex_embedder" "test_crew_parent_is_method" "test_fetch_agent_card" "test_flow_events_have_ids" "test_gemini_agent_with_native_tool_calling" "test_gemini_streaming_emits_tool_call_events" "test_gemini_streaming_multiple_tool_calls_unique_ids" "test_llm_events_have_parent" "test_max_usage_count_limit_enforced_in_native_tool_calling" "test_max_usage_count_tracked_in_native_tool_calling" "test_method_parent_is_flow" "test_native_tool_calling_error_handling" "test_openai_agent_with_native_tool_calling" "test_openai_native_tool_calling_token_usage" "test_openai_streaming_emits_tool_call_events" "test_polling_completes_task" "test_second_crew_after_first" "test_send_message_and_get_response" "test_simple_task_clean_output" "test_streaming_completes_task" "test_streaming_distinguishes_text_and_tool_calls" "test_task_output_includes_messages" "test_task_parent_is_crew" "test_tasks_have_correct_crew_parents" "test_tool_call_event_accumulates_arguments" "test_tool_call_events_have_consistent_tool_id" "test_tool_usage_increments_after_successful_execution" "test_two_crews_have_different_ids" # Not work with nixpkgs-review "test_concurrent_ainvoke_calls" # Tests requiring missing dependency azure-ai-inference "test_azure_agent_with_native_tool_calling" "test_azure_agent_kickoff_with_tools_mocked" "test_azure_streaming_emits_tool_call_events" ]; nativeCheckInputs = [ a2a-sdk aiocache anthropic boto3 google-genai pytestCheckHook pytest-asyncio pytest-recording pytest-xdist qdrant-client vcrpy Loading @@ -449,10 +526,10 @@ buildPythonPackage rec { meta = { description = "Framework for orchestrating role-playing, autonomous AI agents"; homepage = "https://github.com/crewAIInc/crewAI"; changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${src.tag}"; changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ liberodark ]; platforms = lib.platforms.linux; mainProgram = "crewai"; }; } }) pkgs/development/python-modules/instructor/default.nix +11 −6 Original line number Diff line number Diff line Loading @@ -24,22 +24,23 @@ fastapi, google-genai, google-generativeai, jsonref, pytest-asyncio, pytestCheckHook, python-dotenv, redis, }: buildPythonPackage rec { buildPythonPackage (finalAttrs: { pname = "instructor"; version = "1.14.4"; version = "1.14.5"; pyproject = true; src = fetchFromGitHub { owner = "jxnl"; repo = "instructor"; tag = "v${version}"; hash = "sha256-6NYS6nY9phIY9fWEp0X3fC90uFedaot2xzZynzGnZSE="; tag = "v${finalAttrs.version}"; hash = "sha256-MxFHCjtIUESuvDkNvEEcZdWXTLAxGFH9ZJ1wx8E4N14="; }; build-system = [ hatchling ]; Loading Loading @@ -69,6 +70,7 @@ buildPythonPackage rec { fastapi google-genai google-generativeai jsonref pytest-asyncio pytestCheckHook python-dotenv Loading @@ -84,6 +86,9 @@ buildPythonPackage rec { "test_partial" "test_provider_invalid_type_raises_error" # instructor.core.exceptions.ConfigurationError: response_model must be a Pydantic BaseModel subclass, got type "test_openai_schema_raises_error" # Requires unpackaged `vertexai` "test_json_preserves_description_of_non_english_characters_in_json_mode" Loading Loading @@ -113,9 +118,9 @@ buildPythonPackage rec { meta = { description = "Structured outputs for llm"; homepage = "https://github.com/jxnl/instructor"; changelog = "https://github.com/jxnl/instructor/releases/tag/${src.tag}"; changelog = "https://github.com/jxnl/instructor/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ mic92 ]; mainProgram = "instructor"; }; } }) Loading
pkgs/development/python-modules/crewai/default.nix +85 −8 Original line number Diff line number Diff line Loading @@ -35,28 +35,47 @@ uv, # tests pytestCheckHook, a2a-sdk, aiocache, anthropic, boto3, google-genai, pytest-asyncio, pytest-recording, pytest-xdist, pytestCheckHook, qdrant-client, vcrpy, versionCheckHook, writableTmpDirAsHomeHook, }: buildPythonPackage rec { buildPythonPackage (finalAttrs: { pname = "crewai"; version = "1.8.1"; version = "1.9.3"; pyproject = true; src = fetchFromGitHub { owner = "crewAIInc"; repo = "crewAI"; tag = version; hash = "sha256-MQx1FOh2bwbkDbvR6aP5z071xwbGT8bxK9OjhskdVyI="; tag = finalAttrs.version; hash = "sha256-bhpmR8sGDTjHw9JBa5oz4vHEF3gJT/fvvoCvPfYkJEQ="; }; sourceRoot = "${src.name}/lib/crewai"; postPatch = '' substituteInPlace ../../conftest.py \ --replace-fail \ "import vcr.stubs.httpx_stubs as httpx_stubs" \ "import vcr.stubs.httpcore_stubs as httpx_stubs" \ --replace-fail \ "def _patched_make_vcr_request(httpx_request: Any, **kwargs: Any) -> Any:" \ "def _patched_make_vcr_request(httpx_request: Any, request_body: Any = None, **kwargs: Any) -> Any:" \ --replace-fail \ "raw_body = httpx_request.read()" \ "raw_body = request_body if request_body is not None else httpx_request.read()" ''; sourceRoot = "${finalAttrs.src.name}/lib/crewai"; build-system = [ hatchling ]; Loading Loading @@ -148,6 +167,16 @@ buildPythonPackage rec { # Tests requiring crewai-tools "tests/agents/test_lite_agent.py" # Tests requiring crewai-files "tests/llms/test_multimodal.py" "tests/llms/test_multimodal_integration.py" "tests/test_agent_multimodal.py" "tests/test_crew_multimodal.py" "tests/test_flow_multimodal.py" "tests/tools/agent_tools/test_read_file_tool.py" "tests/utilities/test_file_store.py" "tests/utilities/test_files.py" ]; disabledTests = [ Loading Loading @@ -425,16 +454,64 @@ buildPythonPackage rec { "test_supports_function_calling_false" # Tests requiring network "test_agent_events_have_event_ids" "test_agent_kickoff_async_delegates_to_a2a" "test_agent_kickoff_returns_lite_agent_output" "test_agent_kickoff_with_failed_a2a_endpoint" "test_agent_max_iterations_stops_loop" "test_agent_without_a2a_works_normally" "test_agent_without_tools_no_thought_in_output" "test_anthropic_agent_with_native_tool_calling" "test_anthropic_streaming_emits_tool_call_events" "test_crew_completed_after_started" "test_crew_events_have_event_ids" "test_crew_memory_with_google_vertex_embedder" "test_crew_parent_is_method" "test_fetch_agent_card" "test_flow_events_have_ids" "test_gemini_agent_with_native_tool_calling" "test_gemini_streaming_emits_tool_call_events" "test_gemini_streaming_multiple_tool_calls_unique_ids" "test_llm_events_have_parent" "test_max_usage_count_limit_enforced_in_native_tool_calling" "test_max_usage_count_tracked_in_native_tool_calling" "test_method_parent_is_flow" "test_native_tool_calling_error_handling" "test_openai_agent_with_native_tool_calling" "test_openai_native_tool_calling_token_usage" "test_openai_streaming_emits_tool_call_events" "test_polling_completes_task" "test_second_crew_after_first" "test_send_message_and_get_response" "test_simple_task_clean_output" "test_streaming_completes_task" "test_streaming_distinguishes_text_and_tool_calls" "test_task_output_includes_messages" "test_task_parent_is_crew" "test_tasks_have_correct_crew_parents" "test_tool_call_event_accumulates_arguments" "test_tool_call_events_have_consistent_tool_id" "test_tool_usage_increments_after_successful_execution" "test_two_crews_have_different_ids" # Not work with nixpkgs-review "test_concurrent_ainvoke_calls" # Tests requiring missing dependency azure-ai-inference "test_azure_agent_with_native_tool_calling" "test_azure_agent_kickoff_with_tools_mocked" "test_azure_streaming_emits_tool_call_events" ]; nativeCheckInputs = [ a2a-sdk aiocache anthropic boto3 google-genai pytestCheckHook pytest-asyncio pytest-recording pytest-xdist qdrant-client vcrpy Loading @@ -449,10 +526,10 @@ buildPythonPackage rec { meta = { description = "Framework for orchestrating role-playing, autonomous AI agents"; homepage = "https://github.com/crewAIInc/crewAI"; changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${src.tag}"; changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ liberodark ]; platforms = lib.platforms.linux; mainProgram = "crewai"; }; } })
pkgs/development/python-modules/instructor/default.nix +11 −6 Original line number Diff line number Diff line Loading @@ -24,22 +24,23 @@ fastapi, google-genai, google-generativeai, jsonref, pytest-asyncio, pytestCheckHook, python-dotenv, redis, }: buildPythonPackage rec { buildPythonPackage (finalAttrs: { pname = "instructor"; version = "1.14.4"; version = "1.14.5"; pyproject = true; src = fetchFromGitHub { owner = "jxnl"; repo = "instructor"; tag = "v${version}"; hash = "sha256-6NYS6nY9phIY9fWEp0X3fC90uFedaot2xzZynzGnZSE="; tag = "v${finalAttrs.version}"; hash = "sha256-MxFHCjtIUESuvDkNvEEcZdWXTLAxGFH9ZJ1wx8E4N14="; }; build-system = [ hatchling ]; Loading Loading @@ -69,6 +70,7 @@ buildPythonPackage rec { fastapi google-genai google-generativeai jsonref pytest-asyncio pytestCheckHook python-dotenv Loading @@ -84,6 +86,9 @@ buildPythonPackage rec { "test_partial" "test_provider_invalid_type_raises_error" # instructor.core.exceptions.ConfigurationError: response_model must be a Pydantic BaseModel subclass, got type "test_openai_schema_raises_error" # Requires unpackaged `vertexai` "test_json_preserves_description_of_non_english_characters_in_json_mode" Loading Loading @@ -113,9 +118,9 @@ buildPythonPackage rec { meta = { description = "Structured outputs for llm"; homepage = "https://github.com/jxnl/instructor"; changelog = "https://github.com/jxnl/instructor/releases/tag/${src.tag}"; changelog = "https://github.com/jxnl/instructor/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ mic92 ]; mainProgram = "instructor"; }; } })