Schemdraw

Latest version: v0.19

Safety actively analyzes 641134 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.19

Enhancements:
- Added `scalex` and `scaley` for asymmetric zooming/scaling of Elements
- Added ElementImage for placing PNG and SVG images as an Element
- Added pictorial elements
- Load Fritzing Part files (breadboard view)
- Added `.pin` and `.side` methods to Ic Element
- Added `mathfont` parameter to drawing config method

Fixes:
- Fixed `tox` and `toy` methods when the Elemnet defines a theta
- Fixed vertical offset of labels below an Element
- Fixed reversing of CurrentLabel.
- Update Ic Element to respect `pinspacing` when `size` is also provided
- SVG backend accepts color tuples (r, g, b) in the range 0-1, mirroring Matplotlib
- Tighten bounding box around text elements (when using ziamath)

0.18

Enhancements:
- Automatically increase size of flowchart boxes to fit the text
- Added Container element to automatically draw a box around a group of elements
- Internally track drawing state so that `d.add` or `d +=` is no longer necessary when adding elements inside a context manager
- Default element attributes may be set using `Element.defaults` dictionary. For example, to fill all Diodes, set `elm.Diode.defaults['fill'] = True`.

New Elements:
- Lamp2
- Terminal

Other changes:
- BREAKING: Subclasses of ElementCompound must add Segments inside a `setup` method instead of in `__init__`. The `inner_element` and `outer_element` parameters of `TwoPort` now accept classes instead of instances of those classes.

0.17

New Elements:
- Tristate inverter (credit: Jan Genoe)
- NMos and PMos elements (credit: dtmaidenmueller)
- AnalogNFet, AnalogPFet, AnalogBiasedFet
- DataBusLine
- CurrentMirror, VoltageMirror
- Nullator, Norator, VMCMPair
- Compound twoport elements (ElementTwoport base class):
- TwoPort
- VoltageTransactor
- TransimpedanceTransactor
- CurrentTransactor
- TransadmittanceTransactor
- Nullor

Enhancements:
- Added arguments for length/width of CurrentLabel arrows (credit: Christian Seigel)
- Added config option for setting whitespace margins

Bug fixes:
- Fixed regression bug in logicparse where labels were not drawn on inputs/outputs
- Fix timing diagrams when async times are longer than the wave
- Fixed default style hierarchy on segments
- Fixed CurrentLabel placement with transistor elements, now follows biasing current
- Fixed CurrentLabel positioning for elements with no center anchor

Other changes:
- Deprecated positional direction parameter to Element class.
- Add nonglobal rotation mode attribute to SegmentText

0.16

- Added `canvas` parameter to Drawing and draw method, and deprecated `backend` parameter.
- Removed `elements` argument from Drawing. Use Drawing.add_elements.
- Added `Drawing.set_anchor` to define anchor points, useful for ElementDrawing instances.
- Added shunt resistor symbol Rshunt
- Fixed lead length of XOR gates to align with OR gates
- Fixed greater and less than symbols in SVG backend
- Fixed some anchor positions on flowchart symbols
- Allow font parameter to be the path of a TTF file
- Removed old deprecations
- Replaced setup.py with setup.cfg

0.15

- Added DSP elements Circulator, Isolator, VGA
- Added ZLabel element for right-angle impedance arrow labels
- Changed DSP anchor names from 'in' to 'input' to avoid conflict with 'in' keyword
- Fixed styles with nested ElementDrawing elements
- Fixed zorder of filled elements in Matplotlib backend
- Added mathfont parameter to labels for specifying different font on math labels
- Added padx and pady parameters to Encircle elements
- Moved SVG backend configuration to svgconfig object and deprecated 'settextmode'.
- Added 'visible' parameter to Segment objects

0.14

- Added context manager to Drawing class.
- Added Wire element for quick 90-degree connections
- Added Encircle, EncircleBox, and Annotate elements
- Added Wheatstone, Rectifier, SparkGap elements
- Added "2T" version of transistor elements for placement as as two-terminal elements
- `tox` and `toy` methods automatically change drawing direction, removing need to specify `right()` and `tox()`, for example.
- Added `istart` and `iend` anchors to 2-Terminal elements for defining inner start and end points before lead extensions
- Added `dot` and `idot` methods to two-terminal elements
- Added '-o' and '-\|' arrow types to draw dot or endcap instead of arrow at the end of lines
- Added `leads` parameter to OpAmp for adding lead extensions
- Added `lead` parameter to Grounds, Vss, and Vdd
- Added optional `dx` and `dy` parameters to `to` and `at` methods for quick fine-tuning of placement
- Added optional `length` parameter to `up`, `down`, `left`, and `right` on two-terminal elements
- Improved placement of CurrentLabel arrows
- Fix default label position on Vss element
- Fix positioning of switch contact bubbles
- Fix text rotation in svg backend and path mode
- The `scale` method now maintains the length of two-terminal elements

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.