-**path**, target can be directory or file _.py_ `docs = { path = "./packages/docs" }`
-**file**, target can be archive or wheel `docs = { file = "./my_wheel.whl" }`
---
#### Describe which types of dependencies above are supported and which will be implemented in future:
Support classic references only in initial development.
## Versioning
#### What versioning scheme do the package files use?
<https://www.python.org/dev/peps/pep-0440>
---
#### Does this versioning scheme support range constraints, e.g. `^1.0.0` or `1.x`?
Yes
---
#### Is this package manager used for applications, libraries, or both? If both, is there a way to tell which is which?
Both, TODO
---
#### If ranges are supported, are there any cases when Renovate should pin ranges to exact versions if rangeStrategy=auto?
Dev dependencies can always be pinned.
## Lookup
#### Is a new datasource required? Provide details
No, it can reuse the pypi data source.
---
#### Will users need the capability to specify a custom host/registry to look up? Can it be found within the package files, or within other files inside the repository, or would it require Renovate configuration?
Yes
A registry can be specified in _pyproject.toml_ with:
```toml
[[tool.poetry.source]]
name='private'
url='http://example.com/simple'
```
---
#### Do the package files contain any "constraints" on the parent language (e.g. supports only v3.x of Python) or platform (Linux, Windows, etc) that should be used in the lookup procedure?
Yes, language version can be defined using
```toml
[tool.poetry.dependencies]
python="^3.6"
```
platform TODO
---
#### Will users need the ability to configure language or other constraints using Renovate config?
No
## Artifacts
#### Are lock files or checksum files used? Mandatory?
Yes and yes, in _poetry.lock_
---
#### If so, what tool and exact commands should be used if updating 1 or more package versions in a dependency file?
Update all dependencies
`poetry update`
Update 1 dependency
`poetry update {dependency name}`
---
#### If applicable, describe how the tool maintains a cache and if it can be controlled via CLI or env? Do you recommend the cache be kept or disabled/ignored?
- pip, used in background by poetry. Can be done with env variable `PIP_CACHE_DIR`
---
#### If applicable, what command should be used to generate a lock file from scratch if you already have a package file? This will be used for "lock file maintenance".
`poetry lock`
## Other
#### Is there anything else to know about this package manager?
As more python package managers implement _pyproject.toml_ it may become necassary to parse the file to determine which build tools/managers are active.