"Python" language specificities

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.



Type conversion ( model type to language type )

The language type conversion has an impact on :
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

Remarks

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'.



Literals for TRUE, FALSE and NULL

TRUE True
FALSE False
NULL None


Literal values

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