Saravanan666/pypi-org huggingface dataset:
Package: littyping
littypingDeveloper GuideSetup# create conda environment$mambaenvcreate-fenv.yml# update conda environment$mambaenvupdate-nlittyping--fileenv.ymlInstallpipinstall-e.# install from pypipipinstalllittypingnbdev# activate conda environment$condaactivatelittyping# make sure the littyping package is installed in development mode$pipinstall-e.# make changes under nbs/ directory# ...# compile to have changes apply to the littyping package$nbdev_preparePublishing# publish to pypi$nbdev_pypi# publish to conda$nbdev_conda--build_args'-c conda-forge'UsageInstallationInstall latest from the GitHubrepository:$pipinstallgit+https://github.com/dsm-72/littyping.gitor fromconda$condainstall-cdsm-72littypingor frompypi$pipinstalllittypingDocumentationDocumentation can be found hosted on GitHubrepositorypages. Additionally you can find
package manager specific guidelines oncondaandpypirespectively.
Package: litum
litumDeveloper GuideSetup# create conda environment$mambaenvcreate-fenv.yml# update conda environment$mambaenvupdate-nlitum--fileenv.ymlInstallpipinstall-e.# install from pypipipinstalllitumnbdev# activate conda environment$condaactivatelitum# make sure the litum package is installed in development mode$pipinstall-e.# make changes under nbs/ directory# ...# compile to have changes apply to the litum package$nbdev_preparePublishing# publish to pypi$nbdev_pypi# publish to conda$nbdev_conda--build_args'-c conda-forge'$nbdev_conda--mambabuild--build_args'-c conda-forge -c dsm-72'UsageInstallationInstall latest from the GitHubrepository:$pipinstallgit+https://github.com/dsm-72/litum.gitor fromconda$condainstall-cdsm-72litumor frompypi$pipinstalllitumDocumentationDocumentation can be found hosted on GitHubrepositorypages. Additionally you can find
package manager specific guidelines oncondaandpypirespectively.Note thatLiteralEnum,LitStrEnum, andLitIntEnumhave
aliasesLitum,Strum, andIntumrespectively.@set_dtype(str)@set_fallback('GREEN')classMyLiteralEnum(LiteralEnum):RED='red'BLUE='blue'GREEN='green'color=MyLiteralEnum('RED')color,MyLiteralEnum('blue'),MyLiteralEnum('ORANGE')(<MyLiteralEnum.RED: 'red'>,
 <MyLiteralEnum.BLUE: 'blue'>,
 <MyLiteralEnum.GREEN: 'green'>)MyLiteralEnum.check_fallback(),MyLiteralEnum.check_dtype(color)(<MyLiteralEnum.GREEN: 'green'>, True)
