Skip to main content

A Codeforces API wrapper

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cforces-0.2.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cforces-0.2.0-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file cforces-0.2.0.tar.gz.

File metadata

  • Download URL: cforces-0.2.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for cforces-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5c56f45dbd9ba9b2d373703aa113d64abfe67b5872af00defc5d16b4358c7291
MD5 52380c0ff6c795d7d764536861147616
BLAKE2b-256 7afabaf049105f18a8ef7ffb17f1f2deaf66ecd1d72b68ad7b748af04c50b631

See more details on using hashes here.

File details

Details for the file cforces-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cforces-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for cforces-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41a4df6f56301427099a9aa22e35185b28c8f838937d3ab5fdbca25944949142
MD5 1581e84e4bf7710c51518c4c0b4a7fdd
BLAKE2b-256 5cc1833e228fc0ade7984a4dad045495b182aa64109292886c5ce4e2f3f11e10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page