About The Project
cforces is a complete implementation of the Codeforces-API, featuring classes for every type of the API, each with detailed documentation for a better understanding.
It's heavily inspired on Pyrogram structure and documentation.
Installation
From PyPi (stable)
pip install cforces
From Github (latest)
pip install git+https://github.com/x93bd0/cforces/
Basic Usage
As an example, in the following code snippet we are obtaining the handles of the friends of the authenticated user and printing their user objects:
from cforces import Client, types
from typing import List
import asyncio
async def main() -> None:
client: Client = Client() # Instantiate a Client object.
client.auth(
YOUR_API_KEY, YOUR_API_SECRET
) # Authenticate yourself with your api_key + api_secret.
async with client as api:
friends_handles: List[str] = (
await api.user_friends()
) # Fetch authenticated user's friends.
friends_users: List[User] = await api.user_info(
friends_handles
) # Fetch a user object for each of those.
for user in friends_users:
print(user) # Print it.
if __name__ == "__main__":
asyncio.run(main())
TODO List
- Finish the documentation.
- Implement helper methods for making the interaction easier.
- Find every possible error and implement it. (partial impl)
- Add tests.
- Fix bug: When a ';' is returned in the error comments, it is treated as a whole new error.
- Better cc2sc
- Fetch data from a running contest for tests.
License
Distributed under the MIT License. See LICENSE for more information.
Metadata
Release files for cforces 0.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 | |
|---|---|---|---|
| cforces-0.2.0.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cforces-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.5 kB
Release files / cforces-0.2.0.tar.gz
| Download URL | cforces-0.2.0.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c56f45dbd9ba9b2d373703aa113d64abfe67b5872af00defc5d16b4358c7291
|
|
BLAKE2b-256 checksum How to use checksums |
7afabaf049105f18a8ef7ffb17f1f2deaf66ecd1d72b68ad7b748af04c50b631
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Release files / cforces-0.2.0-py3-none-any.whl
| Download URL | cforces-0.2.0-py3-none-any.whl |
|---|---|
| Size | 27.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41a4df6f56301427099a9aa22e35185b28c8f838937d3ab5fdbca25944949142
|
|
BLAKE2b-256 checksum How to use checksums |
5cc1833e228fc0ade7984a4dad045495b182aa64109292886c5ce4e2f3f11e10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|