Package: lit-utest
llvm-lit module for first-class utest.h unit test supportThis module allows you to run a utest testsuite as part of a largerlittestsuite. This is useful when you want to mix API unit tests with functional
testing of your driver programs.Installationpip installlit-utestRequirementslitis required. Your tests should beutest.h-based or behave like it.UsageIn each of your main utest test files, set the build command:// UTEST: cc %s -o %utest_binThis works just like the built-inShTestRUN:line, but introduces the
specialUTESTkeyword to lit.
The runner executes this command and the runs the resultant%utest_binoutput file.
Alllit substitutionsare available for use as usual.Once your build commands have been added to your unit tests, configure lit with
theUTestRunnerin lit.local.cfg:import lit_utest
config.test_format = lit_utest.UTestRunner()lit will now expect all discovered tests in the subdirectory to behave as utest
tests, and ignore those without aUTEST:build command. It runs each unit
test separately using utest’s--filterswitch, and collects the results and
prints them in the way you’d expectlitto do:-- Testing: 3 tests, 3 threads --
XFAIL: lit_utest :: shell_tests/runline.xfail.test (1 of 3)
PASS: lit_utest :: shell_tests/runline.test (2 of 3)
PASS: lit_utest :: utest_tests/test.c (3 of 3)
*** MICRO-TEST: lit_utest :: utest_tests/test.c[MyTestF.c2] -> PASS
*** MICRO-TEST: lit_utest :: utest_tests/test.c[MyTestF.c] -> PASS
*** MICRO-TEST: lit_utest :: utest_tests/test.c[MyTestI.c/0] -> PASS
*** MICRO-TEST: lit_utest :: utest_tests/test.c[MyTestI.c/1] -> PASS
*** MICRO-TEST: lit_utest :: utest_tests/test.c[MyTestI.c2/0] -> PASS
[...]For examples, see thetestdirectory, where we eat our own dogfood.CompatibilityThis moduleshouldwork in all places upstream lit is supported, but I will
make no extra effort to support python < 2.7Unlicenceutest.h is Public Domain, llvm is either NCSA or Apache-2 license depending on
the version, so it makes sense to dedicate this work to the PUBLIC DOMAIN.
Package: litvcs
The project “LIT” is a version control system. Project tracks all changes in local files and compares these files with files stored on the remote server. Basically “LIT” can be used as source code management, but you can store any files you want.GoalThe main goal is to create a new version control system with command line interface and web-based user interface.Another goals of the new system:Store the history of documents;Track files’ changes;Availability to get remote access to the files;Teams can work on one project;User-friendly interface;Simple to understand and work with LIT;Easy to start using if you have no previous experience with VCS.InstallationPyPITo install LitVCS, run this command in your terminal:$pipinstalllitvcsThis is the preferred method to install LitVCS, as it will always install the most recent stable release.Source filesIn case you downloaded or cloned the source code fromGitHubor your own fork, you can run the following to install cameo for development:$gitclonehttps://github.com/Kh-011-WebUIPython/lit-cli$cdlit-cli$pipinstall--editable.Note:Don’t forget about ‘sudo’!Basic UsageAvailable command list:usage:lit[-h]{add,branch,checkout,commit,diff,init,log,rm,settings,status}...LITversioncontrolsystempositionalarguments:{add,branch,checkout,commit,diff,init,log,rm,settings,status}addaddfilestostagingareabranchmanagebranchcheckoutcheckouttoanotherbranchcommitcommitfilesfromstagingareatorepositorydiffshowchangesinfilesincelastcommitinitinitializerepositoryinthecurrentdirectorylogshowcommitshistoryrmremovefilesfromstagingareasettingsusersettingsstatusshowrepositorystateoptionalarguments:-h,--helpshowthishelpmessageandexitLicenseThis project is licensed under the MIT License - see theLICENSEfile for detailsCopyright (c) 2017 - SoftServe Academy
Package: liuli
liuliliuli is better than jieba.
流利比结巴好。使用pip install liuli>>> import liuli
>>> liuli.lcut('南京市长江大桥')
['南京市', '长江大桥']
>>> liuli.lcut('南京市长江大桥', cut_all=True)
['南京', '南京市', '京市', '市长', '长江', '长江大桥', '大桥']
>>> liuli.lcut_for_search('南京市长江大桥')
['南京', '南京市', '京市', '长江', '长江大桥', '大桥']性能测试liuli 1x < jieba 1.5x < cyliuli 2x详见
Package: lium-diarization-editor
A very simple viewer/editor for LIUM speaker diarizations.Installationpip install lium-diarization-editorUsageThe package provides the commandlium-dia-edit:Usage: lium-dia-edit [OPTIONS]

  View or edit a diarization.

Options:
  -a, --audio TEXT        Load an audio file belonging to the diarization.
  -d, --dia TEXT          A LIUM diarization file.
  -p, --pickled-dia TEXT  A pickled diarization, as created using the --save
                          option.
  -s, --save TEXT         Where to save the diarization (as pickle) when
                          pressing "s".
  --help                  Show this message and exit.Within the editor, use the following keys to do stuff:KeyFunctionspaceplay/pauseleft/right10s backward/forwardp/nprevious/next segmentmnext unmoderated segmentllimit playback to current speakerssave diarizationuundo last changehomego to beginning0-9change speaker of current segment to M<0-9>ContributingInstallpipenvFork and clone therepositoryIn the repository, runpipenv install --devto install required packages and the package itself into a virtualenvTo activate the virtualenv, runpipenv shellMake changes, commit, pushCreate a pull request
