Skip to content

Releases: lucasrodes/whatstk

v0.7.1

29 Jun 23:52
85344f3
Compare
Choose a tag to compare

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

22 Jun 17:00
bbf7fe3
Compare
Choose a tag to compare

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: Use message_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: Use extra_metadata=True to create additional class attributes chat.df_system (table with all system messages) and chat.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')
  • Python 3.12: Add support for python 3.12. Remove support for 3.8.
  • Rename of core function df_from_txt_whatsappdf_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

21 Aug 18:27
9bd382e
Compare
Choose a tag to compare
Merge pull request #138 from lucasrodes/release/v0.6.3

Release/v0.6.3

v0.6.2

10 Aug 10:16
6941271
Compare
Choose a tag to compare

Minor fixes to the documentation.

v0.6.1

08 Aug 23:03
fb4339e
Compare
Choose a tag to compare

Bump plotly version to ~5.0.0

v0.6.0

01 Apr 18:50
e0dc735
Compare
Choose a tag to compare
  • Support for python=3.10 and python=3.11.
  • Minor documentation corrections

v0.5.0

06 Jun 20:50
0715386
Compare
Choose a tag to compare

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 #

Details in #117, #116

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

05 Jun 22:54
0334ece
Compare
Choose a tag to compare
v0.5.0.rc1 Pre-release
Pre-release

See updates in #123

v0.5.0.rc0

05 Jun 22:17
3bd30d7
Compare
Choose a tag to compare
v0.5.0.rc0 Pre-release
Pre-release
Merge pull request #123 from lucasrodes/release/0.5.0

Release/0.5.0

v0.4.1

28 Apr 22:00
74abeea
Compare
Choose a tag to compare

When exporting a WhatsAppChat to CSV, exclude the index column.