TabNews.py
Uma biblioteca massinha para um lugar massinha :)
Sobre • Instalação • Exemplos • Contribuir • Licença
💻 Sobre o projeto
Essa é uma biblioteca Python para consumir a API do Tabnews. Ela tem o proposito de facilitar e optimizar a integração de aplicações Python com o site do TabNews;
📩 Como baixar a biblioteca?
Para instalar localmente a biblioteca em seu computador, você pode usar o Pypi, com o comando:
pip install tabnews
Ou instalar via git:
pip install git+https://github.com/Gustavosta/TabNews.py
🔨 Exemplos de uso
Aqui vamos ver alguns exemplos de uso de como você pode usar a biblioteca para facilitar a comunicação com a API do Tabnews:
➡️ Exemplo 1:
Esse é um caso de uso bem simples, para mostrar como a autenticação funciona:
from tabnews import Client EMAIL = 'user@example.com' PASSWORD = 'SenhaExtremamenteSegura' client = Client(EMAIL, PASSWORD) user = client.get_user() print(f'Logged in as {user.username}')
➡️ Exemplo 2:
Esse é um exemplo de como fazer uma publicação via código.
from tabnews import Client EMAIL = 'user@example.com' PASSWORD = 'SenhaExtremamenteSegura' client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True) post = client.publish_post( title='isso é um teste', content='isso foi publicado com a biblioteca do Tabnews para Python :)', reference='https://github.com/Gustavosta/TabNews.py' ) print(post)
Repare que usei use_preview_tabnews_host=True. Esse parâmetro serve para postar coisas diretamente no ambiente de homologação usando a URL do ambiente extraída via API no repositório oficial do Tabnews.
➡️ Exemplo 3:
Esse exemplo mostra como dar upvote em um post, passando como parâmetro o username do usuário e o slug ou parent_id de um conteúdo:
from tabnews import Client TOKEN = 'TokenOuCookieExtraidoAPartirDaAutenticacao' client = Client(token=TOKEN, save_session=True) upvote = client.upvote( 'filipedeschamps', 'tentando-construir-um-pedaco-de-internet-mais-massa' ) print(upvote)
Note que dessa vez, eu usei o parâmetro token no client para autenticação, o que também é possível, mas não tão recomendado, já que tokens podem expirar e não durarem muito.
➡️ Exemplo 4:
Esse exemplo mostra como obter os dados de uma postagem e como comentar em uma postagem:
from tabnews import Client EMAIL = 'user@example.com' PASSWORD = 'SenhaExtremamenteSegura' client = Client(EMAIL, PASSWORD, save_session=True, use_preview_tabnews_host=True) post = client.get_post( 'sowlfie', 'isso-e-um-teste' ) comment = client.publish_comment( parent_id=post.id, content='Teste de comentário' ) print(comment)
Repare que usei o parâmetro save_session, que a biblioteca usa para salvar as configurações de autenticação para a sessão e diminuir o tempo de autenticação (que por padrão é True). Você também pode usar: config_path para escolher o caminho de salvamento ou carregamento das configurações em formato json.
➡️ Exemplo 5:
Esse exemplo mostra como editar uma postagem ou comentário:
from tabnews import Client EMAIL = 'user@example.com' PASSWORD = 'SenhaExtremamenteSegura' client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True) post = client.edit_post( username='sowlfie', slug='isso-e-um-teste', title='Isso é um teste (título editado)', content='isso foi publicado e editado com a biblioteca do Tabnews para Python :)', reference='https://github.com/Gustavosta/TabNews.py' ) comment = client.edit_comment( comment_slug='f0777d39-055a-4e44-b3cf-dabf0e2176bb', parent_id=post.id, content='Esse é um comentário publicado e editado com a mesma lib' )
➡️ Exemplo 6:
Esse exemplo mostra como deletar uma postagem ou comentário:
from tabnews import Client EMAIL = 'user@example.com' PASSWORD = 'SenhaExtremamenteSegura' client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True) post = client.delete_post( slug='isso-e-um-teste' ) comment = client.delete_comment( comment_slug='f0777d39-055a-4e44-b3cf-dabf0e2176bb' )
💛 Quer contribuir
Caso queira contribuir, você pode criar uma issue documentando as alterações sugeridas antes de criar um pull request, linkar o PR à issue, preferencialmente utilizar nomes de branch com o seguinte padrao:
/<tipo de alteração>-<descrição da issue>
EX: 001/Hotfix-correcao-tabela-principal
Utilizar os tipos [Feature|Hotfix|Update]
Qualquer duvida ou sugestão, sinta-se a vontade para abrir uma nova issue, assim temos espaço para discutir as alterações/duvidas.
📜 Licença
Metadata
Release files for tabnews 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tabnews-1.2.0.tar.gz | 11.9 kB | Without provenance | Details for tabnews-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tabnews-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for tabnews-1.2.0-py3-none-any.whl |
Total release size: 24.7 kB
Release files / tabnews-1.2.0.tar.gz
| Download URL | tabnews-1.2.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9730ec9624ec5554e42a0d593b3492e0b13572d669f7df288ea0a22b433b0c1
|
|
BLAKE2b-256 checksum How to use checksums |
dab745b1f064035b542ac12f78a754c199bf20b6d04fc5357c7e168a04bb33b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|
Release files / tabnews-1.2.0-py3-none-any.whl
| Download URL | tabnews-1.2.0-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
323f35d0ef61667f3f0a631e832cfe6dffb4069b5bb68676ee2ddb91d7ba0d6b
|
|
BLAKE2b-256 checksum How to use checksums |
6f49742d632f2267d757fb3640287eded1ee19e01f6e32e37874eb298b9b7f84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|
Security for tabnews 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.