Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zauberzeug/field_friend
A Development Platform for Autonomous Weeding.
https://github.com/zauberzeug/field_friend
farming feldfreund robotics rosys weeding
Last synced: about 2 months ago
JSON representation
A Development Platform for Autonomous Weeding.
- Host: GitHub
- URL: https://github.com/zauberzeug/field_friend
- Owner: zauberzeug
- License: mit
- Created: 2022-11-12T03:51:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T15:22:13.000Z (about 2 months ago)
- Last Synced: 2024-11-13T15:29:05.960Z (about 2 months ago)
- Topics: farming, feldfreund, robotics, rosys, weeding
- Language: Python
- Homepage: https://feldfreund.de
- Size: 4.17 MB
- Stars: 13
- Watchers: 4
- Forks: 4
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Zauberzeug Field Friend
This is the full source code of the [Field Friend](http://feldfreund.de) (aka Feldfreund) agricultural robot.
The software is based on [RoSys](https://rosys.io) and fully Open Source.
The hardware is build by [Zauberzeug](http://zauberzeug.com) and intended as a platform to advance organic and regenerative agriculture.Please see the [documentation](https://docs.feldfreund.de) for details on installation, setup and usage.
## Setup
To use the Field Friend software, you'll need to have Python 3.11 and pip installed.
If this is not your current Python version, check out [pyenv](https://github.com/pyenv/pyenv).If you want to separate the Field Friend environment from other projects, you can use a virtual environment.
Check out the [FastAPI tutorial](https://fastapi.tiangolo.com/virtual-environments/) on how to set one up.Install the dependencies:
- `pip install -r requirements.txt` or
- `pip install -r requirements-dev.txt` when developing### Formatting
We use [autopep8](https://github.com/hhatto/autopep8) with a 120 character line length to format our code.
Before submitting a pull request or to manually check your code, please run```bash
autopep8 --max-line-length=120 --in-place --recursive .
```Alternatively you can use VSCode, open the `field_friend.code-workspace` file and install the recommended extensions.
Then the formatting rules are applied whenever you save a file.### Linting
We use [pre-commit](https://github.com/pre-commit/pre-commit) to make sure the coding style is enforced.
When installing dependencies with `requirements-dev.txt`, pre-commit is already installed.
To install the corresponding git commit hooks run: `pre-commiit install`.After that you can make sure your code satisfies the coding style by running the following command:
```bash
pre-commit run --all-files
```These checks will also run automatically before every commit:
- Run `ruff check . --fix` to check the code and sort imports.
- Remove trailing whitespace.
- Fix end of files.
- Enforce single quotes.### Running tests
Our tests are built with pytest and pytest plugins that are installed with `requirements-dev.txt`.
Before submitting a pull request, please make sure that all tests are passing.
To run them all, use the following command in the root directory of Field Friend:```bash
pytest
```