Originally created by: supreme-gg-gg
We are considering migrating from curses in Python to ink in TypeScript with the following reasons:
[!IMPORTANT]
Disregard of the final decision, the Python CLI client will always be actively maintained and supported. However, certain new features may only be available on TS client.
Ink is very commonly used by big projects in industry and actively maintained, it offers (subjectively) a more modern and aesthetic UI style compared to curses
We will be able to support Windows users natively because currently curses is UNIX based and have various issues when running on Windows without WSL. We also expect that Ink will resolve some color and style inconsistencies across platforms and terminal emulators
As proposed in [#74] the typescript package for realtime messaging, Instagram MQTT, is mature and verified to function and this is more reliable than creating our own MQTT client in Python
We will be able to replace Instagrapi with the Typescript Instagram Private API which is more user friendly for developers and typescript will make it easier to handle API development
We do not believe there will be any downside in terms of performance
We would appreciate the community's feedback on this, please comment below. We also appreciate any effort in helping us with the migration process and adding support for real-time messages.
Originally posted by: Quimisagi
Interesting. It looks like it only has advantages, but I was wondering how difficult it would be to migrate everything to TS.
Originally posted by: endernoke
Migration should be fairly easy we can rely on LLMs since they are well-trained on react code.
The only downside I can think of is community adoption, since some hardcore linux users might prefer a more OG CLI/TUI experience built on curses. Also there are more JS haters than Python haters out there lmao
Originally posted by: Quimisagi
What’s important is whether it can do its job well, rather than the technology it’s built with, so I don’t think that should be a deal-breaker. If it makes development easier with minimal performance cost then I believe it’s absolutely worth it.
Originally posted by: supreme-gg-gg
We have decided on the migration and it's WIP in
ts-migration/main. Issues tagged with[ts]will be applied to typescript, otherwise it is python client. I will close this will track progress in [#85]Related
Tickets:
#85Ticket changed by: supreme-gg-gg
Ticket changed by: supreme-gg-gg
Ticket changed by: supreme-gg-gg