66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
[](https://github.com/astral-sh/ruff)
|
||
__________________________________________________________________________________________________________
|
||
# sfm, v 0.0.1
|
||
__sfm__
|
||
|
||
| | Исполнитель | Заказчик |
|
||
|-----------|:----------------------------------------:|:----------------------------------------------:|
|
||
| Сотрудник | raykov-mse | raykov-mse |
|
||
| Отдел | aurora | aurora |
|
||
| Контакты | raykovmse@rshb.ru | raykovmse@rshb.ru |
|
||
-----
|
||
## Архитектура
|
||
|
||
```text
|
||
main.py
|
||
app/
|
||
config.py # переменные окружения с префиксом OPENBAO__SETTINGS__
|
||
ui.py # ui-компоненты
|
||
auth/
|
||
service.py # orchestration auth/session
|
||
providers.py # local/mock и prod/raisa провайдеры
|
||
mock_provider.py # мок для локального запуска
|
||
```
|
||
|
||
## Режимы запуска
|
||
|
||
- `OPENBAO__SETTINGS__LOCATION=local` -> локальный mock вход через форму.
|
||
- `OPENBAO__SETTINGS__LOCATION=prod` (или пусто) -> вход через `raisa_streamlit_oauth`.
|
||
|
||
## Важно по raisa-streamlit-oauth
|
||
|
||
- Используется версия `raisa-streamlit-oauth==1.0.3`.
|
||
- До старта приложения выполняется `load_dotenv()`.
|
||
- Переменные `OPENBAO__SETTINGS__*` автоматически маппятся в обычные
|
||
(`AUTHORIZE_URL`, `TOKEN_URL`, `APP_NAMESPACE` и т.д.), чтобы библиотека
|
||
работала по каноничному шаблону из документации.
|
||
|
||
## Быстрый старт
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
.\.venv\Scripts\activate
|
||
pip install -r requirements.txt
|
||
copy .env.example .env
|
||
streamlit run main.py
|
||
```
|
||
|
||
## Линт и формат
|
||
|
||
```bash
|
||
ruff check .
|
||
ruff format .
|
||
```
|
||
|
||
## Pre-commit
|
||
|
||
```bash
|
||
pre-commit install
|
||
pre-commit run --all-files
|
||
```
|
||
|
||
Используются хуки:
|
||
- `black`
|
||
- `isort`
|
||
- `ruff` и `ruff-format`
|