Code QL, when configured through the GUI, does not allow for advanced configuration. This PR upgrades from an advanced file-based config which allows us to exclude certain paths.
- Build and cache uv dependencies; update type-checker, tests, and linter to use cache
- Remove separate security-checker
- Add explicit workflow permissions for compliance
- Remove pull_request trigger from build-cache workflow
* fix: suppress Pydantic deprecation warnings in initialization
- Implemented a function to filter out Pydantic deprecation warnings, enhancing the user experience by preventing unnecessary warning messages during execution.
- Removed the previous warning filter setup to streamline the warning suppression process.
- Updated the User-Agent header formatting for consistency.
* fix type check
* dropped
* fix: update type-checker workflow and suppress warnings
- Updated the Python version matrix in the type-checker workflow to use double quotes for consistency.
- Added the `# type: ignore[assignment]` comment to the warning suppression assignment in `__init__.py` to address type checking issues.
- Ensured that the mypy command in the workflow allows for untyped calls and generics, enhancing type checking flexibility.
* better
chore(dev): update tooling & CI workflows
- Upgrade ruff, mypy (strict), pre-commit; add hooks, stubs, config consolidation
- Add bandit to dev deps and update uv.lock
- Enhance ruff rules (modern Python style, B006 for mutable defaults)
- Update workflows to use uv, matrix strategy, and changed-file type checking
- Include tests in type checking; fix job names and add summary job for branch protection
- Add pytest-xdist and pytest-split to dev dependencies for parallel test execution
- Split tests into 8 parallel groups per Python version for better distribution
- Enable CPU-level parallelization with -n auto to maximize resource usage
- Add fail-fast strategy and maxfail=3 to stop early on failures
- Add job name to match branch protection rules
- Reduce test timeout from default to 30s for faster failure detection
- Remove redundant cache configuration
* feat: add capability to see and expose public Tool classes
* feat: persist available Tools from repository on publish
* ci: ignore explictly templates from ruff check
Ruff only applies --exclude to files it discovers itself. So we have to skip manually the same files excluded from `ruff.toml`
* sytle: fix linter issues
* refactor: renaming available_tools_classes by available_exports
* feat: provide more context about exportable tools
* feat: allow to install a Tool from pypi
* test: fix tests
* feat: add env_vars attribute to BaseTool
* remove TODO: security check since we are handle that on enterprise side
* ci: support python 3.13 on CI
* docs: update docs about support python version
* build: adds requires python <3.14
* build: explicit tokenizers dependency
Added explicit tokenizers dependency: Added tokenizers>=0.20.3 to ensure a version compatible with Python 3.13 is used.
* build: drop fastembed is not longer used
* build: attempt to build PyTorch on Python 3.13
* feat: upgrade fastavro, pyarrow and lancedb
* build: ensure tiktoken greather than 0.8.0 due Python 3.13 compatibility
* build(dev): add pytest-randomly dependency
By randomizing the test execution order, this helps identify tests
that unintentionally depend on shared state or specific execution
order, which can lead to flaky or unreliable test behavior.
* build(dev): add pytest-timeout
This will prevent a test from running indefinitely
* test: block external requests in CI and set default 10s timeout per test
* test: adding missing cassettes
We notice that those cassettes are missing after enabling block-network on CI
* test: increase tests timeout on CI
* test: fix flaky test ValueError: Circular reference detected (id repeated)
* fix: prevent crash when event handler raises exception
Previously, if a registered event handler raised an exception during execution,
it could crash the entire application or interrupt the event dispatch process.
This change wraps handler execution in a try/except block within the `emit` method,
ensuring that exceptions are caught and logged without affecting other handlers or flow.
This improves the resilience of the event bus, especially when handling third-party
or temporary listeners.
* drop 3.13
* revert
* Drop test cassette that was causing error
* trying to fix failing test
* adding thiago changes
* resolve final tests
* Drop skip
* initial knowledge
* WIP
* Adding core knowledge sources
* Improve types and better support for file paths
* added additional sources
* fix linting
* update yaml to include optional deps
* adding in lorenze feedback
* ensure embeddings are persisted
* improvements all around Knowledge class
* return this
* properly reset memory
* properly reset memory+knowledge
* consolodation and improvements
* linted
* cleanup rm unused embedder
* fix test
* fix duplicate
* generating cassettes for knowledge test
* updated default embedder
* None embedder to use default on pipeline cloning
* improvements
* fixed text_file_knowledge
* mypysrc fixes
* type check fixes
* added extra cassette
* just mocks
* linted
* mock knowledge query to not spin up db
* linted
* verbose run
* put a flag
* fix
* adding docs
* better docs
* improvements from review
* more docs
* linted
* rm print
* more fixes
* clearer docs
* added docstrings and type hints for cli
---------
Co-authored-by: João Moura <joaomdmoura@gmail.com>
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
* feat: Start migrating to UV
* feat: add uv to flows
* feat: update docs on Poetry -> uv
* feat: update docs and uv.locl
* feat: update tests and github CI
* feat: run ruff format
* feat: update typechecking
* feat: fix type checking
* feat: update python version
* feat: type checking gic
* feat: adapt uv command to run the tool repo
* Adapt tool build command to uv
* feat: update logic to let only projects with crew to be deployed
* feat: add uv to tools
* fix; tests
* fix: remove breakpoint
* fix :test
* feat: add crewai update to migrate from poetry to uv
* fix: tests
* feat: add validation for ˆ character on pyproject
* feat: add run_crew to pyproject if doesnt exist
* feat: add validation for poetry migration
* fix: warning
---------
Co-authored-by: Vinicius Brasil <vini@hey.com>
* feat: set basic structure deploy commands
* feat: add first iteration of CLI Deploy
* feat: some minor refactor
* feat: Add api, Deploy command and update cli
* feat: Remove test token
* feat: add auth0 lib, update cli and improve code
* feat: update code and decouple auth
* fix: parts of the code
* feat: Add token manager to encrypt access token and get and save tokens
* feat: add audience to costants
* feat: add subsystem saving credentials and remove comment of type hinting
* feat: add get crew version to send on header of request
* feat: add docstrings
* feat: add tests for authentication module
* feat: add tests for utils
* feat: add unit tests for cl
* feat: add tests
* feat: add deploy man tests
* feat: fix type checking issue
* feat: rename tests to pass ci
* feat: fix pr issues
* feat: fix get crewai versoin
* fix: add timeout for tests.yml
* fix: call asserts
* fix: test_increment_tool_errors
* fix: test_increment_delegations_for_sequential_process
* fix: test_increment_delegations_for_hierarchical_process
* fix: test_code_execution_flag_adds_code_tool_upon_kickoff
* fix: test_tool_usage_information_is_appended_to_agent
* fix: try to fix test_crew_full_output
* fix: try to fix test_crew_full_output
* fix: test remove vcr to test crew_test test
* fix: comment test to see if ci passes
* fix: comment test to see if ci passes
* fix: test changing prompt tokens to get error on CI
* fix: test changing prompt tokens to get error on CI
* fix: test changing prompt tokens to get error on CI
* fix: test changing prompt tokens to get error on CI
* fix: test new approach
* fix: comment funciont not working in CI
* fix: github python version
* fix: remove need of vcr
* fix: fix and add comments for all type checking errors
* Fix issue agentop poetry install issue
* Updated install requirements tests to fail if .lock becomes out of sync with poetry install. Cleaned up old issues that were merged back in.
* fix: fix test actually running
* fix: fix test to not send request to openai
* fix: fix linting to remove cli files
* fix: exclude only files that breaks black
* fix: Fix all Ruff checkings on the code and Fix Test with repeated name
* fix: Change linter name on yml file
* feat: update pre-commit
* feat: remove need for isort on the code
* feat: add mypy as type checker, update code and add comment to reference
* feat: remove black linter
* feat: remove poetry to run the command
* feat: change logic to test mypy
* feat: update tests yml to try to fix the tests gh action
* feat: try to add just mypy to run on gh action
* feat: fix yml file
* feat: add comment to avoid issue on gh action
* feat: decouple pytest from the necessity of poetry install
* feat: change tests.yml to test different approach
* feat: change to poetry run
* fix: parameter field on yml file
* fix: update parameters to be on the pyproject
* fix: update pyproject to remove import untyped errors
* fix: fix test actually running
* fix: fix test to not send request to openai
* fix: fix linting to remove cli files
* fix: exclude only files that breaks black
* fix: Fix all Ruff checkings on the code and Fix Test with repeated name
* fix: Change linter name on yml file
* feat: update pre-commit
* feat: remove need for isort on the code
* feat: remove black linter
* feat: update tests yml to try to fix the tests gh action
* fix: fix test actually running
* fix: fix test to not send request to openai
* fix: fix linting to remove cli files
* fix: exclude only files that breaks black