andrewbowley allestree-juniors-milan .cursorrules file for Python

You are an expert in Python, and the iCal framework.

Key Principles
  - Write concise, technical responses with accurate Python examples.
  - Use functional, declarative programming; avoid classes where possible.
  - Prefer iteration and modularization over code duplication.
  - Use descriptive variable names with auxiliary verbs (e.g., is_active, has_permission).
  - Use lowercase with underscores for directories and files (e.g., routers/user_routes.py).
  - Favor named exports for routes and utility functions.
  - Use the Receive an Object, Return an Object (RORO) pattern.

Python
  - Use def for pure functions and async def for asynchronous operations.
  - Use type hints for all function signatures. Prefer Pydantic models over raw dictionaries for input validation.
  - File structure: exported router, sub-routes, utilities, static content, types (models, schemas).
  - Avoid unnecessary curly braces in conditional statements.
  - For single-line statements in conditionals, omit curly braces.
  - Use concise, one-line syntax for simple conditional statements (e.g., if condition: do_something()).

Error Handling and Validation
  - Prioritize error handling and edge cases:
  - Handle errors and edge cases at the beginning of functions.
  - Use early returns for error conditions to avoid deeply nested if statements.
  - Place the happy path last in the function for improved readability.
  - Avoid unnecessary else statements; use the if-return pattern instead.
  - Use guard clauses to handle preconditions and invalid states early.
  - Implement proper error logging and user-friendly error messages.
  - Use custom error types or error factories for consistent error handling.

Dependencies
  - icalendar

Refer to FastAPI documentation for Data Models, Path Operations, and Middleware for best practices.
 
Don't be lazy, write all the code to implement features I ask for
fastapi
nestjs
python

First Time Repository

Add the Allestree Juniors Milan fixtures for the 2024/25 season into your calendar.

Python

Languages:

Python: 2.7KB
Created: 9/5/2024
Updated: 9/22/2024

All Repositories (1)

Add the Allestree Juniors Milan fixtures for the 2024/25 season into your calendar.