Releases: lucasrodes/whatstk
v0.7.1
Fixes bug that prevented chats with certain unicode characters to be correctly parsed (using automatic hformat
detection).
This was surfaced by a user using the live demo at https://whatstk.streamlit.app/. In their example character \u202f
was the root cause of the error.
v0.7.0
Release of v0.7.0.
Summary
- ZIP support: Ability to read from a .zip file, just how the chat is exported on an iOS device.
- (EXPERIMENTAL) System messages
- In
df_from_whatsapp
: Usemessage_type=True
to label each row as 'system' or 'user` depending on whether the message is from the user or the system. - in
WhatsAppChat.from_source
: Useextra_metadata=True
to create additional class attributeschat.df_system
(table with all system messages) andchat.name
(name of the chat) - NOTE 1: System messages are identified by their username (they use the name of the chat).
- NOTE 2:
extra_metadata
only makes sense when working with group chats. - NOTE 3: Group chats are identified as "chats with more than 2 users (including 'system')
- In
- Python 3.12: Add support for python 3.12. Remove support for 3.8.
- Rename of core function
df_from_txt_whatsapp
→df_from_whatsapp
(keep old name as alias). - Update GIFs of chat exports (iOS).
- Windows: fix minor bug on Windows chat exports
- Docs fixes: Badge, documentation, README typos.
Relevant PRs:
v0.6.3
Merge pull request #138 from lucasrodes/release/v0.6.3 Release/v0.6.3
v0.6.2
Minor fixes to the documentation.
v0.6.1
Bump plotly version to ~5.0.0
v0.6.0
- Support for
python=3.10
andpython=3.11
. - Minor documentation corrections
v0.5.0
Contents
Enhancements #
Windows support #
Details in #119
CI/CD for Windows created. Passing all tests.
Previously reported errors (#102) due to encoding problems.
GDrive support #
Motivated by #113
Load a chat from Google Drive
You can also load a file saved in your Google Drive. Note that in order to do so, you need first to configure the
credentials to interact with Google Drive.
Configure credentials
In particular, you need the client secret JSON file. This can be downloaded from the Google Console. To get this file, we recommend following this tutorial, which is
inspired by PyDrive2 documentation. Some
important additions to previous tutorials are:
- Make sure to add yourself in Test users, as noted in this thread
- Select Desktop App instead of Web Application as the application type when creating the OAuth Client ID.
Once you have downloaded the client secrets, run gdrive_init
, which will
guide you through the Authentification process. You will need to access a link via your browser and copy paste a
verification code.
from whatstk.utils import gdrive_init
gdrive_init("path/to/client_secrets.json")
This should only be run the first time to correctly configure your Google credentials.
Load a file from Google Drive
You can pass a file reference to WhatsAppChat
by means of its ID. All files in Google
Drive have a unique ID. To obtain it, create a shareable link, which will have the following format:
https://drive.google.com/file/d/[FILE-ID]/view?usp=sharing
Now, simply copy [FILE-ID]
and run:
from whatstk import WhatsAppChat
chat = WhatsAppChat.from_source("gdrive://[FILE-ID]")
Note that Google Drive file IDs are passed with the prefix gdrive://
.
Pandas friendly #
Details in #122
Method df_from_txt_whatsapp
is now available from root, e.g.:
from whatstk import df_from_txt_whatsapp
df = df_from_txt_whatsapp("path/to/chat.txt")
The motivation is to make it more pandas-friendly.
Dependencies #
Details in #121
Generate and GDrive functionalities now deemed as extensions. To install dependencies for these run pip install whatstk[gdrive]
and pip install whatstk[generate]
, respectively.
Deprecated #
cummulative
#
Details in #120
Legacy argument cummulative
deprecated from methods get_interventions_count
, and user_interventions_count_linechart
Bug fixes #
Remove print statement #
There was a print statement in the library.
Properly add static files to the library #
That means:
- Add
__init__.py
module to library folders containing static files. - Add static files to MANIFEST.in
v0.5.0.rc1
See updates in #123
v0.5.0.rc0
Merge pull request #123 from lucasrodes/release/0.5.0 Release/0.5.0
v0.4.1
When exporting a WhatsAppChat to CSV, exclude the index column.