💼 Discover an application dedicated to comparing salaries and financial outcomes between two common French legal structures: SASU and EURL.
🤔 “Which legal structure will provide a better net salary?” This application helps answer this question by providing detailed simulations and graphical visualizations of net salaries, dividends, and overall financial impacts for both SASU and EURL.
Here's a tool that allows you to analyze and optimize your financial decisions based on various parameters like annual turnover, deductible expenses, and dividend distribution. It's ideal for entrepreneurs and business owners who need to make informed decisions about their company's legal structure.
🌐 Access the app and start your analysis now at https://choisirmasociete.sotisai.com.
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:8502
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
