# /// script # requires-python = ">=3.13" # dependencies = [ # "httpx", # ] # ///
import httpx
That seems pretty redundant. Why can't UV just infer the dependencies from the import statements?
# /// script # requires-python = ">=3.13" # dependencies = [ # "httpx", # ] # ///
import httpx
That seems pretty redundant. Why can't UV just infer the dependencies from the import statements?
- uv won't necessarily know which modules aren't already present, because they can load from modules being developed in the current directory
- It's not easy to determine what imports will happen in a Python script due to transitive dependencies and dynamic loading
- The names of python modules are not always the same as the packages that contain them - for example the yaml module comes from the pyyaml package
Also the second line of the Zen of Python is "explicit is better than implicit": https://peps.python.org/pep-0020/
fair enough, but adding option to auto import from the main file would solve 97% of use cases
- uv won't necessarily know which modules aren't already present easy to check
- The names of python modules are not always the same great opportunity to add convenient simple mapping / name resolution
- ZenShould DRY don't repeat yourself be higher up?
https://peps.python.org/pep-0723/#why-not-infer-the-requirem...
the current one by default