Pular para conteúdo

Sociopyta

Projeto em estado bastante inicial.

Sincronização para posts em redes sociais.

A ideia do sociopyta é unificar postagens em redes sociais partindo de uma fonte única. O que chamamos de POSSE.

Por exemplo, se você tiver um blog e quiser que suas postagens sejam sincronizadas entre diversas redes:

graph TD
  subgraph socipyta
    b2[blog]  -- pull --> sync[Sync RSS]
    sync --> publish
    publish -- call --> plugins
  end

  subgraph plugins
    mastodon
    pixelfed
    bluesky
    O[Outros plugins]
  end

  subgraph P[Seu processo]
    post --> b1[blog]
  end

O sociopyta pode ser executado periodicamente como um leitor de feeds geralmente faria e repostar de forma personalizada em cada rede social.

Funcionalidades

  • Exportação para diversas redes sociais

  • Sincronização de fontes

    • RSS
    • [Planejado] OPML
    • [Planejado] integrações via plugins
  • Crospost via CLI

Como usar?

Instalação

Você pode instalar usando qualquer instalador python, mas recomendo alguma ferramenta que instale executáveis. Como o pipx ou uv:

pipx install git+https://codeberg.org/dunossauro/sociopyta.git
uv tool install git+https://codeberg.org/dunossauro/sociopyta.git

O pacote ainda não foi publicado no pypi

Instalação dos plugins

Em plugins, você pode ver os plugins nativos da aplicação.

Basicamente, durante a instalação do sociopyta você pode adicionar:

pipx install "sociopyta[all] @ git+https://codeberg.org/dunossauro/sociopyta.git"
pipx install "sociopyta[mastodon] @ git+https://codeberg.org/dunossauro/sociopyta.git"
pipx install "sociopyta[atproto] @ git+https://codeberg.org/dunossauro/sociopyta.git"
pipx install "sociopyta[pixelfed] @ git+https://codeberg.org/dunossauro/sociopyta.git"

Modo CLI

No modo CLI são feitas as configurações, a sincronização de um feed RSS e também uma ferramenta de postagem.

Postagem

sociopyta post --text "Pamonha 1 real!"
sociopyta post --text "Pamonha 1 real!" photos/pamonha.png photos/milho.jpeg

Configuração

A ideia é que cada plugin exponha sua configuração via CLI, logo, é mais simples configurar individualmente.

Algo como:

sociopyta config mastodon #(1)!
  1. Onde mastodon aqui, pode ser qualquer plugin que você tenha instalado

Um menu interativo se abrirá e você deve fornecer os dados referidos pelo plugin.

Outras funções...

$ sociopyta --help
Usage: sociopyta COMMAND

╭─ Commands ─────────────────────────────────────────────────────╮
│ config                                                         │
│ post                                                           │
│ sync                                                           │
│ --help -h  Display this message and exit.                      │
│ --version  Display application version.                        │
╰────────────────────────────────────────────────────────────────╯

Como contribuir?

Existem diversas forma de contribuir com esse projeto:

  • Documentação
  • Revisão de código
  • Implementação de novos plugins
  • Sinta-se em casa :)