-
Notifications
You must be signed in to change notification settings - Fork 11
Pycord v3 Rewrite #194
base: main
Are you sure you want to change the base?
Pycord v3 Rewrite #194
Conversation
This is a mostly full rewrite of v3 aiming for fully MyPy compatibility and the ability to hopefully compile with `mypyc`.
This design is not final! But, it is a nice design we are actively developing towards.
hola, would you like api endpoints (again) |
Maybe a reverse uno, I do all the endpoints and you help out with the models lol, the models are what I struggle with the most, I don't know why, I think it's just because of how repetitive it is. To finish v3, I would probably need someone else to do the bulk of the impl for models |
So how are the models made and where do I put them |
Tasks! Tasks! and Tasks! This is basically a full reimplementation to replace the old v2 ext.tasks, built from scratch. Why? Because I was very bored.
Woke up planning on doing homework, made routes instead: 7cf6a6c |
🔥 |
Update: I still did my homework |
Summary
This rewrite's Pycord v3 for the final time to be more flexible, extensible, and faster.
This new version of v3 follows a very strict set of guidelines and goals set by me and many other
people part of the wider Pycord Development Community, including developers of large bots, and core developers.
The guideline aims for a stricter, fancier, and more functional way of creating Discord bots in Python as opposed to our predecessors. While it may be harder for beginners, in the long run the goal is to make it so developers can make bots lightning fast, and more efficient than other libraries.
MyPy(c)
A former goal of the v3 Guidelines were to achieve full strict type-safety to compile with mypyc. That, at least for 3.0.x, won't be the goal. While we will still aim for type-safety to lessen bugs, for the near future the majority of Pycord v3 won't be compiled into C using MyPy.
Rust in Pycord
The part of Pycord that utilizes Discord's Voice & Video features will be written mostly in Rust. This allows us to:
However, Voice & Video is going to be added after this PR. This PR aims to add all the basic low-level parts of the Discord API & Gateway, as well as every API endpoint. Models (Guild, Member, User, etc,) after, then Voice & Video.
Information
examples, ...).
Checklist
type: ignore
comments were used, a comment is also left explaining why.