Skip to main content

Built With Stargazers License Telegram Channel


Logo

Python Codeforces API

A Codeforces API wrapper for Python.
Report Bug · Request Feature

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.

(back to top)

Installation

From PyPi (stable)

pip install cforces

From Github (latest)

pip install git+https://github.com/x93bd0/cforces/

(back to top)

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())

(back to top)

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.

(back to top)

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)

Source distribution for cforces 0.2.0
File Size Uploaded
cforces-0.2.0.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cforces 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page