🏡 Discover an application to explore the French real estate market.
🤔 “How much does accommodation cost in my city? In my neighborhood?” These are questions that I have often asked myself. And to my great surprise, it was difficult to find clear and precise answers, in agencies or on the internet. That's why I created this tool.
Here's a little app that lets you dive into real estate transactions in France from 2018 to today. Use customizable filters to analyze market trends by region, year and property type. An ideal tool for individuals and professionals who wish to have an overview of the real estate market.
🌐 Access the app and start your exploration now at https://immo.sotisai.com.
![]() |
![]() |
|---|---|
| Pipeline | Application |
You can run the application in two ways:
- Locally using
uv - Using Docker Compose
uvis a fast and modern Python tool that handles virtual environments and dependencies viapyproject.toml.
-
Install
uv(if not already installed)curl -Ls https://astral.sh/uv/install.sh | sh -
Clone the repository
git clone https://github.com/LudovicGardy/app_name cd app_folder/ -
Create and activate the environment
uv venv
-
On macOS/Linux:
source .venv/bin/activate -
On Windows (PowerShell):
.venv\Scripts\Activate.ps1
-
-
(Optional) If the virtual environment doesn't behave properly
Sometimes, on macOS in particular, the environment might be missing some tooling (like
pip). You can try the following fixes:.venv/bin/python -m ensurepip --upgrade .venv/bin/python -m pip install --upgrade pip # Optional: Only if you need to use Jupyter notebooks .venv/bin/python -m pip install ipykernel -U --force-reinstall -
Launch the app
streamlit run main.py
-
Make sure Docker and Docker Compose are installed and running
-
Go to the project directory
cd path/to/app_folder -
Build and start the app
docker-compose up --build
-
Access the app Open your browser at: http://localhost:8501
This project uses pre-commit to maintain code quality. The following hooks are configured:
- Basic hooks: checking for trailing whitespaces, end-of-file formatting, YAML and TOML file verification, etc.
- Ruff: Python code linting and formatting
- Codespell: spell checking
- Commitizen: checking commit messages according to the defined convention
To install pre-commit:
# Install dependencies
uv pip install pre-commit ruff
# Install git hooks
pre-commit installThe hooks will run automatically with each commit. You can also run them manually:
pre-commit run --all-files # Run on all files
pre-commit run ruff # Run a specific hookRuff configuration is defined in pyproject.toml and includes:
- reStructuredText docstring format
- Import checking
- Double quote formatting
- Line length limited to 100 characters
- LinkedIn: Ludovic Gardy
- Website: https://www.sotisai.com

