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

cfapi 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/cfapi/

(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.
  • Add 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.1.tar.gz (15.5 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.1-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cforces-0.1.tar.gz
Algorithm Hash digest
SHA256 c8b939543d97d1d0e1951bfeba9553ac7ae8cedaf255e6ba1c2d1e8cbcd822a2
MD5 502c38c8720e997cd270b27c69de39cb
BLAKE2b-256 8d55d4d6ce88aeb4b0259159eb4c77d4407a6fd498ed257077697f7dca70ec58

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for cforces-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f6c6c52e084194181430d8de24d91d67c58359ed13768f4c8b0e4c8539c6c881
MD5 40a09cb42c3fca03e8ec3c428b49fe06
BLAKE2b-256 6f368b880a626b9878ba5a7530afaca70b19fdc15d3f27ca92eb08437993df97

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