{"id":21130627,"url":"https://github.com/choate-robotics/7407-drivecode-rapidreact","last_synced_at":"2025-07-09T01:33:33.958Z","repository":{"id":42385627,"uuid":"341792212","full_name":"Choate-Robotics/7407-DriveCode-RapidReact","owner":"Choate-Robotics","description":"Code for FRC Team 7407 (The Wired Boars) Robot for the 2022 Competition Season.","archived":false,"fork":false,"pushed_at":"2022-12-13T03:25:51.000Z","size":800,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-05T03:38:14.775Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Choate-Robotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-24T05:42:45.000Z","updated_at":"2023-07-20T20:57:42.000Z","dependencies_parsed_at":"2022-09-17T00:30:28.757Z","dependency_job_id":null,"html_url":"https://github.com/Choate-Robotics/7407-DriveCode-RapidReact","commit_stats":null,"previous_names":["choate-robotics/7407-drivecode-rapidreact","choate-robotics/7407-drivecode-2021-python"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Choate-Robotics/7407-DriveCode-RapidReact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-RapidReact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-RapidReact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-RapidReact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-RapidReact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Choate-Robotics","download_url":"https://codeload.github.com/Choate-Robotics/7407-DriveCode-RapidReact/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-RapidReact/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264375583,"owners_count":23598408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T05:35:49.887Z","updated_at":"2025-07-09T01:33:33.528Z","avatar_url":"https://github.com/Choate-Robotics.png","language":"Python","readme":"# TEAM 7407 DriveCode for the 2021 Rapid React Competition\n\n## Getting Started:\n\n### Clone the repository code onto your computer:\n\n```\n\ngit clone https://github.com/Choate-Robotics/7407-DriveCode-2021-Python.git\n\n```\nIf you prefer ssh:\n\n```\n\ngit clone git@github.com:Choate-Robotics/7407-DriveCode-2021-Python.git\n\n```\n\n### If you don't have Poetry installed already:\n\n#### Linux and Mac (Intel, Not M1. If you have an M1 or M2 mac, please see \"MAC M INSTALLATION\" section at the bottom.\n\n```\n\ncurl -k https://install.python-poetry.org/ | python - \n\n```\nYou might have to replace \"python\" at the end with \"python3\" or \"python3.10\" depending on how python is configured in your system.\n\n#### Windows Powershell\n\n```\n\n(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -\n\n```\n\nFurther information can be found here: https://python-poetry.org/docs/\n\n\n\nMake sure to add Poetry to your path.\n\n\n\n### With Poetry Installed:\n\n```\n\npoetry shell\n\npoetry install\n\n```\n\n### Deploying Code:\nConnect to the robot's wifi.\n``python robot.py deploy``\nIf absolutely necessary, use ``python robot.py deploy --no-version-check`` to avoid WPILib version issues on the robot.\n\n\n## Best Practices\n\n### Commenting\nComment, comment, comment!\n - Use block quotes to start any function with parameters, and every class's \"\\_\\_init\\_\\_\" function. Block quotes should contain:\n\t - Summary\n\t - Arguments, with types and descriptions\n\t - Return description\n\t There are many extensions to help with docstrings. Examples include:\n\t\t - autoDocstring on VsCode\n\t\t - On PyCharm\n\t\t\t - Place your cursor over a function or class name.\n\t\t\t - Alt-Enter\n\t\t\t - Generate documentation string stub\n - Use single line comments for any function without parameters with a description of the function.\n - Use single line comments before any complex function to describe how it works, and to the right of any line or variable that is very complicated.\n - Use TODO comments freely.\n\n### Adding libraries\nAlways use ``poetry add {library}`` to add libraries. This ensures that libraries are compatible and allows everyone to work easier.\nNever, ever, edit poetry.lock or pyproject.toml manually.\n\n### Committing, Pushing, and Pulling\nTo commit:\n```\ngit add .\ngit commit -m \"Message\"\n```\nTo push:\n```\ngit push\n```\nTo pull:\n```\ngit fetch\ngit pull\n```\n\n### Branching\nTo branch, first make sure that all your local changes are committed. If you would like to abandon the changes, run ``git reset --hard``. Be very careful with resetting.\nTo branch: ``git branch {branch name}\n\nBranch names are as follows:\n - Subsystem Initialization branch format: init/{subsystem}\n\t - Example: init/shooter\n\t - Example: init/drivetrain\n - Feature branch format: feat/{subsystems}/{feature}\n\t - Example: feat/shooter/optimized_shooting\n\t - Example: feat/intake-index/ejection\n - Fix branch format: fix/{subsystems}/issue\n\t - Example: fix/camera_server/wrong_ports\n\t - Example: fix/robot/network_loop_time\n\t - Example: fix/sensors/clean_up\n - Competition branch format: comp/{competition}/day/{day}\n\t - Example: comp/battlecry/day/0 (load_in, initial setup, configurations)\n\t - Example: comp/hartford/day/1\n\n### Pull Requests\nTo integrate a branch with branch **Master**,  create a pull-request with the same title as your branch. Make sure pre-commits pass before pushing to ensure clean code. Do not approve the pull request manually; wait for the programming lead or mentor to approve the request.\n\n### Debugging:\n#### Logger\n - USE LOGGER! It makes it easier on everyone to debug. (logger is a python library made for logging)\n#### Smart Dashboard/Shuffleboard\n - Shuffleboard is preferred over the Smart Dashboard and console for debugging. To use shuffleboard, just push a string, number, boolean, or similar value to the SmartDashboard using \"wpilib.SmartDashboard.pushNumber ...\" etc. The value is then accessible through ShuffleBoard.\n\n## Resources\n - [RobotPy Documentation](https://robotpy.readthedocs.io/en/stable/) We love RobotPy!\n - [WPILib Documentation](https://docs.wpilib.org/en/stable/index.html) RobotPy is just a wrapper for the WPILib C++ Code. Most of the structure remains the same.\n - [Chief Delphi](https://www.chiefdelphi.com/) Many a sensor problem have been fixed by looking here.\n - [7407 DriveCode-2021-Python](https://github.com/Choate-Robotics/7407-DriveCode-2021-Python) Worlds level code!\n \n### MAC M INSTALLATION\nIn terminal:\n```bash\n      softwareupdate --install-rosetta\n```\n\nOpen terminal in finder (right click on terminal icon and open in finder)\nMake a copy of the terminal icon in finder.\nRight click on the new copy and select \"Get Info\", check the box that says \"Open with Rosetta\"\n\nOpen the new Rosetta terminal. This terminal will be used to run intel python.\n\nIn Rosetta terminal:\n```bash\n      arch -x86_64 /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n\n      # Wait for homebrew to finish installation.\n\n      arch -x86_64 /usr/local/bin/brew install python@3.10\n\n      # Wait for python to finish installation\n      # Try to run the following command. If it fails, replace \"python3.10\" with \"python3\" and make sure the output contains python3.10.\n\n      arch -x86_64 /usr/local/bin/python3.10\n\n      # To exit the python interpreter\n\n      exit()\n      \n      # If you want a convenient alias for intel python, run the next command with the successful python from the last command:\n\n      echo \"alias python86='arch -x86_64 /usr/local/bin/python3.10'\" \u003e ~/.zshrc\n\n      # Installation of x86 poetry:\n\n      python86 -m pip install poetry\n\n      # After poetry installation is complete, change into a directory where you want python programs\n\n      git clone https://github.com/Choate-Robotics/7407-DriveCode-2021-Python.git\n      cd 7407-DriveCode-2021-Python\n      python86 -m poetry install\n   \n      # To open virtualenv shell (Run this every time you open a new terminal in that folder)\n      python86 -m poetry shell\n```\n\nPlease let me know if there are any problems.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoate-robotics%2F7407-drivecode-rapidreact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchoate-robotics%2F7407-drivecode-rapidreact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoate-robotics%2F7407-drivecode-rapidreact/lists"}