Package: liuzh594Crypto
liuzhCrypto Python 库项目介绍性质：本项目是BUAA-网络空间安全学院-2023年春季密码学实验课程大作业作者：BUAA-网络空间安全学院2021级-21371445-刘征昊概述：本项目采用面向对象编程的方式对本学期实验代码进行整合以及完善，制作了个人的密码学库支持github和PyPI：latest release请关注Github项目目录结构liuzh594Crypto
├──LICENSE
├──README.md
├──liuzh594Crypto# 包│├──__init__.py
│├──basicMath# 基础数学库││├──__init__.py
││├──ECC.py
││├──GF.py
││├──basic.py
││└──type.py
│├──blockCipher# 分组密码学库││├──__init__.py
││├──SM4.py
│├──digitalSignature# 数字签名库││├──__init__.py
││├──SM2_SV.py
│├──hash# 哈希算法库││├──__init__.py
││├──SM3.py
│├──pubkeyCipher# 公钥密码学库││├──__init__.py
││├──RSA.py
││├──SM2.py
│└──tests# 测试样例库│├──__init__.py
│├──pic_original.bmp
│├──pic_original_CBC.bmp
│├──pic_original_ECB.bmp
│└──tests.py
└──setup.py项目功能基础数学库:密码学数学运算支持欧拉算法、模逆运算、快速（模）幂（矩阵）运算、素数生成与检验和中国剩余定理等一系列密码学基础数学运算椭圆曲线上的数学运算支持椭圆曲线密码学所需的常见数学运算，如：椭圆曲线上的点的加减法和倍点运算，其中倍点运算支持double-and-add、NAF以及w-NAF三种方法有限域GF(2^8)上的数学运算支持有限域GF(2^8)上的常见数学运算，如：四则运算、逆元、矩阵运算等本密码学库涉及到的类型转换等操作自定义了一系列本项目其他文件所需的变量类型支持十六进制、字节串、字符串、整数、椭圆曲线上的点等变量类型之间的相互转化对称密码学/分组密码学库SM4分组密码SM4支持分组长度128比特，密钥长度128比特的分组密码加解密运算支持SM4的ECB和CBC的分组密码工作模式支持基于ECB或CBC工作模式的对文件的加解密处理非对称密码学/公钥密码学库RSA公钥密码支持RSA密钥参数的生成支持RSA的加解密运算SM2椭圆曲线公钥密码:公钥加密算法支持杂凑函数为SM3（可替换）的SM2公钥加密算法哈希算法/杂凑函数库SM3密码杂凑算法支持输出长度为256比特的消息摘要，消息摘要的输出类型包括十六进制字符串以及字节串两种类型支持对文件的消息摘要生成数字签名算法SM2椭圆曲线公钥密码：数字签名算法支持基于椭圆曲线的数字签名算法SM2项目特色面向对象的编程方式当然作为初学者，本项目只是基本完成了面向对象的思想，与真正完整的面向对象编程仍然有很大的差距，假期会继续学习，加深对面向对象编程的理解和掌握编写大量注释，便于使用与理解详情见代码支持算法错误检查:密钥长度检查算法内部错误... ...对函数接口变量进行了类型指定， 支持输入类型检查提供大量测试样例，覆盖功能全面使用setup.py对项目文件进行了打包项目安装：mac/Linux：python3-mpipinstallliuzh594Cryptowindows：python-mpipinstallliuzh594Crypto对于 POSIX 用户（包括 macOS 和 Linux 用户）本指南中的示例假定使用了 [virtual environment/pyenv]。对于 Windows 用户，本指南中的示例假定在安装 Python 时选择了修改系统 PATH 环境变量。项目样例源码详见完整版测试样例在主程序部分可以根据测试者的需求，添加或减少注释函数进行部分测试if__name__=="__main__":"""可以根据测试需求进行代码注释部分的添加与解除""""""basicMath测试样例"""basic_test()type_test()ECC_test()GF_test()"""blockCipher测试样例"""SM4_test()"""pubkeyCipher测试样例"""RSA_test()SM2_test()"""hash测试样例"""SM3_test()"""digitalSignature测试样例"""SM2_SV_text()写在最后本项目的工作量主要来自于项目库的搭建文档的编写代码的整合函数接口设置错误处理测试样例注释... ...本项目已上传至github本项目已上传至PyPI
Package: livapordata
Lithium vapor dataThis python module contains various data useful for physical modeling of lithium, especially neutral lithium vapor.It has data onVapor pressureVapor viscosityVapor thermal conductivityVapor self-diffusivityas functions of temperature, each from a variety of sources. If you find sources in the literature not listed here, I'd be interested to incorporate them!It also contains functions to calculateEquilibrium vapor flux (Langmuir flux)Surface tensionAnd for convenience, provides basic data on(averaged) Li atomic massHeat of vaporizationThis module is most concerned with temperatures from 300 K to 1500 K.Multiple sources from the literature are included wherever possible. (Nearly) All data sources are cited.Usage>>> from livapordata import lithium
>>> li = lithium.LithiumProperties()
>>> t_k = 900 # Kelvin
>>> li.vapor_pressure(t_k) # in Pa
12.77074
>>> li.langmuir_flux(t_k) # in m^{-2} s^{-1}
4.257543e+23Also see the example scripts provided, which plot the various lithium vapor pressure and viscosity functions.InstallationThis package can be installed fromPyPi, using pip:pip install livapordataCitingIf you use this package in your research, please cite it (via Zenodo; link above).
Package: live
A simple library to support live coding in python.
Modeled after the idioms inlivecoder.net.Quick StartInstall livecoder from pypi:pip install liveOpen an example file with your favorite editor:git clone git@github.com:fritzo/livecoder     # grab an example
vi livecoder/examples/datadiff.py             # open in your favorite editorAnd tellliveto watch the script:cd livecoder/examples                 # move to where script is importable
live datadiff.py                      # and watch output for errorsEvery time you save the script,livereloads it and updates the live coding
state.
You’ll probably want to set up your editor to save after every keystroke, or
save once per second.
For example in Vim 7.4+ you can save after each modification using:autocmd TextChanged,TextChangedI <buffer> writeLicenseApache 2.0
Package: live555
Mike McCandless, mikemccand at gmail.comThis contains a small Python wrapper around the Live555 StreamingMedia APIs, so that you can load video frames.  It only wraps a tiny,tiny subset of all of Live555's APIs, specifically the APIs necessaryto pull frames via RTSP/RTP from an IP camera.I've only tested on Linux with Python 3, with the surprisinglyexcellent Lorex LNB2151/LNB2153 cameras, with H264 video.  Pleasereport back if you succeed with other cameras.INSTRUCTIONS:* First, download and compile/install the Live555 library fromhttp://www.live555.com/liveMedia/public, and unzip/tar it and run:* ./genMakefiles linux* export CPPFLAGS=-fPIC CFLAGS=-fPIC* make* [optional: make install]* If you unzip/tar'd Live555 in this directory (the pylive555checkout), to the sub-directory "live", then you can skip thisstep; otherwise, edit INSTALL_DIR in setup.py to point the liveheaders and libraries.* Build the python bindings: python3 setup.py build; make surethere are no errors.* Copy the resulting .so (from build/lib/*.so) to somewhere ontoyour PYTHONPATH.* Run the examplepython3 example.py 10.17.4.118 1 10 out.264That will record 10 seconds of H264 video from the camera at10.17.4.118, channel 1, saving it to the file out.264.
Package: liveboxplaytv
liveboxplaytvThis library is intended for controlling an Orange Livebox Play TV
appliancefromliveboxplaytvimportLiveboxPlayTv# Initl=LiveboxPlayTv('livebox-play.lan')# Check if the box is onl.is_on# Turn the box offl.turn_off()# and back onl.turn_on()# Query current channell.channel# Set current channell.channel='Arte'# Switch to channel number 7l.channel='#7'# Raise volumel.volume_up()# Lower volumel.volume_down()# Mute volumel.mute()# Next channell.channel_up()# Previous channell.channel_down()# Virtually press a key on the remotefromliveboxplaytvimportKEYSl.press_key(KEYS['LEFT'])There also is a CLI script that ships with this package:$liveboxplaytv-h
usage:liveboxplaytv[-h]-HHOSTNAME[-j][-d]{key,vol,info,state,on,off,channel,notify,op}...

