|
|
|
|
|
by omnifollow
2073 days ago
|
|
It would be helpful to understand what this means: > Applipy is an application development framework that allows to define the
application by installing modules and registering application handles. Maybe a bulleted list of high-level use cases? I'm a Python developer but not sure what problem this solves, although it sounds cool! |
|
What it does is: - load your application from a configuration file - you can have multiple configuration file (i.e. one per environment: local, dev, prod, staging, etc.) - tell applipy which environment to load through an environment variable `APPLIPY_ENV` - implement self-contained or interdependant applipy modules that you can tell applipy to include through the config file - implement multiple AppHandles: an interface that implements on_init(), on_start() and on_shutdown() - modules can register the AppHandles - applipy will gracefully manage the lifecycle of your application
An example of use case is a web page I have for an online guild. It has an integration with discord and, of course, login with permisions, etc.
When I'm developing locally I can simply go to the local.yaml configuration file and comment out the modules I don't want to run locally.
Because of the way it is architected I can easily remove the discord, login and permission check modules and run it locally like that.
Then, I also have a prod.yaml file with all production modules and configurations.
I also have different data store implementations for local and production environments. I did this by defining an interface that all classes that require persistence access require and I include different modules, that register in the injector different implementations of the same interface, in the configuration files for each environment.
I hope that explains it better. I will for sure use the above explanation to update the README.md :D
PD: that was only applipy core. I've also published other libraries that build on top of it: https://gitlab.com/applipy