Utilización de pyproject.toml¶
Nota
Proyectos de RobotPy no necesitan tener un pyproject.toml, pero cuando corres robotpy sync uno será creado automáticamente para usted.
pyproject.toml has become a standard way to store build and tooling configuration for Python projects. The [tool.XXX] section(s) of the TOML file is a place where tools can store their configuration information.
Actualmente RobotPy solo guarda información relacionada con la implementación en pyproject.toml, en la sección [tool.robotpy]. Los usuarios pueden personalizar las otras secciones como ellos quieran, y robotpy las ignoraran.
El archivo pyproject.toml debería de verse algo asi:
#
# Use this configuration file to control what RobotPy packages are installed
# on your RoboRIO
#
[tool.robotpy]
# Version of robotpy this project depends on
robotpy_version = "2024.2.1.0"
# Which extra RobotPy components should be installed
# -> equivalent to `pip install robotpy[extra1, ...]
robotpy_extras = [
# "all"
# "apriltag"
# "commands2"
# "cscore"
# "navx"
# "pathplannerlib"
# "phoenix5"
# "phoenix6"
# "playingwithfusion"
# "rev"
# "romi"
# "sim"
]
# Other pip packages to install
requires = []
Cada uno de los siguientes indicará el proceso de implementación para instalar paquetes en la roboRIO:
robotpy_version es la versión del paquete robotpy PyPI el cual el código del robot depende de.
robotpy_extras defines extra RobotPy components that can be installed, as only the core RobotPy libraries are installed by default.
requires es una lista de strings, y cada objeto equivale a una lineal de archivos de requirements.txt. Tu puedes instalar cualquier paquete de python puro en la roboRIO y estos probablemente funcionaran, pero cualquier paquete que tenga dependencias binarias debe ser compilado cruzado para la roboRIO. Por ejemplo, si de ser necesario usar numpy en su código del robot:
[tool.robotpy]
...
requires = ["numpy"]
The packages that can be installed are stored on the WPILib Artifactory server. If you find that you need a package that isn’t available on artifactory, consult the roborio-wheels repository.