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 forpandasand so on. - The next file is
__init__.py. The double underscores in the filename tell you that this is a special file.__init__.pyrepresents 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.binderwithout doing,learntools.core..globals_binder.binder.
- Inside init we export modules so that, calling
- In
notebooksfolder 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.tomlto 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
distfolderpython –m build - Update dependencies in
pyproject.tomland in this README - Update the Changelog
- Publish the package
twine upload dist/* - 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]
1.2.0
- Remove solution in check when it is correct
- Introduce python_basics_ii
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.2.0.tar.gz
(42.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thebridge-autocheck-1.2.0.tar.gz.
File metadata
- Download URL: thebridge-autocheck-1.2.0.tar.gz
- Upload date:
- Size: 42.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f5a82dd818c9fe272a20a912846f039d4cde2218291063318975231bda1dc01
|
|
| MD5 |
dee8fabe9f8731003e5f04740f3aab49
|
|
| BLAKE2b-256 |
fd2d82f8fa42537ceba4be2349d0eb2d1b5cf6c701e425020ef57af3666787dd
|
File details
Details for the file thebridge_autocheck-1.2.0-py3-none-any.whl.
File metadata
- Download URL: thebridge_autocheck-1.2.0-py3-none-any.whl
- Upload date:
- Size: 53.3 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 |
474c844cb6b238a61c61522efb78213ba4422c251f53f175ae4e138dea6183e8
|
|
| MD5 |
7ba65bae8664e239c8ea2ecdf78cbc19
|
|
| BLAKE2b-256 |
77221a082e03eddd83317bf48bd1835ce6a03c86b3a8097d0cf435b8ea8e682d
|