{"id":25198710,"url":"https://github.com/viniventur/login_sei_streamlit","last_synced_at":"2026-02-13T23:35:07.648Z","repository":{"id":276680799,"uuid":"929956780","full_name":"viniventur/login_sei_streamlit","owner":"viniventur","description":"Este projeto visa utilizar o Sistema Eletrônico de Informações (SEI) como ferramenta de autenticação em aplicativos em Streamlit por meio de automações e raspagens implementadas com o Selenium.","archived":false,"fork":false,"pushed_at":"2025-02-10T17:50:25.000Z","size":9051,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T10:34:28.908Z","etag":null,"topics":["chromedriver","dashboard","login","python","sei","selenium","streamlit"],"latest_commit_sha":null,"homepage":"https://log-in-sei.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viniventur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-09T19:30:51.000Z","updated_at":"2025-02-12T12:58:07.000Z","dependencies_parsed_at":"2025-07-21T10:26:58.060Z","dependency_job_id":null,"html_url":"https://github.com/viniventur/login_sei_streamlit","commit_stats":null,"previous_names":["viniventur/login_sei_streamlit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/viniventur/login_sei_streamlit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniventur%2Flogin_sei_streamlit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniventur%2Flogin_sei_streamlit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniventur%2Flogin_sei_streamlit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniventur%2Flogin_sei_streamlit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viniventur","download_url":"https://codeload.github.com/viniventur/login_sei_streamlit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniventur%2Flogin_sei_streamlit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29423534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chromedriver","dashboard","login","python","sei","selenium","streamlit"],"created_at":"2025-02-10T03:18:35.273Z","updated_at":"2026-02-13T23:35:07.631Z","avatar_url":"https://github.com/viniventur.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Login SEI com Streamlit App\n\n\u003cdiv style=\"display: flex; align-items: center;\"\u003e\n    \u003cimg src=\"src/assets/logo_sei.png\" alt=\"SEI\" width=\"50\" style=\"margin-right: 10px;\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Streamlit-FF4B4B?style=for-the-badge\u0026logo=Streamlit\u0026logoColor=white\" alt=\"Streamlit\" width=\"150\" style=\"margin-right: 10px;\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Selenium-43B02A?style=for-the-badge\u0026logo=Selenium\u0026logoColor=white\" alt=\"Selenium\" width=\"140\"\u003e\n\u003c/div\u003e\n\n## Descrição do projeto\n\nEste projeto visa utilizar o Sistema Eletrônico de Informações (SEI) como ferramenta de autenticação em aplicativos em **Streamlit** por meio de automações e raspagens implementadas com o **Selenium**.\n\n## Principais Características\n\n- **Automatização Segura**: Nenhuma informação de login ou senha é armazenada, garantindo a privacidade dos usuários.\n- **Ausência de Cache em Dados Sensíveis**: O login não é salvo em cache, evitando a retenção de credenciais.\n- **Interatividade Simples**: Os dados de login são inseridos diretamente no app e preenchidos automaticamente no SEI.\n- **Execução na Nuvem**: O aplicativo funciona na nuvem do Streamlit, utilizando **Chromedriver headless**, inclusive se acessado em dispositivos móveis.\n- **Disponível Online**: O app pode ser acessado pelo link: [log-in-sei.streamlit.app](https://log-in-sei.streamlit.app/)\n\n\n\n## Estrutura do Projeto\n\n1. **Página de Login**\n   - Interface inicial com campos de entrada para credenciais.\n   - A navegação entre páginas é bloqueada até que o login seja efetuado.\n   - O sidebar fica desativado até a autenticação ser validada.\n\n2. **Extração de Órgãos Disponíveis**\n   - Raspagem da lista de órgãos diretamente da tela de login do SEI.\n   - Dados dos órgãos disponíveis armazenados em cache para otimizar a seção de outros usuários.\n   - Implementado em `utils/login.py` na função `lista_orgaos_login()`.\n\n3. **Automação do Login**\n   - O **Chromedriver** é utilizado para preencher e submeter as credenciais.\n   - O usuário é automaticamente redirecionado após o login.\n   - Disponível em `utils/login.py` na função `login_sei()`.\n\n4. **Gerenciamento de Sessão com `st.session_state`**\n   - A variável `login_efetuado` impede a navegação caso o login não tenha sido realizado.\n   - Garante que apenas usuários autenticados possam acessar as demais páginas do aplicativo.\n\n## Tecnologias Utilizadas\n\n- **Linguagem**: Python\n- **Bibliotecas**:\n  - `Streamlit`: Para construção do aplicativo.\n  - `Selenium`: Para automação e raspagem de dados utilizando o **chromedriver**.\n\n## Como Executar o Projeto\n\n1. **Clone o Repositório**\n    ```\n    git clone https://github.com/viniventur/login_sei_streamlit.git\n    cd login_sei_streamlit\n    ```\n\n2. **Crie um Ambiente Virtual e Instale as Dependências**\n    ```\n    python -m venv venv\n    source venv/bin/activate  # Linux/Mac\n    venv\\Scripts\\activate  # Windows\n    pip install -r requirements.txt\n    ```\n\n3. **Adicione o site do seu SEI no secrets.toml**\n\n    ```\n    SITE_SEI = \"URL\"\n    ```\n\n\n4. **Execute o Aplicativo**\n\n    ```\n    streamlit run pag_login.py\n    ```\n\n## Licença\n\nEste projeto é licenciado sob a Licença MIT.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniventur%2Flogin_sei_streamlit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviniventur%2Flogin_sei_streamlit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniventur%2Flogin_sei_streamlit/lists"}