Telosys version : 4.3.0
To define Python as the target language call #set( $env.language = 'Python' ) in the templates files.
The information below shows the behavior of the generator when 'Python' is the current target language.
| Model type | Default | @UnsignedType | @NotNull | @PrimitiveType | @ObjectType |
|---|---|---|---|---|---|
| string | str | str | str | str | str |
| byte | int | int | int | int | int |
| short | int | int | int | int | int |
| int | int | int | int | int | int |
| long | int | int | int | int | int |
| decimal | Decimal | Decimal | Decimal | Decimal | Decimal |
| float | float | float | float | float | float |
| double | float | float | float | float | float |
| boolean | bool | bool | bool | bool | bool |
| date | date | date | date | date | date |
| time | time | time | time | time | time |
| timetz | time | time | time | time | time |
| datetime | datetime | datetime | datetime | datetime | datetime |
| datetimetz | datetime | datetime | datetime | datetime | datetime |
| timestamp | datetime | datetime | datetime | datetime | datetime |
| uuid | UUID | UUID | UUID | UUID | UUID |
| binary | bytes | bytes | bytes | bytes | bytes |
Python does not require types — it's a dynamically typed language.
But 'type hints' are strongly recommended (especially for modern Python)
So Telosys converts model neutral types to Python 'type hints'.
| TRUE | True |
| FALSE | False |
| NULL | None |
| Model type | Language type | Language full type | Language literal value example |
|---|---|---|---|
| string | str | str | "AAA" |
| byte | int | int | 1 |
| short | int | int | 1 |
| int | int | int | 100 |
| long | int | int | 1000 |
| decimal | Decimal | from decimal import Decimal | 10000.77 |
| float | float | float | 1000.5 |
| double | float | float | 1000.66 |
| boolean | bool | bool | True |
| date | date | from datetime import date | date.fromisoformat("2001-06-22") |
| time | time | from datetime import time | time.fromisoformat("01:46:52") |
| timetz | time | from datetime import time | time.fromisoformat("01:46:52+01:00") |
| datetime | datetime | from datetime import datetime | datetime.fromisoformat("2001-05-21T01:47:53") |
| datetimetz | datetime | from datetime import datetime | datetime.fromisoformat("2001-05-21T01:47:53+01:00") |
| timestamp | datetime | from datetime import datetime | datetime.fromisoformat("2001-05-21T01:47:53") |
| uuid | UUID | from uuid import UUID | UUID("3609a539-86c7-4813-965f-992966ff6998") |
| binary | bytes | bytes | None |