{"id":18733414,"url":"https://github.com/icij/prophecies","last_synced_at":"2025-04-12T18:31:38.912Z","repository":{"id":38394667,"uuid":"379532650","full_name":"ICIJ/prophecies","owner":"ICIJ","description":"An ICIJ app to conduct data validation and cleaning.","archived":false,"fork":false,"pushed_at":"2025-01-29T14:02:21.000Z","size":5248,"stargazers_count":20,"open_issues_count":15,"forks_count":5,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-09T09:45:02.854Z","etag":null,"topics":["django","factchecking","journalism","platform","python"],"latest_commit_sha":null,"homepage":"https://icij.gitbook.io/prophecies","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/ICIJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2021-06-23T08:27:32.000Z","updated_at":"2025-01-29T14:02:25.000Z","dependencies_parsed_at":"2024-04-17T14:46:23.541Z","dependency_job_id":"541bf9e9-a301-4183-860a-9daf0c6740ab","html_url":"https://github.com/ICIJ/prophecies","commit_stats":null,"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fprophecies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fprophecies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fprophecies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICIJ%2Fprophecies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ICIJ","download_url":"https://codeload.github.com/ICIJ/prophecies/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613485,"owners_count":21133522,"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":["django","factchecking","journalism","platform","python"],"created_at":"2024-11-07T15:09:38.938Z","updated_at":"2025-04-12T18:31:38.893Z","avatar_url":"https://github.com/ICIJ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prophecies\n\nAn ICIJ app to conduct data validation and cleaning.\n\n| | Status |\n| ---: | --- |\n| **CI checks** | [![](https://img.shields.io/github/actions/workflow/status/icij/prophecies/main.yml)](https://github.com/ICIJ/prophecies/actions) |\n| **Docker** | [![Docker](https://img.shields.io/docker/v/icij/prophecies?color=%2350ca22)](https://hub.docker.com/repository/docker/icij/prophecies) |\n| **Code Climate** | [![Maintainability](https://img.shields.io/codeclimate/maintainability/ICIJ/prophecies)](https://codeclimate.com/github/ICIJ/prophecies/maintainability) |\n| **Documentation** | 📖 [icij.gitbook.io/prophecies](https://icij.gitbook.io/prophecies) |\n| **API** | ⚡ [icij.github.io/prophecies/api.html](https://icij.github.io/prophecies/api.html) |\n\n## Installation\n\nRequired:\n\n* Python 3.10\n* Node 18.x\n* Poetry \u003e= 1.2\n* Yarn 1.x\n\nTo setup a virtualenv with `poetry` and to install required packages:\n\n```bash\nmake install\n```\n\nTo setup the database:\n\n```bash\nmake migrate\n```\n\nTo create a superuser:\n\n```bash\nmake createsuperuser\n```\n\nFor more customization, this app utilizes [12factor](https://www.12factor.net/)\ninspired environment variables to configure your Django application. You can\ncreate `.env` file using the custom settings variables:\n\n```\nDEBUG=on\nDATABASE_URL=\nCACHE_URL=dummycache://\nSTATIC_URL=/static/\nSOCIAL_AUTH_PROVIDER_KEY=\nSOCIAL_AUTH_PROVIDER_SECRET=\nSOCIAL_AUTH_PROVIDER_HOSTNAME=http://localhost:3001\nSOCIAL_AUTH_PROVIDER_USERNAME_FIELD=uid\nSOCIAL_AUTH_PROVIDER_GROUPS_FIELD=groups_by_applications.prophecies\nSOCIAL_AUTH_PROVIDER_STAFF_GROUP=icijstaff\n```\n\n## Run\n\nTo run app inside its virtualenv, use the following command:\n\n```bash\nmake webpack-build\nmake run\n``` \n\nThen in a separated terminal, build and serve assets with Webpack:\n\n```\nmake webpack-serve\n```\n\nThen visit [http://0.0.0.0:9009](http://0.0.0.0:9009)\n\n### Run tests\n\nTo run the back end tests\n```\nmake test-back\n```\nTo run the front end tests\n\n```\nmake test-front\n```\n\nTo run all tests\n\n```\nmake test\n```\n\n## Publishing a new Docker image manually\n\nRun **one** of these commands depending on the kind of version you need to publish:\n\n```\nmake build # will build the pip deliverables (.egg, .tgz)\nmake patch # will increment to the next release part (alpha →  beta →  rc)\nmake minor\nmake major\nmake publish # will publish on pypi\n```\n\nThen the new tag on Github. The CI will take care of shipping the new version on Docker Hub:\n\n```\ngit push origin main --tags\ngit push origin main\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficij%2Fprophecies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficij%2Fprophecies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficij%2Fprophecies/lists"}