positionalarguments:{key,vol,info,state,on,off,channel,notify,op}ActionkeyPressanarbitrarykeyvolVolumeControlinfoGetinfostateGetthecurrentstate(onoroff)onTurntheLiveboxPlayapplianceonoffTurntheLiveboxPlayapplianceoffchannelGetorsetthecurrentchannelnotifyWaitandnotifyofneweventsop[DEBUG]Sendrequest

optionalarguments:-h,--helpshowthishelpmessageandexit-HHOSTNAME,--hostnameHOSTNAMEIPaddressorhostnameoftheLiveboxPlay-j,--jsonFormatoutputasJSON-d,--debugDebugmode
Package: livecell-tracker
livecell-trackerLivecell-tracker is a pure python framework for extracting sinlge cell trajectories from raw long live-cell imaging data, computing and analyzing single cell features in latent space.This is a placeholder for livecell-tracker future releases. Currently this repo showcases a basic use case to segment images, track cells with opencv/SORT and generate cell features in our CX-A label-free dataset.The majority of our analysis methods/notebooks are inhttps://github.com/xing-lab-pitt/xing-vimentin-dic-pipelinemaintained by Xing lab, and being added to this repo. Please check later in Nov. 2022 for a complete version with our manuscript.InstallationPytorchconda install pytorch torchvision -c pytorchGeneral package requirementspip install -r requirements.txtDetectron2Please refer to latest detectron2 documentation to install detectron2 for segmentation if you cannot build from source with the following commands.https://detectron2.readthedocs.io/en/latest/tutorials/install.html#build-detectron2-from-sourcegit clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2{avi, mp4} movie generationconda install -c conda-forge ffmpegExpected input/output for each submoduleNoteIf you already have satisfying segmentation models or segmentation results, you may skipAnnotationandSegmentationpart below.Annotationinput: raw image files
After annotating imaging datasets, you should have json files in COCO format ready for segmentation training.LabelmeApply labelme to your datasets following our annotation protocol.Convert labelme json to COCO format.A fixed version of labelme2coco implementation is included in our package. Please refer to our tutorial on how to convert your labelme json to COCO format.For CVAT, please export the annotation results as COCO, as shown in our annotation protocol.SegmentationSegmentation has two phase. If you already have pytorch or tensorflow models trained on your dataset, you may skip training phase.training phaseinput: COCO json filesoutput: pytorch model (.pth file)prediction phaseinput: raw images, a trained machine-learning based modeloutputs: SingleCellStatic json outputsTrackinput: SingleCellStaticcontourbounding boxoutput: SingleCellTrajectoryColletionholding a collection of singleCellTrajectory each containing single cell time-lapse datatrajectory-wise feature can be calculated after track stage or at trajectory stage.Trajectoryinput: SingleCellTrajectoryColletionoutput:Visualizertrack.movie: generate_single_trajectory_movie()visualizer: viz_traj, viz_traj_collection{Documentation placeholder} [Move to docs/ and auto generate by readthedocs]Analyze trajectories based on specific research topicsSingleCellStaticclass designed to hold all information about a single cell at some timepointattributestime pointid (optional)contour coordinatescell bounding boximg crop (lazy)feature maporiginal img (reference/pointer)SingleCellTrajectorytimeframe_setSingleCellTrajectoryCollection
Package: livechart
A command-line utility for rendering quick-and-dirty graphs of STDIN input.installationTested against Python 2.7.sudo pip install livechartusagePipe lines containing either JSON-serialized objects or numbers intolivechart; the datamustbe consistent for the duration of usage. Input
like{"a": 1, "b": 3, "c": 5}will result in three graphs, while1.00will plot just one.some_script | livechartRunlivechart--helpfor all configuration options.
Package: live-client
Live ClientA toolset to interact with the Intelie LIVE PlatformUsage examplesimport sys
import argparse

