https://github.com/newjerseystyle/litepolis
The package manager of a Customizable e-democracy opinion collection and insight mining system. Built using Python and optimized for scalability and performance.
https://github.com/newjerseystyle/litepolis
civic-tech data-science deliberative-democracy litepolis package-manager participatory-democracy
Last synced: 3 months ago
JSON representation
The package manager of a Customizable e-democracy opinion collection and insight mining system. Built using Python and optimized for scalability and performance.
- Host: GitHub
- URL: https://github.com/newjerseystyle/litepolis
- Owner: NewJerseyStyle
- License: mit
- Created: 2024-04-20T17:04:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-12T06:14:02.000Z (6 months ago)
- Last Synced: 2025-05-11T13:49:19.502Z (5 months ago)
- Topics: civic-tech, data-science, deliberative-democracy, litepolis, package-manager, participatory-democracy
- Language: Python
- Homepage:
- Size: 440 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LitePolis
Infrastructure for E-democracy
  ## Overview
LitePolis is an advanced, Python-based infrastructure designed for building **customizable opinion collection systems**, extending beyond the capabilities of the original [Polis](https://github.com/compdemocracy/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](https://www.ray.io/) 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.
[.png)](https://www.canva.com/design/DAGkKYnWMIE/acGGYFVWpYpFA-t65YcyWw/watch?embed)
## Quick start
### 1. Install the LitePolis CLIThe `litepolis-cli` is your main tool for creating, managing, and deploying LitePolis packages.
* Needs Python (3.12 recommended) and pip installed.```bash
pip install litepolis
```### 2. Explore Packages for Deployment

### 3. Deploy
Add features you want in LitePolis```bash
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-apilitepolis-cli deploy init-config
# setup password etc.
nano ~/.litepolis/config.conf# start serving
litepolis-cli deploy serve
```## Next Steps:
* Use StarRocks as database [WIP#todo]
* Deploy to Google cloud with autoscale [WIP#todo]