Skip to main content

A comprehensive Python API for Competitive Programming sites like Codeforces

Project description

CF Pipeline

A command-line interface tool for automating Codeforces competitive programming workflows.

Version Status

Overview

CF Pipeline is a CLI application that streamlines interaction with the Codeforces competitive programming platform. Built with a "plumbing and porcelain" architecture (inspired by Git), it provides a set of composable commands for automating common Codeforces tasks.

Features

  • Problem retrieval: Download contest problems directly to your local environment
  • Solution testing: Test your solutions against sample test cases before submission
  • Workflow automation: Combine commands to create custom workflows
  • Framework extensibility: Build your own commands on top of the core framework

Installation

from github:

  • fork and pull repository
  • navigate to project in terminal
  • from the top level of project, run
pip install -e .
pip install -r requirements.txt

or get it straight from pypi with

pip install cf-pipeline

Usage

Basic commands:

# Get a specific problem
cf-getproblem <contest-id> <problem-index>

# Test your solution against problem test cases
cf-testproblem <solution-file> <contest-id> <problem-index>

# plus many more.

for a complete list of commands, see here

Architecture

CF Pipeline follows a modular approach:

  • Core modules: Problem representation, contest data, and configuration management
  • Commands: Single-purpose tools that can be combined into workflows
  • API utilities: Tools for interacting with the Codeforces API

Why Use CF Pipeline?

  • Save time: Automate repetitive tasks in the competitive programming workflow
  • Focus on coding: Reduce time spent on administrative tasks
  • Integration: Use from your terminal without switching to the browser
  • Customization: Build and extend with your own commands and workflows

Development Status

This project is in early alpha development (version 0.0.5 "AlmostAlpha"). Many planned features are still in progress.

Contributing

Contributions are welcome! See our contribution guidelines for details.

License

See the LICENSE file for details.

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

cf_pipeline-0.0.8.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

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

cf_pipeline-0.0.8-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file cf_pipeline-0.0.8.tar.gz.

File metadata

  • Download URL: cf_pipeline-0.0.8.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cf_pipeline-0.0.8.tar.gz
Algorithm Hash digest
SHA256 28d9cdf94e7c954fef0b8ca287c5d74480569b7d1a7647b1312daf02bfabacb7
MD5 9df2e822eaf04d6e2aa75638204eb8f5
BLAKE2b-256 9ebe85792b9c84ff1c4cf91cd66938d90e1850815c7a4d95f467485e81a1a4b5

See more details on using hashes here.

File details

Details for the file cf_pipeline-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: cf_pipeline-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cf_pipeline-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f22b48d1f9230dde47dca5884259ec4b2f01ebbaa145fbbaf12df73504a7da63
MD5 9ba80e04514cc290b20782f9d99b1d5a
BLAKE2b-256 291f6561cf05d2113555f5ed3cf7fb34a4cd9eebb606afb4fddc2430fbc62275

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