···
22
+
opentelemetry-exporter-otlp-proto-http,
42
+
writableTmpDirAsHomeHook,
45
+
buildPythonPackage rec {
47
+
version = "0.175.0";
50
+
src = fetchFromGitHub {
51
+
owner = "crewAIInc";
54
+
hash = "sha256-F1hw8MTQDA6eW9Rw+MdV3hJHiTuj1SHwu2c39KirPnI=";
57
+
build-system = [ hatchling ];
80
+
opentelemetry-exporter-otlp-proto-http
96
+
pythonImportsCheck = [ "crewai" ];
98
+
disabledTestPaths = [
99
+
# Ignore tests that require {mem0, chromadb, telemetry, security, test_agent}
100
+
"tests/memory/test_external_memory.py" # require mem0ai
101
+
"tests/storage/test_mem0_storage.py" # require mem0ai
102
+
"tests/cli/test_git.py" # require git
103
+
"tests/memory/test_short_term_memory.py" # require require API keys
104
+
"tests/test_crew.py" # require require API keys
105
+
"tests/rag/chromadb/test_client.py" # issue with chromadb
106
+
"tests/telemetry/test_telemetry.py" # telemetry need network access
111
+
"test_valid_action_parsing_with_special_characters"
113
+
# Tests agent - require API keys (OpenAI, Anthropic, etc)
114
+
"test_agent_execution_with_tools"
116
+
"test_agent_repeated_tool_usage"
117
+
"test_agent_execute_task_basic"
118
+
"test_agent_execution"
119
+
"test_ensure_first_task_allow_crewai_trigger_context_is_false_does_not_inject"
120
+
"test_agent_use_specific_tasks_output_as_context"
121
+
"test_task_allow_crewai_trigger_context"
122
+
"test_agent_with_only_crewai_knowledge"
123
+
"test_logging_tool_usage"
124
+
"test_agent_execute_task_with_context"
125
+
"test_agent_repeated_tool_usage_check_even_with_disabled_cache"
126
+
"test_agent_step_callback"
127
+
"test_handle_context_length_exceeds_limit_cli_no"
128
+
"test_task_without_allow_crewai_trigger_context"
129
+
"test_cache_hitting"
130
+
"test_agent_knowledege_with_crewai_knowledge"
131
+
"test_agent_execute_task_with_tool"
132
+
"test_agent_moved_on_after_max_iterations"
133
+
"test_agent_function_calling_llm"
134
+
"test_task_allow_crewai_trigger_context_no_payload"
135
+
"test_disabling_cache_for_agent"
136
+
"test_do_not_allow_crewai_trigger_context_for_first_task_hierarchical"
137
+
"test_tool_result_as_answer_is_the_final_answer_for_the_agent"
138
+
"test_agent_execute_task_with_ollama"
139
+
"test_agent_with_knowledge_sources"
140
+
"test_agent_respect_the_max_rpm_set"
141
+
"test_agent_execution_with_specific_tools"
142
+
"test_llm_call_with_ollama_llama3"
143
+
"test_first_task_auto_inject_trigger"
144
+
"test_agent_respect_the_max_rpm_set_over_crew_rpm"
145
+
"test_agent_powered_by_new_o_model_family_that_allows_skipping_tool"
146
+
"test_agent_with_knowledge_with_no_crewai_knowledge"
147
+
"test_tool_usage_information_is_appended_to_agent"
148
+
"test_agent_without_max_rpm_respects_crew_rpm"
149
+
"test_agent_powered_by_new_o_model_family_that_uses_tool"
150
+
"test_agent_error_on_parsing_tool"
151
+
"test_agent_custom_max_iterations"
152
+
"test_agent_remembers_output_format_after_using_tools_too_many_times"
153
+
"test_llm_call_with_all_attributes"
154
+
"test_agent_execute_task_with_custom_llm"
155
+
"test_agent_with_ollama_llama3"
156
+
"test_custom_llm_with_langchain"
157
+
"test_custom_llm_temperature_preservation"
158
+
"test_agent_from_repository_override_attributes"
159
+
"test_agent_from_repository_with_invalid_tools"
160
+
"test_get_knowledge_search_query"
161
+
"test_agent_from_repository"
163
+
# Tests lite agent - require API keys
164
+
"test_guardrail_is_called_using_callable"
165
+
"test_lite_agent_created_with_correct_parameters"
166
+
"test_guardrail_reached_attempt_limit"
167
+
"test_agent_output_when_guardrail_returns_base_model"
168
+
"test_lite_agent_with_tools"
169
+
"test_lite_agent_structured_output"
170
+
"test_lite_agent_returns_usage_metrics"
171
+
"test_guardrail_is_called_using_string"
173
+
# Tests evaluation - require API keys
174
+
"test_evaluate_current_iteration"
175
+
"test_eval_lite_agent"
176
+
"test_eval_specific_agents_from_crew"
177
+
"test_failed_evaluation"
179
+
# Tests knowledge - missing optional dependencies (docling, embedchain, pandas)
180
+
"test_docling_source"
181
+
"test_multiple_docling_sources"
182
+
"test_excel_knowledge_source"
185
+
"test_telemetry_fails_due_connect_timeout"
188
+
"test_task_tools_override_agent_tools"
189
+
"test_crew_output_file_end_to_end"
190
+
"test_conditional_task_last_task_when_conditional_is_true"
191
+
"test_crew_with_failing_task_guardrails"
192
+
"test_kickoff_for_each_single_input"
193
+
"test_hierarchical_verbose_manager_agent"
194
+
"test_crew_function_calling_llm"
195
+
"test_replay_interpolates_inputs_properly"
196
+
"test_manager_agent_delegating_to_all_agents"
197
+
"test_crew_does_not_interpolate_without_inputs"
198
+
"test_crew_creation"
199
+
"test_delegation_is_not_enabled_if_there_are_only_one_agent"
200
+
"test_tools_with_custom_caching"
201
+
"test_api_calls_throttling"
202
+
"test_multimodal_agent_describing_image_successfully"
203
+
"test_warning_long_term_memory_without_entity_memory"
204
+
"test_replay_with_context"
205
+
"test_crew_verbose_output"
206
+
"test_before_kickoff_callback"
207
+
"test_hierarchical_verbose_false_manager_agent"
208
+
"test_task_with_no_arguments"
209
+
"test_replay_setup_context"
210
+
"test_kickoff_for_each_multiple_inputs"
211
+
"test_conditional_task_last_task_when_conditional_is_false"
212
+
"test_crew_with_delegating_agents"
213
+
"test_agents_do_not_get_delegation_tools_with_there_is_only_one_agent"
214
+
"test_multimodal_agent_live_image_analysis"
215
+
"test_hierarchical_process"
216
+
"test_crew_kickoff_usage_metrics"
217
+
"test_disabled_memory_using_contextual_memory"
218
+
"test_ensure_exchanged_messages_are_propagated_to_external_memory"
219
+
"test_agent_usage_metrics_are_captured_for_hierarchical_process"
220
+
"test_crew_log_file_output"
221
+
"test_before_kickoff_without_inputs"
222
+
"test_cache_hitting_between_agents"
223
+
"test_crew_kickoff_streaming_usage_metrics"
224
+
"test_async_crews_thread_safety"
225
+
"test_valid_action_parsing_with_unbalanced_quotes"
226
+
"test_valid_action_parsing_with_angle_brackets"
227
+
"test_valid_action_parsing_with_mixed_quotes"
228
+
"test_valid_action_parsing_with_parentheses"
229
+
"test_parsing_with_whitespace"
230
+
"test_valid_action_parsing_special_characters"
231
+
"test_parsing_with_special_characters"
232
+
"test_valid_action_parsing_with_newlines"
233
+
"test_valid_action_parsing_with_nested_quotes"
234
+
"test_valid_action_parsing_with_quotes"
235
+
"test_valid_action_parsing_with_escaped_characters"
238
+
# Tests LLM - require API keys
239
+
"test_llm_callback_replacement"
240
+
"test_gemini_models"
241
+
"test_llm_call_with_message_list"
243
+
"test_o3_mini_reasoning_effort_low"
244
+
"test_handle_streaming_tool_calls"
245
+
"test_llm_call_with_string_input"
246
+
"test_llm_call_with_tool_and_string_input"
247
+
"test_llm_call_with_string_input_and_callbacks"
248
+
"test_llm_call_when_stop_is_unsupported"
249
+
"test_handle_streaming_tool_calls_with_error"
250
+
"test_o3_mini_reasoning_effort_medium"
251
+
"test_llm_call_with_tool_and_message_list"
253
+
"test_llm_call_when_stop_is_unsupported_when_additional_drop_params_is_provided"
254
+
"test_o3_mini_reasoning_effort_high"
255
+
"test_handle_streaming_tool_calls_no_available_functions"
256
+
"test_handle_streaming_tool_calls_no_tools"
258
+
# Test main - require git
259
+
"test_publish_when_not_in_sync"
261
+
# Tests project - require embedchain and API keys
262
+
"test_before_kickoff_modification"
263
+
"test_before_kickoff_with_none_input"
264
+
"test_multiple_before_after_kickoff"
265
+
"test_after_kickoff_modification"
266
+
"test_internal_crew_with_mcp"
268
+
# Tests task - require API keys
269
+
"test_output_json_hierarchical"
270
+
"test_output_pydantic_sequential"
271
+
"test_no_inject_date"
272
+
"test_increment_tool_errors"
273
+
"test_task_execution_times"
274
+
"test_custom_converter_cls"
275
+
"test_save_task_output"
277
+
"test_output_pydantic_hierarchical"
278
+
"test_json_property_without_output_json"
279
+
"test_task_interpolation_with_hyphens"
280
+
"test_increment_delegations_for_hierarchical_process"
281
+
"test_save_task_json_output"
282
+
"test_output_pydantic_to_another_task"
283
+
"test_output_json_dict_sequential"
284
+
"test_inject_date_custom_format"
285
+
"test_output_json_sequential"
286
+
"test_output_json_to_another_task"
287
+
"test_increment_delegations_for_sequential_process"
288
+
"test_save_task_pydantic_output"
289
+
"test_output_json_dict_hierarchical"
290
+
"test_task_with_max_execution_time"
291
+
"test_task_with_max_execution_time_exceeded"
293
+
# Tests task guardrails
294
+
"test_task_guardrail_process_output"
295
+
"test_guardrail_when_an_error_occurs"
296
+
"test_guardrail_emits_events"
299
+
"test_delegate_work"
300
+
"test_delegate_work_with_wrong_co_worker_variable"
301
+
"test_ask_question_with_wrong_co_worker_variable"
302
+
"test_ask_question"
303
+
"test_delegate_work_withwith_coworker_as_array"
304
+
"test_ask_question_with_coworker_as_array"
305
+
"test_max_usage_count_is_respected"
306
+
"test_async_tool_using_within_isolated_crew"
307
+
"test_async_tool_using_decorator_within_flow"
308
+
"test_async_tool_using_decorator_within_isolated_crew"
309
+
"test_async_tool_within_flow"
313
+
"test_trace_listener_disabled_when_env_false"
314
+
"test_trace_listener_with_authenticated_user"
315
+
"test_trace_listener_collects_crew_events"
316
+
"test_trace_listener_ephemeral_batch"
317
+
"test_events_collection_batch_manager"
320
+
"test_converter_with_llama3_2_model"
321
+
"test_converter_with_llama3_1_model"
322
+
"test_converter_with_nested_model"
323
+
"test_convert_with_instructions"
324
+
"test_crew_emits_start_kickoff_event"
325
+
"test_crew_emits_test_kickoff_type_event"
326
+
"test_crew_emits_start_task_event"
327
+
"test_llm_emits_call_started_event"
328
+
"test_register_handler_adds_new_handler"
329
+
"test_multiple_handlers_for_same_event"
330
+
"test_llm_emits_event_with_lite_agent"
331
+
"test_tools_emits_finished_events"
332
+
"test_agent_emits_execution_started_and_completed_events"
333
+
"test_crew_emits_end_kickoff_event"
334
+
"test_llm_emits_stream_chunk_events"
335
+
"test_tools_emits_error_events"
336
+
"test_crew_emits_end_task_event"
337
+
"test_stream_llm_emits_event_with_task_and_agent_info"
338
+
"test_llm_no_stream_chunks_when_streaming_disabled"
339
+
"test_llm_emits_event_with_task_and_agent_info"
342
+
"test_acreate_collection"
343
+
"test_aget_or_create_collection_wrong_client_type"
344
+
"test_aadd_documents_empty_list"
345
+
"test_acreate_collection_already_exists"
346
+
"test_aget_or_create_collection_existing"
347
+
"test_aadd_documents_collection_not_exists"
348
+
"test_acreate_collection_wrong_client_type"
349
+
"test_aadd_documents"
350
+
"test_aadd_documents_wrong_client_type"
352
+
"test_adelete_collection_not_exists"
353
+
"test_asearch_with_filters"
354
+
"test_adelete_collection_wrong_client_type"
355
+
"test_asearch_collection_not_exists"
357
+
"test_areset_no_collections"
358
+
"test_aget_or_create_collection_new"
359
+
"test_aadd_documents_with_doc_id"
360
+
"test_asearch_wrong_client_type"
361
+
"test_areset_wrong_client_type"
362
+
"test_adelete_collection"
365
+
nativeCheckInputs = [
370
+
writableTmpDirAsHomeHook
373
+
versionCheckProgramArg = "--version";
376
+
description = "Framework for orchestrating role-playing, autonomous AI agents";
377
+
homepage = "https://github.com/crewAIInc/crewAI";
378
+
changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${version}";
379
+
license = lib.licenses.mit;
380
+
maintainers = with lib.maintainers; [ liberodark ];
381
+
platforms = lib.platforms.linux;
382
+
mainProgram = "crewai";