Kaleb King
12/16/2025, 8:37 PMMarvin
12/16/2025, 8:37 PMMarvin
12/16/2025, 8:43 PMProd and prod are different)
- Spaces: allowed
- Length and count: no explicit limits enforced by the API/DB
- Type coercion: non-strings are coerced to strings
- Empty strings: whitespace-only/empty items may be filtered out when using certain client helpers, but generally not by the API
- No automatic de-duplication: duplicates are stored as provided
If you want to enforce your own convention (e.g., lowercase, no spaces), normalize before passing tags:
raw_tags = ["Prod", "data science", " "]
tags = sorted({t.strip().lower().replace(" ", "-") for t in raw_tags if t and t.strip()})
# tags -> ['data-science', 'prod']
If you’re on Prefect 2.x instead, let me know and I can call out any small differences, but the high-level behavior is similar.Kaleb King
12/16/2025, 8:49 PMprefect.yaml file, tags: [Sales, ABC Company] would be fine?Marvin
12/16/2025, 8:49 PMMarvin
12/16/2025, 8:51 PMtags: [Sales, ABC Company]
Both tags will be preserved exactly as written (including the space in ABC Company). Prefect only filters out empty/whitespace-only entries and otherwise accepts any characters; there’s no lowercase-only rule and no need to quote strings with spaces.