hallowed-artist-8187
02/22/2024, 11:53 PMcore in a monorepo. And then a ton of other packages depend on core.
Right now, any change in core triggers a test rerun of every package that depends on core.
Is there a way to make this a little more fine-grained? i.e. A change in core.module1 triggers a test run on any package that uses core.module1 ? Or is that not possible right now?happy-kitchen-89482
02/24/2024, 12:36 AMcore?hallowed-artist-8187
02/24/2024, 12:45 AMcore lists it as a dependency in their pyproject.toml, if that's what you mean š¤
Or do have to edit BUILD files with more granular deps?hallowed-artist-8187
02/26/2024, 9:36 PMgentle-flower-25372
02/26/2024, 9:38 PMgentle-flower-25372
02/26/2024, 9:39 PMhallowed-artist-8187
02/26/2024, 9:40 PMtailor does -- I have 400+ packages that rely on core š (thanks for the input on this!!)gentle-flower-25372
02/26/2024, 9:41 PMhallowed-artist-8187
02/26/2024, 9:42 PMgentle-flower-25372
02/26/2024, 9:42 PMgentle-flower-25372
02/26/2024, 9:42 PM--changed-since?hallowed-artist-8187
02/26/2024, 9:45 PMhallowed-artist-8187
02/26/2024, 9:47 PMgentle-flower-25372
02/26/2024, 9:50 PMpants dependencies llama-index-integrations/llms/llama-index-llms-openai::gentle-flower-25372
02/26/2024, 9:50 PMhallowed-artist-8187
02/26/2024, 9:50 PMhallowed-artist-8187
02/26/2024, 9:52 PMllama-index-core/llama_index/core/base/llms/base.py
llama-index-core/llama_index/core/base/llms/generic_utils.py
llama-index-core/llama_index/core/base/llms/types.py
llama-index-core/llama_index/core/bridge/pydantic.py
llama-index-core/llama_index/core/callbacks/__init__.py
llama-index-core/llama_index/core/constants.py
llama-index-core/llama_index/core/llms/callbacks.py
llama-index-core/llama_index/core/llms/llm.py
llama-index-core/llama_index/core/types.py
llama-index-integrations/llms/llama-index-llms-azure-openai:poetry#httpx
llama-index-integrations/llms/llama-index-llms-openai/llama_index/llms/openai/__init__.py
llama-index-integrations/llms/llama-index-llms-openai/llama_index/llms/openai/base.py
llama-index-integrations/llms/llama-index-llms-openai/llama_index/llms/openai/utils.py
llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml:poetry
llama-index-integrations/llms/llama-index-llms-openai/tests/test_llms_openai.py
llama-index-integrations/llms/llama-index-llms-openai/tests/test_openai.py
llama-index-integrations/llms/llama-index-llms-openai/tests/test_openai_utils.py
llama-index-integrations/llms/llama-index-llms-openai:poetry#black
llama-index-integrations/llms/llama-index-llms-openai:poetry#codespell
llama-index-integrations/llms/llama-index-llms-openai:poetry#ipython
llama-index-integrations/llms/llama-index-llms-openai:poetry#jupyter
llama-index-integrations/llms/llama-index-llms-openai:poetry#llama-index-core
llama-index-integrations/llms/llama-index-llms-openai:poetry#mypy
llama-index-integrations/llms/llama-index-llms-openai:poetry#pre-commit
llama-index-integrations/llms/llama-index-llms-openai:poetry#pylint
llama-index-integrations/llms/llama-index-llms-openai:poetry#pytest
llama-index-integrations/llms/llama-index-llms-openai:poetry#pytest-mock
llama-index-integrations/llms/llama-index-llms-openai:poetry#ruff
llama-index-integrations/llms/llama-index-llms-openai:poetry#tree-sitter-languages
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-Deprecated
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-PyYAML
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-protobuf
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-redis
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-requests
llama-index-integrations/llms/llama-index-llms-openai:poetry#types-setuptools
Seems about right š Only very select dependencies in coregentle-flower-25372
02/26/2024, 9:53 PMhallowed-artist-8187
02/26/2024, 9:54 PMcore https://github.com/run-llama/llama_index/pull/11376
Triggered all tests, taking ~35mins
https://github.com/run-llama/llama_index/actions/runs/8040723391/job/21959154238happy-kitchen-89482
02/26/2024, 11:05 PMhappy-kitchen-89482
02/26/2024, 11:06 PMhappy-kitchen-89482
02/26/2024, 11:06 PMhappy-kitchen-89482
02/26/2024, 11:06 PMpants dependencies --transitive to see if there is an unexpected dependency path from B to A.happy-kitchen-89482
02/26/2024, 11:08 PM--transitive part is important, your example above was only looking at direct depshappy-kitchen-89482
02/26/2024, 11:08 PMpants paths (see pants paths --help for how to use)happy-kitchen-89482
02/26/2024, 11:08 PMhappy-kitchen-89482
02/26/2024, 11:09 PMhallowed-artist-8187
02/27/2024, 5:06 AMpants dependencies --transitive llama-index-integrations/agent/llama-index-agent-openai::
This does end up listing most of core... somehow š
I also tried pants paths --from=llama-index-integrations/agent/llama-index-agent-openai/llama_index/agent/openai/base.py --to=llama-index-core/:: -- I'm guessing from the help text, this is printing dependencies from each file in core to the base.py file š¤ But thats a lot of (mostly repeated) outputsgentle-flower-25372
02/27/2024, 1:34 PM[
"thing/a.py",
"other_thing/b.py",
"that/c.py"
]
That list is saying that a.py imports b.py which imports c.py. It's giving you a literal path from a->z.
So I think you'd want to work backwards, i.e. let's say that you're seeing that something depend on core.unexpected_module, I would look at what is above that line and take a look at that file. I keep forgetting this is public. I am going to take a look if I have time. I'm mostly curious and following this thread trying to deepen my learning too.
When you see this message let me know what specific file in core you don't expect to see.gentle-flower-25372
02/27/2024, 1:40 PMllama_index.agent depends on core.a and then core.a depends on core.b. If core.b changes, that technically could impact llama_index.agent . So it would make sense that any changes in core.b would trigger tests in llama_index.agent .happy-kitchen-89482
02/27/2024, 9:30 PM