Welcome to ANYWAY!
ANYWAY is a volunteer based project acting under the umbrella of the Data For Change
Feel free to contribute to the project. To report bugs and feature requests, please open an issue on GitHub. See Code Directory Tree Structure.
Note: This is ANYWAY BackEnd repository. If you're a FrontEnd developer see our FE repository here.
At ANYWAY we aim to reduce road accidents by:
- Raising public awareness of existing road hazards, thereby leading towards safer road behaviour.
- Collaborating with authorities in order to assist and drive them to find solutions in light of Vision Zero. Such solutions will improve road infrastructure and behavioural problems in attempt to prevent road fatalities.
Take a look at our facebook page. See also our Android app and iOS app on GitHub.
ANYWAY presents locations over an interactive map as well as information regarding traffic accidents including casualties, information originating from the Central Bureau of Statistics (הלשכה המרכזית לסטטיסטיקה) and traffic violations as reported by road vigilantes (שומרי הדרך). The website allows visitors to discuss possible solutions in their residential or drive zone with the goal of coming up with field solutions by both drivers and pedestrians, on both local and national scope.
The map is also available at oway.org.il.
At the beginning of one of the school years we created a report of pedestrian accidents around schools - this is one simple example of insights that can be extracted from the data that we have.
ANYWAY’s next challenge is to form an automatic generator of infographics to empower and serve journalists, bloggers, public opinion leaders, community leaders etc. in the era of data journalism. The generated infographics will enhance reporting and news writing with the use of statistics. Each infographic will be created for a real-time road accident related news flash and will provide a deeper insight into the story based on historical data. This, we believe, will increase both the quantity and quality of articles dealing with road accidents, and will result in raising public awareness and creating pressure on decision makers to initiate infrastructure improvements in light of Vision Zero. Relevant github repositories:
- Infographics FrontEnd
- ANYWAY ETL Flows Note: ANYWAY ETL Flows uses current repository code - to update ANYWAY ETL with most updated anyway code, the change needs to be introduced in a release of anyway-etl.
Data For Change (“NATOON LESHINUI” - in hebrew ״נתון לשינוי״) is a volunteer-based, non-profit organization, promoting transparency and opening data from governmental and public organizations. Together with our volunteers community, we are developing technological tools for accessibility and analysis of data, enhancing practical use of data for data-driven decision-making, providing decision-makers with accessible information and creating public discourse. Our volunteers are made of talented programmers, data analysts, data scientists, product managers and designers who seek to use their skills in order to create a positive data driven change in the world.
Read about Vision Zero: Hebrew, English
Take a look at the daily reports, 2018 yearly report (Hebrew)
- Please take a moment to read our "Contributing to ANYWAY" manifest.
If you are setting up anyway on Windows using WSL - PLEASE MAKE SURE TO COMPLETE THE FOLLOWING STEPS FROM YOUR WSL TERMINAL!!!
- Fork this repository on GitHub
git clone https://github.com/*you*/anyway
cd anyway
- Add the main repository as your upstream remote:
git remote add upstream https://github.com/data-for-change/anyway
- Note that at this stage your workstation isn't ready yet, Please see DOCKER instructions for feather instructions.
- Get updates whenever you start working:
git pull upstream dev
- Push to your fork when you've committed your changes and tested them:
git push
. Now make sure CI tests are passing (see Actions tab) and make a pull request from your fork on GitHub
In order to use WSL2, please follow these official Docker instructions. Note that although you run Docker from a Linux distribution, you are instructed to install the Docker Desktop app, and specify usage of WSL2
We are using DOCKER. See DOCKER
See also an introductory lecture by Assaf Dayan.
To format the code using black: black anyway/**/*.py -l 100 anyway
should be executed from the root directory.
Alternatively, one can execute docker run -v $(pwd):/code jbbarth/black anyway -l 100
to run the command with docker.
To run pylint tests: pylint -j $(nproc) anyway tests && pytest -m "not browser" ./tests
If you also wish to run the real browser tests, replace-m "not browser"
with --driver Chrome
or specify the browser of your choice. To learn more, read about pytest-selenium.
When creating a patch that alters the database schema, you should use generate the appropriate Alembic revision by running:
alembic revision --autogenerate -m "Description of the change"
Make sure to commit your revision together with the code.
See TRANSLATE