from live_client.query import on_event
from live_client.events import messenger


def parse_arguments(argv):
    parser = argparse.ArgumentParser(
        description="Connects to a live instance and watches every query which is started",
        epilog="For each query, sends a message to one of the messenger's rooms"
    )
    parser.add_argument("--live_url", dest="live_url", required=True, help="The url Intelie Live")
    parser.add_argument("--username", dest="username", required=True, help="Live username")
    parser.add_argument("--password", dest="password", required=True, help="Live password")
    parser.add_argument(
        "--rest_input", dest="rest_input", required=True, help="Path of the rest input integration"
    )
    parser.add_argument("--user_id", dest="user_id", required=True, help="Live user id")
    parser.add_argument("--room_id", dest="room_id", required=True, help="Target room id")

    return parser.parse_args(argv[1:])


def build_settings(args):
    return {
        "output": {
            "author": {"id": args.user_id, "name": "🤖  Messages bot "},
            "room": {"id": args.room_id},
        },
        "live": {
            "url": args.live_url,
            "rest_input": args.rest_input,
            "username": args.username,
            "password": args.password,
            "user_id": args.user_id,
        },
    }


if __name__ == "__main__":
    """
    Connects to a live instance and watches every query which is started
    For each query, sends a message to one of the messenger's rooms
    """
    args = parse_arguments(sys.argv)
    settings = build_settings(args)

    example_query = "__queries action:start => expression, description"
    span = f"last 60 seconds"

    @on_event(example_query, settings, span=span, timeout=120)
    def handle_events(event):
        event_data = event.get("data", {})
        content = event_data.get("content", {})
        template = "New query: '{}'"
        for item in content:
            message = template.format(item["expression"])
            print(message)
            messenger.send_message(
                message, timestamp=item["timestamp"], process_settings=settings
            )

        return

    handle_events()More examples can be found on the folderdocs/examples.DevelopmentThis project usesblackandpre-commitRunning the TestsIf you installleddev-requirements.txtyou already havepytestinstalled.
