|
|
# pyproject.toml
|
|
|
|
|
|
All Bob packages need to contain a `pyproject.toml` file in their root folder.
|
|
|
This is a new packaging standard that is required by pip.
|
|
|
For more information, see https://setuptools.readthedocs.io/en/latest/userguide/quickstart.html
|
|
|
|
|
|
The main important point in creating this file is to identify the list of packages that
|
|
|
are listed in `setup_requires` of `setup.py`.
|
|
|
|
|
|
For example, if you have a package that has this in its `setup.py`:
|
|
|
```python
|
|
|
bob_packages = ['bob.core', 'bob.sp']
|
|
|
|
|
|
from setuptools import setup, find_packages, dist
|
|
|
dist.Distribution(dict(setup_requires=['bob.extension', 'bob.blitz'] + bob_packages))
|
|
|
```
|
|
|
you need this inside your `pyproject.toml` file:
|
|
|
```yaml
|
|
|
[build-system]
|
|
|
requires = ["setuptools", "wheel", "bob.extension", "bob.blitz", "bob.core", "bob.sp"]
|
|
|
build-backend = "setuptools.build_meta"
|
|
|
```
|
|
|
A minimal `pyproject.toml` file looks like:
|
|
|
```yaml
|
|
|
[build-system]
|
|
|
requires = ["setuptools", "wheel"]
|
|
|
build-backend = "setuptools.build_meta"
|
|
|
```
|
|
|
This needs to be done in all packages. |
|
|
\ No newline at end of file |