RIGHT NOW THIS IS VIEW ONLY! It is for me only to work on, at least until I get to alpha. Everything here is temporary and will be changed. You will find a CD topic when I am ready. See you then 👋
An open dataset allowing FRC teams to upload match images, and download object detection datasets.
Warning
This project is in pre-alpha as of June 24, 2025. Everything is still at the "it works on my machine" point, except it doesn't even work for me! 😅
See issues
If you are interested in helping, read this then see issues for how you can help
Note to self:
To access the PostgreSQL database, run sudo -u postgres psql
- Python 3
- FastAPI
- SQLModel
- SlowAPI
- Jinja
- Bootstrap
- AWS
- S3
- PostgreSQL
📁 app/
├── 📁 api/
│ ├─── 🐍 public_v1.py # Publicly accessible API
│ ├─── 🐍 internal_v1.py # Management and account API
│ └─── 🐍 web.py # The website
├── 📁 core/ # App-level core logic/config
│ ├─── 🐍 config.py # Constants and configurable values
│ ├─── 🐍 dependencies.py # Security dependencies
│ └─── 🐍 helpers.py # Random common helper functions
├── 📁 db/ # Database managers
│ └─── 🐍 database.py # Manages the DB connection
├── 📁 models/ # Data models
│ ├─── 🐍 models.py # pydantic models for responses and requests
│ └─── 🐍 schemas.py # SQLModel schemas representing tables
├── 📁 services/ # Various services and abstractions
│ └─── 🐍 buckets.py # AWS S3 bucket manager
├── 📁 tasks/ # Asynchronous background tasks
│ ├─── 🐍 download_packaging.py # Packages images for batch downloading
│ └─── 🐍 image_processing.py # Processes images for uploading
├── 📁 tests/ # Tests
├── 📁 web/ # Files that are for the website
│ ├── 📁 static/ # Static files
│ │ ├── 📁 css/ # CSS files
│ │ ├── 📁 images/ # Images
│ │ └── 📁 js/ # JS files
│ └─── 📁 templates/ # Jinja HTML templates
└── 🐍 main.py # The main app entrypoint
Linux:
# Pre-requirements
# * Have git installed
# * Have Python 3 installed
# Setup
git clone "https://github.com/crummyh/frcVisionDataset.git"
cd frcVisionDataset
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Now start working!
# To run the app run:
fastapi dev app/main.py
# When you are done run:
deactivate
Windows: Good luck, have fun!
Mac: Probably similar to the Linux instructions, good luck!