Repository navigation
Release: 0.3.0
All notable changes to this project will be documented in this file.
0.3.0
- Renamed the method that every node writes from
implementtoapply. A
subclass ofVertexnow writesapply, which is wrapped when the subclass
is defined, so that a call to it still adds the node'sparametersto the
keyword arguments (asapplydid when it calledimplement). A call to
theapplyof a parent class throughsuper()is not wrapped again, so it
gets its keyword arguments exactly as they are passed. Subclasses can
override_call_applyto change what happens around everyapply. This
is a breaking change: a subclass that wroteimplementmust rename it to
apply.
0.2.1
- Updated to the
snickerdoodle0.4.0 template - Made
ruffprefer single quotes - Made
ruffignore boolean default positional arguments (FBT002) - Excluded
uv.lockfrom the large file check - Fixed typos in the contributing guide and noted that the project does not use a code formatter
0.2.0
- Rebuilt the core of
chrisjenonbobbie(settings),holden(workflow
graphs),nagata(file management), andcamina(helpers). The previous
modules depended on APIs that no longer exist and could not be imported. - Added
LibraryandGenre. Every subclass ofGenreis added to
chrisjen.librarywhen it is defined, under its snake case name. Abstract
subclasses (those that listabc.ABCamong their bases) form nested genres.
Names in settings are found in the library, andLibrary.borrowfinds a
class by name with fallbacks (for example, a worker's own class before the
class of its design). Project.createloads settings into anIdea(abobbie.Settingswith
properties for workers, steps, techniques, designs, criteria, and
parameters), builds the workflow withchrisjen.workshop, applies it to an
item, and generates aReport(Summaryby default). Its arguments after
the settings are keyword-only.- Added the node types
Vertex,Technique,NullVertex,Step, and
Worker. ATechniquehas animplementmethod or wraps a tool: any
callable, or the import path of one (imported only when it is used). Each
node builds itself from the settings withVertex.build, which passes
settings that match its fields (such asmax_iterations) to its
constructor. - Added the worker designs
Flow,Benchmark,Contest, andSurvey, and
Criteriato score results. Workers areholden.Systemgraphs, so they can
be exported withto_dotandto_mermaid. - Workflows are built the way they were in
simplify: each technique of a
step is wrapped in aStepnode named "{technique}_{step}" (using aStep
subclass named after the step, if there is one), and aContestor
Surveytries every combination of one technique from each step, with its
own copies of the item and the nodes for each combination. Parameters can
be set for a step ({step}_parameters) or for one technique in one step
({technique}_{step}_parameters). - Rewrote the README and documentation, with examples that are run by the unit
tests. - Removed
Architect,Manager,Engineer, and the other classes of the
earlier design. - Moved to the
snickerdoodletemplate based onuvandhatchling, and
maintained the Python dependencies with dependabot'suvecosystem.
0.1.4
* Converted to `snickerdoodle` template and started change tracking