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/*
    
  12. Update the tag on Git and push the commit
    git tag vx.y.z
    

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.1.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

thebridge_autocheck-1.1.1-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: thebridge-autocheck-1.1.1.tar.gz
  • Upload date:
  • Size: 39.8 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.1.tar.gz
Algorithm Hash digest
SHA256 ca320d822e831e418315cb62acd888b3028331d83790558cfa7aa24542383c86
MD5 5494f15bfbead27dbaa00b78bca43913
BLAKE2b-256 4faad832b013e12656024257ed69dc0fd75b21ebf7122068fb272ca7ee96d725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thebridge_autocheck-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef4aaa4f3c300e495a7688e92673b0df3e0243cd0b560f9129e31023f7b267c1
MD5 6343844cbac5e54f4b7d9803b9020f97
BLAKE2b-256 131e4ab427c7fed8368d0440c81f6ab13a68fd3f1d110871d500d49a3c155f23

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