{"id":13557462,"url":"https://github.com/liqd/adhocracy-plus","last_synced_at":"2026-01-22T18:54:51.569Z","repository":{"id":37319093,"uuid":"217268647","full_name":"liqd/adhocracy-plus","owner":"liqd","description":"adhocracy+ is a SaaS platform to make digital democracy easy for everyone","archived":false,"fork":false,"pushed_at":"2024-10-29T08:11:54.000Z","size":26177,"stargazers_count":78,"open_issues_count":59,"forks_count":20,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-29T09:27:56.169Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://adhocracy.plus/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liqd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-24T10:03:57.000Z","updated_at":"2024-10-29T08:11:32.000Z","dependencies_parsed_at":"2022-07-14T23:30:42.208Z","dependency_job_id":"d9e624f3-83a4-4508-aebf-876066fdd045","html_url":"https://github.com/liqd/adhocracy-plus","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liqd%2Fadhocracy-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liqd%2Fadhocracy-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liqd%2Fadhocracy-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liqd%2Fadhocracy-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liqd","download_url":"https://codeload.github.com/liqd/adhocracy-plus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246993168,"owners_count":20865952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:04:22.105Z","updated_at":"2026-01-22T18:54:51.554Z","avatar_url":"https://github.com/liqd.png","language":"Python","funding_links":[],"categories":["Python","others","[🎓 research](https://github.com/stars/ketsapiwiq/lists/research)"],"sub_categories":[],"readme":"# adhocracy+\n\n[adhocracy.plus](https://adhocracy.plus/) is a free Open-Source participation platform maintained and primarily developed by Liquid Democracy e.V.. It is based on [adhocracy 4](https://github.com/liqd/adhocracy4) and [Django](https://github.com/django/django). The project's [technical documentation](https://liqd.github.io/adhocracy-plus/) currently is in progress. You are welcome to provide feedback by creating a GitHub issue.\n\n![Build Status](https://github.com/liqd/adhocracy-plus/actions/workflows/django.yml/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/liqd/adhocracy-plus/badge.svg?branch=main)](https://coveralls.io/github/liqd/adhocracy-plus?branch=main)\n\n## Getting started\n\nadhocracy+ is designed to make online participation easy and accessible to everyone. It can be used on our SaaS-platform or installed on your own servers. How to get started on our platform is explained [here](https://adhocracy.plus/info/start/).\n\n## Installation for development\n\n### Requirements\n\n * nodejs (+ npm) \n * python 3.x (+ venv + pip)\n * libpq (only if postgres should be used)\n * pillow-heif (required for macOS M1 Monterey and newer versions)\n * libpq (only if PostgreSQL is used)\n * postgis (only if PostgreSQL is used)\n * libmagic (macOS)\n * GDAL\n * SpatiaLite [with JSON1 enabled](https://code.djangoproject.com/wiki/JSON1Extension) (only if SpatiaLite is used for local development)\n * Redis (required in production, optional for development)\n\n### Installing SpatiaLite\n\n#### Ubuntu/Debian\n\n```\nsudo apt update \u0026\u0026 sudo apt install -y libsqlite3-mod-spatialite\n```\n\n#### macOS (with Homebrew)\n\n```\nbrew update\nbrew install spatialite-tools\nbrew install gdal\n```\n\nFor GeoDjango to be able to find the SpatiaLite library, add the following to a file you create at `adhocracy-plus/config/settings/local.py`:\n\n```\nSPATIALITE_LIBRARY_PATH = \"/usr/local/lib/mod_spatialite.dylib\"\n```\n\nIf installing with homebrew, the path may need to instead be  `/opt/homebrew/lib/mod_spatialite.dylib\"`\n\nYou can find the exact location by running this command:\n\n```\n$ find /opt/homebrew -name \"mod_spatialite*\"\n```\n\n### MacOs .zshrc or .bashrc settings\n\nThe following variables should point to the correct paths, found by the `find` command above\nAdd the following to your `.zshrc` or `.bashrc`\n\n```\nexport SPATIALITE_LIBRARY_PATH=\"/opt/homebrew/lib/mod_spatialite.dylib\"\nexport PYTHON_CONFIGURE_OPTS=\"--enable-loadable-sqlite-extensions\"\nexport LDFLAGS=\"-L/opt/homebrew/opt/sqlite/lib -L/opt/homebrew/lib\"\nexport CPPFLAGS=\"-I/opt/homebrew/opt/sqlite/include -I/opt/homebrew/include\"\nexport PKG_CONFIG_PATH=\"/opt/homebrew/opt/sqlite/lib/pkgconfig\"\n\n\npath+=(\n    $HOME\n    /opt/homebrew/opt/sqlite/bin\n)\n\n```\n\n#### Pyenv\n\nIf you are using pyenv, you need to create your venv with the following command:\n\n```\nPYTHON_CONFIGURE_OPTS=\"--enable-loadable-sqlite-extensions\" pyenv install 3.12.9 (with your version)\n```\n\n#### Libmagic (macOS)\n\nIn macOS, the dependency libmagic needs to be installed\n\n```\nbrew install libmagic\n```\n\n### Adhocracy-plus software Installation\n\n    git clone https://github.com/liqd/adhocracy-plus.git\n    cd adhocracy-plus\n    make install \n    make fixtures\n\n### Start virtual environment\n```\nsource venv/bin/activate\n```\n### Check if tests work\n```\nmake test\n```\n### Start a local server\n```\nmake watch\n```\nGo to http://localhost:8004/ and login with admin@liqd.net | password\n\n## Installation on a production system\n\nYou like adhocracy+ and want to run your own version? An installation guide for production systems can be found [here](./docs/installation_prod.md).\n\n## Contributing or maintaining your own fork\n\nIf you found an issue, want to contribute, or would like to add your own features to your own version of adhocracy+, check out our [contributing](./docs/contributing.md) document.\n\n## Security\n\nWe take security seriously. If you find any security issues, please feel free to email us at info [at] liqd [dot] net.\n\n\n## Advanced settings \n\n### Use postgresql database for testing\n\nAdd your DATABASE credentials to your `local.py` file -- create one in `adhocracy-plus/config/settings/` if it doesn't exist already.Once your local settings for the postgresql DATABASE are set, run the following command once:\n```\nmake postgres-create\n```\nto start the test server with postgresql, run:\n```\nexport DATABASE=postgresql\nmake postgres-start\nmake watch\n```\n\nIf you encounter issues with creating/running postgresql from the make command, try to set it up manually with the steps explained in our [docs](./docs/postgresql.md).\n\n\n### Use Celery for task queues\n\nFor a celery worker to pick up tasks you need to make sure that:\n- the redis server is running. Check it by running\n```\nredis-cli ping \n```\nit should return: PONG\n\n- the celery config parameter \"always eager\" is disabled (add `CELERY_TASK_ALWAYS_EAGER = False` to your `local.py`)\nCelery's always_eager is disabled to ensure tests run the celery tasks inline instead of scheduling them via the Redis broker.\nlocal.py should be under adhocracy_plus/config/settings, create one if it doesn't exist. This file saves settings for local development.\n\nTo start a celery worker node in the foreground, call:\n```\nmake celery-worker-start\n```\n\nTo inspect all registered tasks, list the running worker nodes, call:\n```\nmake celery-worker-status\n```\n\nTo send a dummy task to the queue and report the result, call:\n```\nmake celery-worker-dummy-task\n```\nCheck out our extensive [celery documentation](https://github.com/liqd/adhocracy-plus/compare/docs/celery.md?expand=1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliqd%2Fadhocracy-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliqd%2Fadhocracy-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliqd%2Fadhocracy-plus/lists"}