Welcome to ANYWAY!
ANYWAY is a volunteer based project acting under the umbrella of the Public Knowledge Workshop (“HASADNA”).
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.
ANYWAY’s Interactive Map:
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.
ANYWAY Schools Report
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 Infographics Generator - Our Next Challenge
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.
The Public Knowledge Workshop (“HASADNA”) is a volunteer-based, non-profit, non-governmental, and non-political organization, working to promote transparency and civic involvement by building open source technological tools to liberate valuable data collected by public institutions and make them accessible, simple and understandable for everyone. The Public Knowledge Workshop functions as an organizational basis to the projects acting within it. One of those projects is ANYWAY.
The Israel National Road Safety Authority (הרשות הלאומית לבטיחות בדרכים)
- Please take a moment to read our "Contributing to ANYWAY" manifest.
Getting the code
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
- Add the main repository as your upstream remote:
git remote add upstream https://github.com/hasadna/anyway
- 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
To run pylint tests:
pylint -j $(nproc) anyway tests && pytest -m "not browser" ./tests
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.
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.
Altering the database schema
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.
Translation and Localization