Changelogs
1.7 - Jan 25th, 2025
Cli:
Added
toFileType,toQr,toExcel,toMdTable
sql modifications:
Added lots of caching mechanisms: s[“db”], db[“table”] and table[“id”]
Allowed setting json columns using dict
Added option to automatically html escape for text fields, to avoid cross site scripting
Generic:
Added
aes_encrypt(),aes_decrypt(),cache(),modbusCrc()andparseTimeStr()Added
k1lib.viz.Clipboard(),k1lib.viz.Download(),k1lib.viz.Popup(),k1lib.viz.qrScanner(),k1lib.viz.daisyUI()Added
AutoUpdateValue,Aggregate,tempObj(),ConfinedAutoIncrement,PerlinAdded delay mode to
cron()Added
TimeSeries,speedfor random speed/throughput benchmarksAdded
compileCExt(), to quickly build pybind11 Python C extensions and load it to the current process seemlessly
1.6 - Mar 8th, 2024
Cli:
Added
toPdf,lookupRange,branchAdded optional delay to
interceptAdded
iterDelayAdded
toDist,toAngle,idxsToNdArray,toYaml,toMedianAdded daemon mode to
cmdAdded module
kcv, focusing on opencv aruco markers detectionAdded proper pandas support to most cli
Added support for raw row ingestion to
toCsvAdded powerful
nparray | (~aS(lambda x,y: x+y)).all(3)array optimization strategyAdded
lsext.sql.queryMany()andlsext.sqltable.insertBulk()Added convenience methods to
s3and friends. Also addedlsext.RedisAdded JS transpiler functions to matplotlib colormaps
Generic:
Added monkey patched methods
os.netstat()andos.killPort()Added
dollar()Added
kcomfor external hardware communications, withGsmandHostAdded monkey-patched method
torch.transpose_axes()to match numpy’s signatureAdded monkey-patched method
plt.worldmap()to quickly plot out a world mapAdded monkey-patched method
html.b64escape()to provide a more robust html escaping where JS is availableAdded monkey-patched method
pandas.DataFrame.newColName()Added module
kopfor optics simulationAdded module
zirconfor browser automation
1.5 - Jan 6th, 2024
Cli:
Added s3 compatibility with
ls()andcat()atk1lib.cli.lsextAdded
toUnix,toLinks,toArgmin,toArgmax,toMovingAvg,toCmAdded
batchedTrigger,latch, aliasinsIdAdded
clampAdded
unprettyAdded
postAdded
utils.deref.js()to transpile any data (not functions) into JSRemoved
structural.expandE, because it’s so nicheAdded JS transpiler functionality to generate JS code automatically from clis
Added module
kjsin support for the JS transpilerAdded module
kgvto quickly plot graphviz plotsAdded tail() optimization for
catPickle
Generic:
Added websocket client and server support at
kwsAdded logging integration with https://logs.mlexps.com using :meth`~k1lib.log`
Added module
kastfor advanced abstract syntax tree manipulation in support for the JS transpilerAdded
resolve()to resolve coroutines everywhereAdded
serve.json(),serve.date(),serve.serialized(),serve.apiKey()and souped upservea littleAdded
serpent, a lua serialization moduleAdded formatting function
rmAnsi()
1.4 - June 30th, 2023
Cli:
Added ability for an existing cli to join with a function that’s not a cli transparently. Meaning this is now possible:
3 | (iden() | (lambda x: x**4))Accelerated
balanceFolder()Accelerated
repeat,repeatFrom,joinStreamsanduniquefor array typesAdded library-wide optimization that allows
np.random.randn(3, 4, 5, 6) | item().all() | shape() == (3, 5, 6)to operate on the array directly and not be broken up by.all()Removed
structural.accumulateandstructural.indexTable, as it can be done usinggroupByand it’s not used enoughAdded
sketch,syncStepperAdded alias
TAdded Cython support and cpu limit settings option for
applyClAdded full distribution mode to
intersectionAdded builtin ML models support:
embed,complete,kmeans,tsneandbloomModel operations are also optimized to batch things together automaticallyAdded new way to deal with infinite iterators generated by
repeatand friendsAdded multiple table pretty-format mode to
prettyRemoved
kcsv, because it’s ridiculous to have a single short method in a big module and it’s not intuitive. Replaced that withtoCsvAdded
ktreefor dealing with tree structuresAdded
k1lib.cli.lsext, for ls’s custom datatypes (“ls extensions”), particularly MySQL, PostgreSQL and SQLiteAdded robust Actor model for
applyCl.Added unsort mode to
sortAdded
roll,batchify()Added
k1lib.cli.kapito use ML apis published on mlexps.comAdded
k1lib.selento extract main content of a webpage using Selenium
Generic:
Added
cron(),k1lib.viz.PDF
1.3 - May 26th, 2023
Cli:
Revamped docs a lot
Added
applyClto execute functions across an entire clusterAuto get representation if not string in
grep.Added aliases
map_,filter_andflattenAdded string execution
3 | aS("x+2")capability to all clisAdded
toHtmlto quickly convert PIL image to html tagAccelerated
filtfor array types even moreFixed
cut()[2:-2]edge caseAdded demiliter-splitting mode to
toDictAdded
nb.execute.rightAway(),toAscii(),backup,kzipandkunzip,resume()Added
modifier.applyMp.shared()to easily share memory between processesAccelerated
cat()usingk1aif sB and eB are specifiedAdded multi-column mode to
applyRemoved
inp.curl()because you can docat("http://example.com")directlyAdded array mode and
retriesparameter totryoutAllowed building pipelines with normal classes that only define
__ror__but not subclassBaseCli
Generic:
Revamped
servea little, adding a more robust type systemAdded more default imports like ray and pyarrow
Added
row(),col(),pre()andh()to quickly build html stringsAdded
capturePlt()to capture matplotlib plotsAdded formatting functions
fromSize()andcolors()
1.2 - Feb 7th, 2023
Cli:
Added newPoolEvery mode to
applyMpAdded
walk,tryout,splitSeek,inp.cat.pickle().Added PIL image mode to
sizeAdded chemical structure mode to
toPILAdded read speed profiler to
cat()Added table mode to
plotImgsRemoved
output.split, because it’s horribly inefficient. UsesplitSeekinstead.Added argument expand mode to
applyMp.Added column mode to
intersectionand added None column mode tounionSimplified
insertAccelerated
filt,cut,joinStreamsandrandomizefor array typesAdded complex yielding functionality to
repeatF.Added automatic error checking for
filt.Added padding option to
windowAdded probability weighting mode to
joinStreamsRandomFixed
forbiddenfruitor-patching ofndarray,dict,pandas.core.series.Seriesandpandas.core.frame.DataFrame
Generic:
Added
ConstantPad,ToggleImage,dep()andticks().Added more features to
CarouselChanged
captureStdout()so that it can capture C library’s output and can capture stderrAdded
p5module for quick Processing-like image manipulationDeveloped
k1uimodule a lot further
1.1 - Oct 3rd, 2022
Cli:
Added dictionary mode, with table name to
tables()Added
records(),toGray,plotImgs,toBytes,indexTable,splitCk1a speedups:
catFixed strange bug in
applyMpthat happens between PyTorch and multiprocessingAdded tensor/bytes/figure to image feature to
toPIL()Added image saving mode to
file()Added separator mode to
oneHotRemoved
conv.toStr,conv.toSet,conv.toIter,conv.toBin,conv.toIdx,conv.toDictF,modifier.applySerialbecause they’re kinda meaningless and redundant.Added bytes mode chunking to
catRemoved module
k1lib.cli.othersas it’s pretty useless
Generic:
Added
pushNotification(),fmt.throughput()Removed
clearLine(),close(),textToHtml()as they are quite nicheMoved
k1lib.sameStorage()totorch.sameStorage()Monkey patched
pandas.core.frame.DataFrame.table(),builtins.str.splitCamelAdded intersection operation to
DomainRemoved library’s PyTorch dependency, so that it can be lightweight enough to be used inside containers
Deep learning:
Added estimated time remaining and throughput estimations to
ProgressBarRemoved module
k1lib.kdata, as that provides no value
1.0 - Aug 9th, 2022
Cli:
Removed
conv.toNumpy, astoList() | aS(np.array)does the same thingAdded fill mode to
lookupChanged
teestyle to be more naturalRemoved
utils.headerIdx, asinsertIdColumn()roughly does the same thingRemoved
init.manyToMany, replaced withapplyto simplify thingsRemoved unstable
opinfeature and added combined compare ops to itAdded bounds comparison to
op, thus removedfilt.inRangeAdded
everymode totee.Simplified
insertColumnAdded
oneHot.Restructured expand argument feature in
applySerialAdded
cifmoduleRemoved
entrezmodule, as it doesn’t add much valueSimplified
fileby removing explicit text/byte mode param
LLVM:
Added LLVM compiler/optimizer system to cli.
Added
typehintandoptimizationsmodules
Generic:
Added library k1a to speed up certain parts of the main library by compiling things down to C.
Added k1ui support within k1lib. It’s a Java program that can communicate over the network and provides apis to manipulate mouse/keyboard and screens.
DL:
Added callback
limits.CancelOnOverfit
0.17 - Jul 15th, 2022
Cli:
Accelerated
headfor all sliceable typesAdd fractional mode to
headAdded expanded arguments mode to
applyAdded column mode to
sortFAdded
gb.feats.root(),gb.feats.tags()Removed
gb.feats.tag(), usegb.feats.tags()insteadAdded predicate mode to
grepAdded
dictFieldsAccelerated
groupBysignificantlyRemoved
collate(), as there’s no use for itAccelerated
shape, thus removingconv.lengthsandconv.toLensasshape(0).all()is just as good
0.16 - Jun 28th, 2022
Cli:
Accelerated
headif input’s atorch.Tensorornp.ndarray.Renamed
joinListtoinsert, cause that’s more intuitiveRemoved
structural.insertRow, asinsertRow(1, 2)can be achieved using~insert(1, 2)Souped up
insertColumnAdded column mode in
grep.Added JIT compilation for
opAdded alias
parallelandtoLensAdded accelerated mode to
cat()Grouped
to__clis into the moduleconv.Removed redundant
toTypeandidentity
0.15 - Mar 22nd, 2022
Generic:
Patched
numpy.ndarray’s__or__method to work better with cli toolsAdded a few mathematical and physics constants in
k1lib.importsAdded
selector.ModuleSelector.cutOff()Renamed
k1lib.integrate()tok1lib.integral(), to avoid conflict with existing cliAdded
sameStorage()
Cli:
Moved
k1lib.tab()toutils.tab().Added
groupBy,disassemble,toProdAdded
modeoption totoFloatandtoIntAccelerated
toFloat,toInt,batchedandsmoothif it’s atorch.Tensorornp.ndarray
0.14 - May 1st, 2022
Generic:
Added
OnProgresscallback
Cli:
Changed implementation of
rows. Should be much more stable and perdictable than the last versionFixed
transposeso that it works efficiently with numpy arraysFixed
splitWso that it includes dangling elements at the endRevamped
k1lib.cli.kxmlheavilyAdded
structural.count.join(), to join multiple count results togetherAdded aliases
toImg,aSAdded
toRgbandtoRgba.Added
clipboardand its dependency requirement.Fixed bug in
accumulate.Removed
modifier.replace()andmodifier.remove(), as those can be done byopjust fine.Added seed option in
randomizeAdded
window.
0.13 - Mar 23rd, 2022
Generic:
Added
pValue().captureStdout()now returns aWrapperAdded
attrContext(),MovingAvgMonkey patched
animate()Added mechanism to quickly insert a
CallbackinCallbacks.add()
Cli:
Added support for
filt(4 in op())as extension forfilt.contains().Added support for
filt(op() in [1, 2, 3])as extension forfilt.inSet()Removed
filt.isFile(), asfilt(os.path.isfile)does the same thing.Added JIT basics. Just a stub feature for now.
Added multidimensional option to
joinStreams.Added pipe input mode to
sam.cat().Added control flow blocking option to
inp.cmd.Added
unpackparam toapplySerial.Renamed
structural.splitList()tosplitW()Added
modifier.stagger.tv()Replaced
k1lib.smooth()withutils.smooth()with a simpler impl
0.12 - Dec 1st, 2021
Generic:
Disallow adding new settings accidentally when using
context().
Cli:
Fixed
cmdpiping mechanism into each other.Added
quietsetting, used bycmd.Made
columnsmore robust so that it can deal with missing elements and longer rows below.Added operator
-tofiltfor extra intuitiveness.6Moved
sam.qualitytobio.quality(), and addedcli.bio.phred,cli.sam.headersettings.Moved setting
cli.oboFiletocli.bio.go, andcli.lookupImgstocli.bio.lookupImgs.Added
fillparam toitem.Optimizes higher order operations quite a bit, and added setting
cli.atomic.Renamed
init.manyToManySpecifictoinit.mtmS, and added methodf().Added
fill()andwrap()totranspose().Revamped how
cmdworks, allowed real time output yielding, added bytes mode and option on how to return stdout and stderr.
0.11 - Nov 24th, 2021
DL:
Added
Settings, and the centralizedsettingsfor the entire library. As a consequence, movedk1lib.cli.cliSettingstosettingsunder name “cli”.Added
TrainOnly,ValidOnly.Removed “pause” concept from
Callback.Patched
torch.Tensor.positionalEncode(), and removed procedural version (k1lib.positionalEncode()).Added
MultiheadAttention.
Cli:
Added multidimensional mode to
transpose.Changed param position of
derefso that it’s more convenient.Moved
inp.toPILtoutils.toPIL, to be more consistent.Added
nb. As a consequence, removednbCells()andexecuteNb().Added temporary file and append features to
file().Added immediate resolve option to
cmd.Added
Noption (max sections) and changedtill()mechanics ingrep. Also addedsepoption and as a consequence, removedgrepToTable.
0.10 - Nov 17th, 2021
DL:
Added
nbCells(),timer()Changed
Absorbermethods so that it won’t use special words likeint,float,len,strand addedab_contains()andab_fastF().Revamped lots of Callbacks docs
Renamed
CaptureStdouttocaptureStdout, to match context manager’s styles.
Cli:
Added
utilizationparameter toapplyMp.Added
fastF()Added tensor mode to
mask.Added
filtandapplymodes with columns totrace.Made
derefso that it ignores dictionaries.Added some compatibility with numpy arrays across clis.
Added
cacheLimitparameter toapplyand as a consequence, removedapplyCached.Added
toTypeandapplyTh.Added
bsparameter toapplyMpand as a consequence, removedapplyMpBatched().
0.9 - Mov 14th, 2021
DL:
Added
scaleSvg().Added
prefixoption toAutoIncrement.
Cli:
Added
kwargsargument tomodifier.applyMpBatched().Added alias
iden.Added
trace()mechanism, with accompanying tutorial.Remove
shape’s tensor special caseAdded
applySerial.Added
infandcontexttocliSettings.Fixed bug where
"abc" | deref()will actually split the string into characters.Terminates pool in
applyMpif is keyboard interrupted, and in general made it much more robust.Stops
derefearly if encounteredyieldSentinelOptimizes
opeven further, thus removingisValue(), asfilt(op() == value)does the same thing.
0.8 - Nov 7th, 2021
DL:
Exposed
k1lib.vizautomatically, and improvemask()so that it smoothes out highlighted regions.Added
perlin3d().Monkey patched
march(),surface(),k3d(),loglinspace(),point(),line(),plane(),aspect().Renamed
append()toadd().Removed
with-semantics forCallback(). UseCbsinstead.Changed
__contains__()so that it handles*differently.
Cli:
0.7 - Nov 3rd, 2021
DL:
Added
metabas extra metadata from dataloaders toLearnerin the core training loop and modifiedRecorderto return it if available.Added
noption toAutoIncrement.Added
mask().Removed
k1lib.stats(), replaced it withtorch.Tensor.stats()directlyAdded
torch.Tensor.hasInfs()Made
LossNLLCrossintegrates withAccFinstead.Made
AccFintegrates withConfusionMatrix.Made
ConfusionMatrixresilient against nans and infs, and fixed norm strategy (tensor rows divide by max rows, instead of tensor columns divide by max rows, like before).
Cli:
Added
mask,unsqueeze().Made
opcompatible with lots of other cli tools, so you can do stuff likefilt(op() > 3, 1).Removed
split, asop().split().all() | joinStreams()does the same thing. This is longer, so I kinda want to put it back in, but the name is incredibly oxymoronic.Removed
listToTable()and its aliastableFromList(), as they are too simple, and the newunsqueeze(1)does the same thing.Removed
argsoption inapplyMp, as it feels clunky.Removed
catsascat().all()does the same job.Sped up
opto have roughly same performance asapply. As a consequence, removed [lstrip,rstrip,strip,upper,lower] clis as stuff likeop().upper().all()does the same and I want to simplify the collection of cli tools.Completely removed
k1lib.cli.ctxmodule, as the performance sacrifices are too much, and it doesn’t add a lot of useful features.Renamed
utils.to1Strtojoinas that is more intuitive.Removed
structural.table, asop().split().all()does the same thing
0.6 - Oct 30th, 2021
DL:
Added __module__ impersonation for
wrapMod.Renamed
LossLambdatoLossFRenamed
torch.nn.Module.preserveDevice()totorch.nn.Module.deviceContext()and add preserve buffers capability.Added
torch.nn.Module.gradContext().
k1lib.selector.ModuleSelector:
Renamed
filter()topreprocess().Removed
selected(), as__call__()does the same thing and is more intuitiveAdded
propoption tonamed_children()andchildren().Removed callback
Frozenasfreeze()andunfreeze()does the job and is much more robust.Added
freeze()andunfreeze()Removed
copy(), as you can just grab another selector straight from the model real quick.Removed
parameters(), as you can always access the associatedtorch.nn.Moduleinside and get params from there.
Cli:
0.5 - Oct 27th, 2021
DL:
Renamed
k1lib.formattok1lib.fmt, and exposed it automatically.Added
sizeOf()Exposed
selectorautomatically.Deleted
k1lib.websiteFixed infinity elements in
landscape.Landscape’s plots.
Cli:
Added chained mode to
itemFixed ignoreTensor mechanic in
derefAdded prefetch mode in
applyMpAdded
applyMpBatchedthat executes lots of transformations in a single job.Added
clearPools()andpools().Added
activeSamples.Removed aliases
splitColumnsandjoinColumns.Removed
stitch, asto1Str().all()does the same thing.
0.4 - Oct 23rd, 2021
This update moves things around a lot. The actual coding experience stays the same, but a lot of links < 0.4 will be broken in 0.4 docs. Go to 0.3 docs if you wish to follow links.
Molecule (k1lib.mo):
Added close coulomb force calculations to simulator to make it more realistic (cyclohexane chair config possible now!)
Added optional Hydrogen viewing to various functions in
moFixed parsing bug where it doesn’t recognize “3-methyl” group in “3-methylpentane”.
DL:
Don’t let
AutoIncrement’svalueproperty to auto increment internal value.Removed
CyclicRandomSampler, asrange(n) | repeatFrom() | randomize(n)`does the same thing.Removed
FunctionDataset, added simplerFunctionDataas replacement.Removed
DataLoader,DataandDatasetWithSampler, as they’re complex and obsolete.Added
tfImg(),tfFloat(),analyzeFloat()Monkey-patched
torch.nn.Moduleto have piping capabilities.Renamed
k1lib.datatok1lib.kdata, and exposed it automatically inimports.Renamed
k1lib.nntok1lib.knn, and exposed it automatically.
Bioinfo cli:
Renamed
k1lib.bioinfo.clitok1lib.cliAdded
stagger()as the new interface for dataloaders.Added
intercept,toPIL.Added PIL conversion mode to
utils.toTensorAdded Tensor shape mode in
utils.shape.Added
othersmodule, withcrissCross()Added Tensor mode to
toSum,toAvg,toMin,toMaxandoneToMany.Added alias
toMean.Added dtype choice to
toTensor.
0.3 - Oct 18th, 2021
Background stuff:
Added mo tutorial
DL:
Added
FAnim()Added
mofor stuff related to molecular dynamicsAdded
graph(),digraph(),__call__()Huge revamp of
scheduleto make it more intuitive. There’s only 1 main schedule object now:Fn.Added
k1lib.wraps(),k1lib.Object.__delitem__(),k1lib.Range.fromRange()Added
k1lib.Every
Bioinfo cli:
Removed
notIn, asinSetdoes the job just as wellIncluded cli import command in
importsby defaultModified
toFloat()andmodifier.toInt()so they can force weird values to 0.Moved existing
toDicttotoDictF, and created a newtoDict.
0.2 - Sep 24th, 2021
Pretty minor update. I just want to push this out as soon as possible
Background stuff:
Changed versioning system so that it makes more sense
Added osic and mp tutorials
Added more speed analysis in the cli tutorial
Bioinfo cli:
Removed
dirsandfilesparameters inls, asisFileis good enoughDisable module
ctxby default, to improve performanceReplaced
nonEmptyStreamtoempty
0.1.13 - Sep 20th, 2021
Background stuff:
Removed walrus operator library-wide, so that it can be used with Python < 3.8
Bioinfo cli:
Added
breakIf,isFileReplaced
infiniteFwithrepeatFReplaced
infiniteFromwithrepeatFromReplaced
dereferencewithderefReplaced
ctx.dereferencewithctx.derefModified
applyMpto usedillto deserialize everythingModified
to1Strso that it returns a string, instead of yieldingModified
toStrso that it can accept an optional columnModified
splitListso that it accepts *argsRemoved
applySingle, but retainapplyS
DL:
Added class
CaptureStdoutPatched
torch.TensorwithcrissCross(),histBounds()andhistScaled()
0.1.12 - Sep 3rd, 2021
Background stuff:
Removed docs’s generated
fontsfolder, as it takes 8MB and isn’t even used. Should now be sustainable for 100 versions on github pages.
Bioinfo cli:
Removed wrapping
__ror__operator if__init__is not defined, to make things performant.Added speed analysis in the cli tutorial.
Added
init.BaseCli.__call__(),consume,ctx.ctx(),ctx.f,peekF,expandE,utils.dereference.__invert__(),unique,notIn,sortF,toMax,toMin,union,ls(),instanceOf(),randomizeRemoved
ctx.identityAdded shortcuts to
ctx.setC()andctx.getC()Made
headerIdx()context-awarePut
ctx.Promisedereferencing atinit.BaseCli.__ror__(), instead of dynamic patching atk1lib.bioinfo.cliconstruction timeGet rid of
stdoutstyle inconsistencies. Previously, it looks like[1, 2] | stdout, now it looks like[1, 2] | stdout().Added multiprocessing capabilities with
applyMpAdded
maxDepthoption fordereferenceAdded
includeLastoption tobatchedAdded
float("inf")option tobsparameter ofbatchedFixed
permuteto be able to take in generator for rows.Fixed
stdoutto be able to display non-iterable inputsFixed
dereferenceso that it will handle poking errorsFixed
countso that it can deal with list. Used to throw unhashable type: ‘list’Added more flexibility with
toFloat(),toInt()andsort
DL:
Added classes
AutoIncrement,WrapperAdded functions
positionalEncode(),debounce()Fixed
executeNb’s_globalsdoc-backref problem. Also clears plot automatically after executing a cell now.
0.1.11 - Aug 25th, 2021
Background stuff:
Added testing section for unit tests (simple assert statements inside the notebooks)
Bioinfo cli:
Added numpy/torch checks to
dereferenceRenamed
sampletopeekAdded
infiniteFrom,joinStreamsRandom,batched,collate,splitListAdded
infiniteFAdded
toTensorReplaced
infinitein favor ofrepeatUpdated all cli tools to use
super().__init__()Added
ctxmodule, withPromise,enum,identityclasses, andgetC(),setC()methods
DL:
Added
k1lib.data.CyclicRandomSamplerandk1lib.data.DatasetWithSamplerAdded highlight feature in
callbacks.Callbacks.checkpointGraph()Added
k1lib.viz.Carousel.pop(),k1lib.viz.Carousel.__getitem__()Added
k1lib.Learner.sample()Disallow
k1lib.executeNb()to execute lines that starts with “!”, also removed parametercatchErrors, as it’s quite uselessAdded
k1lib.Object()
0.1.10 - Aug 22nd, 2021
Background stuff:
Added notebook regression tests
Added tutorials automated building tool
Added
k1lib.ignoreWarningsTutorials part moved to official docs (rather than .md files on github)
Added covid tutorial
Bioinfo cli:
Reintroduced
permute, asrowsis inadequateAdded
lengths,applySingleExposed
serial,oneToMany,manyToMany, andmanyToManySpecific
DL:
Added
confusionMatrix.ConfusionMatrixandk1lib.viz.confusionMatrix()Modified
k1lib.Objectto allow settinggetdocfieldAdded
k1lib.viz.Carousel.saveBytes(),k1lib.viz.Carousel.saveFile(),k1lib.viz.Carousel.saveGraphviz(), and handle different image formats much better now
0.1.9 - Aug 19th, 2021
Bioinfo cli:
Added
k1lib.DomainclassAdded
__invert__option forrowsandcolumnsby incorporatingk1lib.DomainSped up
rowssignificantlyRemoved cli tool
everyasrowsis good enoughAdded
__invert__option forhead. As a result, removednheadAdded
till()mechanism togrepcli toolAdded
gbcli module to deal with genbank file formatAdded
tableFromList()as alias oflistToTable()Renamed
avgtotoAvgAdded
toSum
DL:
Added Callbacks tab completion to
k1lib.LearnerandCallbacksRefactored
lossLandscape.LossLandscapetolandscape.Landscapethat can be used by any other callbacks, right now it’sLossandAccuracyAdded
callbacks.Callback.pause()to help withAccuracy’sLandscape
0.1.8 - Aug 15th, 2021
Fixed installation bug where readme.md would be absent, and setup.py won’t work at all.
Bioinfo cli:
Huge revamp of how tables are treated. Before, row elements are in a single string, separated by a delimiter. Now each row is a full fledged list
Added
grepToTable,joinList,contains,table,stitch,listToTable,insertColumncli toolsRemoved
joinRowsbut still keepjoinStreamsas “joinRows” is not really obviousRemoved
permuteascolumnsis pretty much identicalRenamed
insidetoinSetCut out nested functionality from
greptogrepToTable
0.1.7 - Aug 14th, 2021
Interface with external modules:
Swapped out
register_backward_hookwithregister_full_backward_hook()inHookModulecallbackAdded
torch.nn.Module.preserveDevice()context manager
Callbacks:
Changed
Callbacks.suspend()to take in names onlyAdded
Callbacks.suspendClasses()to take in classesChanged
Callbacks.suspendEvaluation()toCallbacks.suspendEval(), also added functionality for white and black listsRipped out complex
Callback.__getattr__()mechanism (that automatically searches the parent learner for missing attributes) to improve speedAdded
k1lib.callbacks.corecallbacksCoreNormalandCoreRNNAdded more plot decorators for
MemoryProfiler, including backward-forward separator with their textChanged
LossLandscapecallback so that it follows the common flow structure. Before, it implements a whole newcbs(...)schema that essentially duplicated the loop inside ofk1lib.Learner
Learner:
Implemented grace stop handling for
Learner. Before, if someone throwsCancelRunExceptionwhile executing a batch, then it will immediately jump to the end of the run. Changed it so that it will be caught in the batch loop, execute checkpointscancelBatchandendBatchand rethrow it. Same thing withCancelEpochExceptionMoved loss function from being a core functionality inside
Learnerto an external callback, so that adapting multiple loss functions are possibleAdded
Learner.__call__()
Bioinfo cli:
Added
isValue,intersection,AA_,infinite,dereferencecli toolsModified
catto be able to take in file name by pipeAdded new joining operator “+” between
init.BaseCli
Style changes:
Changed
Callbacks.learnertoCallbacks.lChanged
Callback.learnertoCallbacks.lRemoved
k1lib.eqnfromk1lib.imports’s namespace
0.1.6 - Aug 13th, 2021
I don’t really keep track of things 0.1.6 and before, so nothing here really.