Skip to main content

Automatic correction for The Bridge Exercises

Project description

The Bridge Coding Problems Autochecker (CPA)

graph TD;
    Check?--yes-->TypeOfProblem?;
    Check?--no-->ThoughtProblem;
    ThoughtProblem-->hints;
    ThoughtProblem-->solution;
    TypeOfProblem?-->EqualityCheckProblem;
    EqualityCheckProblem-->Expected;
    EqualityCheckProblem-->Check;
    EqualityCheckProblem-->Hints;
    EqualityCheckProblem-->Solution;
    EqualityCheckProblem-->Vars;

    TypeOfProblem?-->FunctionProblem;
    FunctionProblem-->Vars;
    FunctionProblem-->TestCases;
    FunctionProblem-->Hints;
    FunctionProblem-->Solution;
    FunctionProblem-->Check;
    TypeOfProblem?-->Other;
    Other-->CodingProblem;

Steps for PyPI publishing

  1. Create a package folder (learntools) containing separated modules (e.g. core, python, ...).
  2. Each module contains the solutions for each of the problems. We can separate the problems in different blocks. For example, one for Python Basics, another one for pandas and so on.
  3. The next file is __init__.py. The double underscores in the filename tell you that this is a special file. __init__.py represents the root of each package. It should usually be kept quite simple, but it’s a good place to put package constants, documentation, ...
    • Inside init we export modules so that, calling from learntools.core import * we can have access to that modules, e.g. binder without doing, learntools.core..globals_binder.binder.
  4. In notebooks folder we are going to test the modules. TODO: Introduce testing files and introduce them in a test folder.
  5. Each Python project should use a file named pyproject.toml to specify its build system. In this case, the one specified is setuptools as a build system as well as which dependencies Python must install in order to build your package. Typically, the documentation of your chosen build system will tell you how to write the build-system table in pyproject.toml.
  6. The more interesting information that you need to provide concerns your package itself. PEP 621 defines how metadata about your package can also be included in pyproject.toml in a way that’s as uniform as possible across different build systems.
  7. Update version:
    bumpver update [--major | --minor | --patch] 
    
  8. Generate wheel and source files inside dist folder
    python –m build
    
  9. Update dependencies in pyproject.toml and in this README
  10. Update the Changelog
  11. Publish the package
    twine upload dist/*
    

Dependencies tracking

[07/09/22] core: [pandas] [v1.1.0] problem_view: [ipywidgets]

Next Steps

  • Introduce testing files and introduce them in a test folder
  • Fill LICENSE file
  • Make it pretty (KISS: Keep It Simple Stupid)
  • Hints monitoring in order to get indsights of student's development

Changelog

1.1.0

  • Try to add buttons using, for example, ipywidgets [#DONE in v1.1.0]
    • The code can be optimized playing with @display and creating a decorator for the buttons [TODO][problem_view.py]

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

thebridge-autocheck-1.1.0.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

thebridge_autocheck-1.1.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file thebridge-autocheck-1.1.0.tar.gz.

File metadata

  • Download URL: thebridge-autocheck-1.1.0.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.4

File hashes

Hashes for thebridge-autocheck-1.1.0.tar.gz
Algorithm Hash digest
SHA256 abc0255fbd881a76a4b53daba676fc3455edc81e96124f6c08262b822add1163
MD5 60deeb6564d80003a426403bff40341a
BLAKE2b-256 51e0d8cfa96e3c4d3a5252b38853013aca5b93b19c15493240d7f0687d57f6f7

See more details on using hashes here.

File details

Details for the file thebridge_autocheck-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for thebridge_autocheck-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ce02ac5e31c0959814dffe3601eac83d1711b241aa5051f9197a84b7a6142c1
MD5 f7ccd5b6dec5ba301b080539b3b94ae0
BLAKE2b-256 73e3e1e79b7d9bb91b532c54a716c6d07d0f114bfa3bfdc31ade542d39404a46

See more details on using hashes here.

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