Infrastructure for E-democracy
LitePolis is an advanced, Python-based infrastructure designed for building customizable opinion collection systems, extending beyond the capabilities of the original Polis. It offers a developer-friendly environment focused on flexibility and power.
Built with a modular, microservice-like architecture, LitePolis is distributed by default, leveraging the Ray framework for inherent auto-scaling capabilities right out of the box. This ensures your applications can handle large groups and high traffic volumes efficiently.
The core of LitePolis is a central package manager that discovers and orchestrates various components – API Routers, Middleware, and UI Packages. This modularity allows developers and data scientists to easily build, deploy, and iterate on sophisticated data-driven e-democracy tools and other opinion-gathering applications.
The litepolis-cli
is your main tool for creating, managing, and deploying LitePolis packages.
- Needs Python (3.12 recommended) and pip installed.
pip install litepolis
Add features you want in LitePolis
litepolis-cli deploy list-deps
# remove packages if you don't need default packages that provides Polis functionality
litepolis-cli deploy remove-deps litepolis-router-default
# add packages that you need
litepolis-cli deploy add-deps litepolis-router-simple-api
litepolis-cli deploy init-config
# setup password etc.
nano ~/.litepolis/config.conf
# start serving
litepolis-cli deploy serve
- Use StarRocks as database [WIP#todo]
- Deploy to Google cloud with autoscale [WIP#todo]