Open lazzarello opened 1 year ago
Yup, just fixed it a few days ago, stumbled into it myself :) Need to tag a new version of Genie. I'll do it today.
@lazzarello this should be solved in v5.15.2 -- but beware that microstack_app
won't do what you think it will do (it's meant to be an internal API). Please use newapp_webservice
instead.
@lazzarello this should be solved in v5.15.2 -- but beware that
microstack_app
won't do what you think it will do (it's meant to be an internal API). Please usenewapp_webservice
instead.
My reasoning went like this. I want to build an interface to do some astronomy calculations with input data from a different web service. The math is implemented in a Julia package internal to the corporation. The output is a small amount of JSON, so both sides don't expect too much data but it's high compute complexity. I don't need a database.
The word "microstack" stood out when browsing the generator interfaces. I'll try the newapp_webservice today. Thanks for your help. Only because I'm curious, what is the definition of "an internal API" in this context?
By internal API I mean private API. The microstack_app
is used as a part of new app creation - used alone will potentially not create the right thing.
Regarding the topic of public/private scopes in Julia - I've been long supporting the idea of having these explicit. Unfortunately there is no traction.
So according to Julia, an API is public if: a) is exported b) is documented
Everybody agreed that b) is dumb, as private APIs also need to be documented.
That leaves a)
As a utility module, IMO it made more sense not to export functions from Generators
as they'll just pollute the scope where they are used. But since it's the only way of marking public APIs, I should export them.
To conclude:
newapp_webservice
is appropriate for your use case - but if even that is too much, you can use minimal
.
Describe the bug Genie.Generator.microstack_app() throws a BoundsError and creates files
Error stacktrace not indicated here, this is a new project and it began with only a Project/Manifest.toml and a README
To reproduce See above. Julia 1.7.3 on Linux x86_64.
Expected behavior There would not be an exception thrown because it appears the generator did what was expected. I'm new to Genie so I can't validate what it is supposed to do very well. There are a bunch of files there!
Additional context