Skip to main content

A server backend for interactive online exercises.

https://travis-ci.org/crypto101/merlyn.png https://coveralls.io/repos/crypto101/merlyn/badge.png?branch=master

Testing and documentation

Testing is done using tox. Install it, and run it from the command line in the repository root. This will create a virtualenv for each supported environment, install the necessary things in it, run the tests, and build the documentation.

Speeding up builds

For a faster experience, it is recommended that you configure pip to use wheel by default, by placing the following in your ~/.pip/pip.conf or equivalent:

[global]
use-wheel = True

[install]
find-links = /tmp/wheelhouse

[wheel]
wheel-dir = /tmp/wheelhouse

After that, build wheels out of the requirements by running the following command once:

pip wheel -r requirements.txt -r requirements-docs.txt -r requirements-testing.txt

That will build wheels, which are faster to install than regular packages. You can make installations even faster by adding no-index = True to the [install] section; that way, installations won’t even hit PyPI, further reducing latency. Keep in mind that you will then no longer be able to use pip install to install anything, unless you’ve first made a wheel out of it.

Release notes

0.0.9

Added per-user secrets. Once pyca/cryptography will have HKDF support, this will turn into per-user entropy.

Also minor fixes, version upgrades.

0.0.8

Now being continuously tested on Travis, with coverage monitoring thanks to Coveralls.

Several other minor improvements:

  • A useful mixin for resources that represent exercises, for helping them resolve and notify when an exercise is completed.

  • User e-mails are indexed.

  • Persisted factories are now unary callables that take a store. This prevents some otherwise icky global mutable state.

  • New behavior for adding persisted factories: addOrUpdate; don’t just blindly add more factories with the same identifier.

0.0.7

  • Added support for a dhparam.pem, enabling DH-based PFS ciphersuites. ECDH-based PFS ciphersuites is a work in progress, see #6.

0.0.6

  • Moved requirements into setup.py for easier installs

  • clarent version requirement bump

0.0.5

Features:

  • localhost manhole support for debugging

  • Only support good ciphersuites.

0.0.4

Renamed to merlyn (see “Whence the name” below).

Features:

  • Drastically simplified exercise API

  • Authentication API based on SSL certificate verification

0.0.3

Features:

  • Basic documentation for steps and exercises

  • Interfaces: IStep, IRenderer, IValidator (see docs)

  • A renderer based on string templating (str.format)

Upgrades:

  • repoze.sphinx.autointerface -> sphinxcontrib-zopeext, which appears to be a shinier, more updated version of the same thing

Common things between merlyn and arthur, such as shared AMP command classes, were moved to clarent.

0.0.2

Features:

  • Exercise and Step classes

  • Step validation draft

  • Step solution submission interface

0.0.1

Initial public release. Nothing much to see here.

Whence the name?

This project was originally called merlin, because the step-by-step oracle-like model reminded me of Merlin in the AM complexity class and Arthur-Merlin protocols. It’s since been renamed to merlyn, because the primo merlin PyPI real estate has been taken up by some kind of weird setuptools fork.

Since Arthur is the person who performs the protocol together with Merlin, it only made sense to name the client side project arthur. Finally, clarent, named after king Arthur’s ceremonial sword, holds common tools.

Metadata

Release files for merlyn 0.0.9

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

Source distribution (sdist)

Source distribution for merlyn 0.0.9
File Size Uploaded
merlyn-0.0.9.tar.gz 21.1 kB Details

Release files / merlyn-0.0.9.tar.gz

Download URL merlyn-0.0.9.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
54fb3e53aceef9998f276c09a2019bbfc7873ef9521624779353d0ce38adfa6e
BLAKE2b-256 checksum
How to use checksums
1230f53944fb2513d16f1fad19987202af6de8ea4a319c77501bc27b36bd375b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.9 This release

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.3

1 release file

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