The ITR tool supports both stand-alone operation and also an interface to other tools via REST API. I've never done anything with REST APIs, so am only aware they exist, but not what's needed to (continue to) support them as I develop the stand-alone functionality.
I'm not sure whether this question should be answered within the context of ITR first, then promoted out, the Data Commons (where lots of architecture is described), or yet somewhere else that we house high-level technical decisions. So I'm starting here.
The REST APIs leverage JSON serializability for data interchange. The ITR data model is based on the Pydantic BaseModel, which gives that for free. Pydantic gives us data validation, which is nice. It also gives us objects that are quite antithetical to Pandas and SQL data slicing, dicing, and re-aggregation, which is not nice. Internally there a large amount of churn as models are converted to DataFrames and then DataFrames reconstructed back into Models.
I'd like to maintain a lot more data in DataFrames for much easier data lookup, rather than manually iterating my way through model structures all the time. But I don't want to break whatever assumptions the REST APIs rely upon. Can we set do a tutorial session on the dos and don'ts of how to deal with this, led by people who understand REST APIs well?
The ITR tool supports both stand-alone operation and also an interface to other tools via REST API. I've never done anything with REST APIs, so am only aware they exist, but not what's needed to (continue to) support them as I develop the stand-alone functionality.
I'm not sure whether this question should be answered within the context of ITR first, then promoted out, the Data Commons (where lots of architecture is described), or yet somewhere else that we house high-level technical decisions. So I'm starting here.
The REST APIs leverage JSON serializability for data interchange. The ITR data model is based on the Pydantic BaseModel, which gives that for free. Pydantic gives us data validation, which is nice. It also gives us objects that are quite antithetical to Pandas and SQL data slicing, dicing, and re-aggregation, which is not nice. Internally there a large amount of churn as models are converted to DataFrames and then DataFrames reconstructed back into Models.
I'd like to maintain a lot more data in DataFrames for much easier data lookup, rather than manually iterating my way through model structures all the time. But I don't want to break whatever assumptions the REST APIs rely upon. Can we set do a tutorial session on the dos and don'ts of how to deal with this, led by people who understand REST APIs well?