Skip to main content

Documentation Status

sedrila: Tool infrastructure for building and running "self-driven lab" courses

A "self-driven lab" (SeDriLa) course is one where students select freely a subset from a large set of tasks. The tasks are described with sufficient detail that no guidance from an instructor is needed most of the time.

sedrila is a command-line tool supporting course authors for authoring a course and then course instructors and students for executing it.

Find the documentation at readthedocs.

1. Ideas for future versions

1.1 A currently needed refactoring: Target directory structure

The current layout of the source tree is wrong. Currently, the templates and baseresources directories will end up as top-level directories when the package is installed, which means they will clash with any top-level modules of that name anywhere in our dependencies.

We need to perform the following refactorings to arrive at a proper structure:

  • py --> sedrila: This will be the top level directory that gets installed.
  • sedrila/sdrl/* --> sedrila/*: We remove the now-intermediate namespace. This implies joining the current sdrl/tests into sedrila/tests.
  • templates --> sedrila/templates: The HTML templates simply become part of the tree to be installed.
  • baseresources --> sedrila/baseresources: Ditto.

These changes require a lot of changes of import statements. For instance, the current module base will become sedrila.base and sdrl.course will become sedrila.course. The logic for computing sedrila_libdir in courses.py must be adapted. SedrilaArgParser.get_version() must be adapted. The files lists in pyproject.toml must be corrected.

Also: Perhaps use deply for checking the layer structure described in internal_notes.md: https://github.com/vashkatsi/deply

1.2 instructor

  • Reject submissions where course_url is different from what it was in that repo's first accepted submission.

1.3 student

  • ...

2. Development process: TODO-handling during development

We use this convention for the development of sedrila. It may also be helpful for course authors if the team is small enough.

If something is incomplete, add a TODO marker with a priorization digit and add a short description of what needs to be done. Examples:

  • TODO 1: find proper formulation
  • TODO 2: restructure to use ACME lib
  • TODO 3: add automatic grammar correction

Priorities:

  • 1: to be completed soon (within a few days)
  • 2: to be completed once the prio 1 things are done (within days or a few weeks)
  • 3: to be completed at some later time (usually several weeks or more into the future, because it is big) or never (because it is not-so-important: "nice-to-have features")

Then use the IDE global search to work through these layer-by-layer. Demote items to a lower priority when they become stale or remove them. Kick out prio 3 items when they become unlikely.

Metadata

Release files for sedrila 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sedrila 3.2.0
File Size Uploaded Provenance
sedrila-3.2.0.tar.gz 1.1 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sedrila 3.2.0
File Interpreter ABI Platform
sedrila-3.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / sedrila-3.2.0.tar.gz

Download URL sedrila-3.2.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
74e8417ed43b01c73e6b5fe334b76030a04ae412b2c7ed0481c622f037d2eb61
BLAKE2b-256 checksum
How to use checksums
b9e4bd23f3516a3399b30b4d6ad45e97817ffd875a626ecbcbba00e5327d7150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.5 Linux/6.18.33.2-microsoft-standard-WSL2

Release files / sedrila-3.2.0-py3-none-any.whl

Download URL sedrila-3.2.0-py3-none-any.whl
Size 158.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9bed460b2692a30fca46b501eea150667663d2ad9531c637bd3f349f86a8c76d
BLAKE2b-256 checksum
How to use checksums
95e8143697c92f11ec11d75da3dd61155dacb4cca07ab83b2dfed471275cf3ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.5 Linux/6.18.33.2-microsoft-standard-WSL2

Security for sedrila 3.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

3.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page