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
define componentes extras de RobotPy que pueden ser instalados, ya que solo las librerías importantes de RobotPy son instaladas por 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.