Skip to main content

Client for interacting with LCS, the HackRU backend

Project description


A client for server side Python applications to interact with LCS, the HackRU backend. The general idea is for this to be used with a JSON based web API. For every request to your API, you would ask for a LCS token.

Alternatively you could have your own tokens, and have the user pass in the password again but this will be annoying for the user if they already logged into the HackRU frontend



pip install lcs_client

Development setup

  1. Create virtual environment locally
    virtualenv -p python3 env
    python3 -m venv env
  2. Activate the virtual environment
    source env/bin/activate
  3. Install the required dependencies (prod and dev) into the virtual environment
    pip install -e .[dev]
Installing lcs_client (after making local code changes)

Run the following in terminal:

pip install -e .

This will install the package as if you installed it from PyPi so that you can perform testing using the package rather than the local file

Running tests

Run the following command from terminal:


Generating documentation


  • [Perform Development setup](#Development setup)

Run the following from terminal (which will use the configuration within pdoc-markdown.yml):


The generated documentation is within
Edit the as required according to the changes made

Running the example web application

pip install -r example_requirements.txt

Release on PyPi


  • [Perform Development setup](#Development setup)
  • Ensure version changes are appropriately reflected using semantic versioning in lcs_client/ and (as well as any other source files)
  • Ensure documentation is up to date by following the steps within [Generating documentation](#Generating documentation)
  • Ensure code has been committed to the GitHub repo with a tag and commit message that include the version number
  1. Install wheel to build and twine to upload package
    pip install -e .[build]
  2. Build the source archive and wheel for package
    python sdist bdist_wheel
  3. Examine the archive to ensure it includes the expected files
  4. Check for common errors
    twine check dist/*
  5. Upload to TestPyPi and ensure correctness
    twine upload --repository testpypi dist/*
    If it errors out about not having permissions to upload, simply change the name within and restart from step 2
  6. Upload the new release
    twine upload dist/*

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

lcs_client-2.0.0.tar.gz (7.1 kB view hashes)

Uploaded source

Built Distribution

lcs_client-2.0.0-py3-none-any.whl (5.4 kB view hashes)

Uploaded py3

Supported by

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