Then justcdto thetestsdirectory and runpytest.Publishing to pypi# Build the packages
$ python setup.py egg_info sdist

# Validate the package
$ twine check dist/*

# Upload the package
$ twine upload dist/*
Package: live-coder
Live CoderLive Coder shows how your code runs as you type.FeaturesSee the execution of all functions called for given test.Pick between function calls and tests.InstallIt comes in 2 parts, a server (here) and aVSCode ExtensionRequirementsIt only runs Python3 unittests.SetupInstall the Server using:pip install live-coderInstall theVSCode ExtensionWatch the intro videoTry thedemo project.Having Issues?Pleaseadd an issue.If the server isn't starting, you can start it within Python:fromlive_coder.serverimportappapp.run(host='0.0.0.0',port=5000,debug=False)Note:The host and port arguments cannot be changed since the editor extension expects the given ones.ThanksThanks to thePioneercommunity for the encouragement, it's worth checking out if you love making things!If your interested in other new coding tools you should check out theFuture of Coding community!
Package: livecoding
This library implements something which is often called live coding or code
reloading. It allows an application to have Python code which might be part
of it updated as the files the code is in are changed - while the application is
running.No need to restart the application in order to incorporate changes made to
Python scripts.No need to execute Python scripts manually each time you want to use the code
within them.This library will not allow you to have your existing Python modules reload.
Please visit the project home page if you wish to understand why.  This is a
custom solution, not a band-aid for your existing practices.Changes from version 2.01:MODE_OVERWRITE is recognised as not working properly and now MODE_UPDATE is
the default option.Now uses the ‘logging’ module from the standard library for output, whether
for debugging or just related to normal usage.Unit testing for managed scripts was only done when the script was first
loaded, not when it was subsequently modified and reloaded.  Now it happens
in both cases.When unit tests are located for a managed script, how many were found for
that script are logged as normal usage output.Exceptions that occur during the loading or reloading process are now
displayed through ‘logging.exception’, rather than through custom means
based around the ‘traceback’ module.If the internal monitoring of file changes is used, depending on which
method it chooses to use to monitor, it may do it in a Python thread.
If this thread is prevented from exiting with the garbage collection of
the code reloader, then the main Python thread and therefore whatever
application is running will not exit until the other thread does as well.
The other thread can be made to exit, but using the new ‘EndMonitoring’
function.The ‘filechanges’ module was passing notification of all file changes
within the directories it monitored.  Now it only passes on changes to
files with a name ending in ‘.py’.For every changed script that MODE_UPDATE loaded and put into effect,
if there were classes in a script with functions defined on them, those
classes would be leaked.  Under this mode, those scripts and the objects
within them, like classes are not necessarily used.Added a way to get callbacks when classes are updated.  This is done by
passing a function or method to ‘SetClassUpdateCallback’ on the code
reloader.Under MODE_UPDATE, when classes were processed and their functions were
moved over from the updated script that had been loaded to the original
script, they were not rebound.  This meant they were referencing the
globals dictionary of the temporary script, rather than that of the
original script where they were going.  Now the rebound functions are
used, rather than just being created and ignored.When a script is garbage collected, its globals dictionary is explicitly
cleared.  This should highlight problems with faulty code reloading, and
it also works around a class leakage problem too (issue 12).