Illegal Airbnb listings are contributing to housing shortage in BC. This project aims to flag Airbnb listings that violates BC short-term rental policy.
More information can be found in Home wiki.
Check out Architecture wiki
This project is set up in 2 modules: data ingestion and listing processing. The results/views are displayed on Grafana dashboard.
- Data ingestion module: To ensure Airbnb compliance with local rules and regulations, data scraping is necessary to verify if each listing meets the required standards.
- Listing processing module: To determine illegal rental listings on Airbnb, it is important to make sure business registry for each listing is validated. A system composed of policies and rules needs to be set up to effectively handle a large number of listings.
- Grafana dashboard
This package uses Poetry to manage dependencies and isolated Python virtual environments.
To proceed, install Poetry globally onto your system.
Please note that Python 3.8+ is required to install Poetry per System requirement.
Dependencies are defined in pyproject.toml
and specific versions are locked
into poetry.lock
. This allows for exact reproducible environments across
all machines that use the project, both during development and in production.
To make sure virtual env is created in project's root directory
$ poetry config virtualenvs.in-project true
To confirm the config has been changed, it can be checked with
$ poetry config --list
Please note if a virtual environment has already been created under
{cache-dir}/virtualenvs
, setting this totrue
will not cause poetry to create or use a local virtual environment.To remove an existed env, list the env and remove it with
$ poetry env list --full-path // see list of env-paths $ poetry env remove env-path
To install all dependencies into an isolated virtual environment:
Append
--sync
to uninstall dependencies that are no longer in use from the virtual environment.
$ poetry install
To activate the virtual environment that is automatically created by Poetry:
$ poetry shell
To deactivate the environment:
$ exit
To upgrade all dependencies to their latest versions:
$ poetry update
To add dependency:
$ poetry add <dependency_name>
To add development dependency:
$ poetry add -G dev <dependency_name>