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
- Create a package folder (
learntools
) containing separated modules (e.g.core
,python
, ...). - 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 forpandas
and so on. - 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
.
- Inside init we export modules so that, calling
- In
notebooks
folder we are going to test the modules. TODO: Introduce testing files and introduce them in a test folder. - 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. - 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.
- Update version:
bumpver update [--major | --minor | --patch]
- Generate wheel and source files inside
dist
folderpython –m build
- Update dependencies in
pyproject.toml
and in this README - Update the Changelog
- 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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | abc0255fbd881a76a4b53daba676fc3455edc81e96124f6c08262b822add1163 |
|
MD5 | 60deeb6564d80003a426403bff40341a |
|
BLAKE2b-256 | 51e0d8cfa96e3c4d3a5252b38853013aca5b93b19c15493240d7f0687d57f6f7 |
File details
Details for the file thebridge_autocheck-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: thebridge_autocheck-1.1.0-py3-none-any.whl
- Upload date:
- Size: 50.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ce02ac5e31c0959814dffe3601eac83d1711b241aa5051f9197a84b7a6142c1 |
|
MD5 | f7ccd5b6dec5ba301b080539b3b94ae0 |
|
BLAKE2b-256 | 73e3e1e79b7d9bb91b532c54a716c6d07d0f114bfa3bfdc31ade542d39404a46 |