- Added generic BOMMatcher with Octopart implementation
- Moved caching to a higher layer
- Made the interface compatible with typedargs
Update typedargs with class containing type_system code
- Also expand unit test coverage of type system
- Add default string formatting for exceptions
Update for more consistent use of new type_system
Add initial support for complex types
- Add a map type that can take any two other types as key and value types
Add typed return values to type system
Update bom_matcher to use typed return value
Update typedargs to export return_type
Update typesystem to allow complex types in param and return_type
Fix return value printing
Begin creating provider-agnostic part information
Add list complex type to typedargs
Finish refactoring octopart code
- Start refactoring board extraction and pricing code
Refactored pybom
- Added momo friendly CircuitBoard object
- Simplified generation of pricing models
- Consolidated code for getting bom information
rename bom_lines() to capture what it does
Fix improper location of config file
Start finishign up pcbtool
Fix help display in momo tool.
Remove dirspec dependency and replace with in-house alternative
Update README to remove mention of dirspec
Update typedargs with class containing type_system code
- Also expand unit test coverage of type system
- Add default string formatting for exceptions
Fix improper location of config file
Update for more consistent use of new type_system
Add initial support for complex types
- Add a map type that can take any two other types as key and value types
Update typedargs to export return_type
Update typesystem to allow complex types in param and return_type
Fix help display in momo tool.
Add bool type
Don't require a variant when there is only one option
Add test for circuitboard
- start work on partcache, moving from ZODB to integrated sqlite
Recreate cache functionality on top of sqlite
Still need to integrate into bommatching
Start making CircuitBoard agnostic of the generating program.
Begin the great refactor to make CircuitBoard agnostic of the
type of board file that it was generated from. This does not
work yet but is on its way.
Rename pybom to pcb
Working version of refactored CircuitBoard
Attribute updating works now on eagle board files
Integrate part cache into bom matching object
Working version of part caching
Working partcache integrated into bom_matcher
Working part caching and unit tests for part matching
Rename unit tests from pybom to pcb to match new package name
Update TODO status
Add support for updating metadata in boards and writing BOM lines
Fix unit tests and partcache to use global defaults
Fix unit tests for pcb tools
Fix refactor copy/paste error and remove unnecessary setup dependencies
Working excel exporting of BOMs
Pump version 1.1.0 since we added a new bom feature
Add unit test to exercise excel exporting
Fix bug handling empty manufacturers
Fix processing of assembly variants in eagle and add tests for it
Update CircuitBoard to support pricing BOMs
- Also fix issue with unicode display inside physical parts objects
not being converted correctly to ascii when using __str__
- Updated type system to include price objects.
Update momo to only display traceback information during an APIError
Starting work on integrating fab and assy drawing generation
Additional work on fab generation
Update momo tool to lazily load modules when possible
This cuts the startup time in half and will be very important going
forward to make sure we keep the tool responsible and speedy
Working version of production file generation
Add unit test for building production files
- note: EAGLE needs brd files to be named .brd for CAM processing to work
Remove non conforming exception and update TODO docs
Update production generation to zip up result
Fix libedit logic to only apply on mac os x and not on Windows too
Start autofinding EAGLE on various OS
Add eagle autofind on mac os x in standard location
Update version number
Update modtool to show progress bars