CHANGELOG

v 2.27.8 - 09-01-2025

  • Hotfix: Fix conda release pipelines when multiple packages are published at the same time (PyTWD) #3527

v 2.27.7 - 02-01-2025

  • Hotfix: PYT700 Bolt template warnings not printed in PDF / PYT400 incorrect tech note. #3501

v 2.27.6 - 16-12-2024

  • Hotfix: Pin kaleido version on Windows . #3463

v 2.27.5 - 11-12-2024

  • Hotfix: Fix incorrect profile drawings. #3444

v 2.27.4 - 03-12-2024

  • Hotfix: Removed kaleido pin to v0.1.0 and from conda recipe. #3412

v 2.27.3 - 27-11-2024

  • Fixed backward compatible QualityWarning issue. #3388

  • Master V2.27.2 into develop. #3361

v 2.27.2 - 20-11-2024

  • Hotfix 2.27.2. #3362

  • EDA: added parametric profiles. #2684

v 2.27.1 - 13-11-2024

  • Add PYT601 Pin and hole tolerancing template to engineering library. #2938

  • Separate out templates from pytwd (PyTWD repo). #3242

  • Created custom warning logging system #3267

  • Workflow quality system improvements. #3333

  • Add new checksheets. #3229

  • Created jupyter notebook templates for some example reports #3153

  • Add technical responsible on most templates. #3335

  • Created a jupyter notebook template for project report #2978

  • Added 3 new materials to pin materials. #3295

  • Added UCPosition to imports snippet. #3326

  • Improved behaviour of database BoC method when no BoC is present #3298

  • Updated the allowable stress table in all templates #3151

  • PYT521: Fixed 1D buckling template from JLO. #3297

  • PYT611A: Fixed wrong thickness for full pen weld in a1 section and added a warning for weld thickness. #2970

  • PYT700 Updated load factor reference. #3327

  • PYT700: Updated bolt template connection opening warning trigger #3195

  • Fixed content is code arg in technical notes . #3325

  • Fix notebook tests in pipeline and remove hyperref usage. #3313

  • Fixed text display in technical notes #3310

  • HMC to TWD: Merge develop-merge-stack into develop #3271

  • HMC to TWD: Replaced pypdf2 & pymupdf with pypdf #3198

  • Release v2.27.1. #3353

v 2.27.0 - 13-11-2024

  • Release number skipped due to testing of release freezing this version number in Azure

v 2.26.2 - 23-09-2024

  • Hotfix: widget inputs can't be read from BoC database. #3130

  • Merge v2.26.1 into develop. #3051

v 2.26.1 - 05-09-2024

  • Hotfix: unable to display db when using the padeye template. #3049

  • Merge master into develop for V2.26.0. #3047

v 2.26.0 - 04-09-2024

  • References table from Heerema. #2799

  • Made rev column in Reference table optional.. #3002

  • Removed unused packages ipynb and urllib3. #2928

  • Added MN to common units and import snippet. #2972

  • Copied code from Heerema/feature/compare_symbols. #2994

  • Updated jupyter starters wheel to version format recognized by pip. #3029

  • Fix for logging database reading in widgets. #2988

  • PYT521 added missing customization cell to the template. #2974

  • PYT530: New CLC Calc Template - > Buckling Check based on Eigenvalues. #2494

  • PYT400: Added block coefficient to the inputs. #2936

  • PYT600: Fixed padeye shackle warning.. #2992

  • PYT600: Hid cheekplate variables in pdf if no is cheekplate used. #2954

  • PYT700: Fixed a typo in the bolt template code.. #2991

  • Merge master into develop for version 2.25.1. #3042

  • Release V2.26.0. #3044

v 2.25.1 - 13-08-2024

  • Added a default value for elastic modulus for bolts. #2941

2.25.0 - 13-08-2024

  • Fixed HEB 100 profile database.. #2929

  • Updated the custom profiles snippet to have the same order as properies.py. #2813

  • Fixed bug showing incorrect latex for fractions inside nested D . #2791

  • Added default None to Optional args in Properties dataclass. #2721

  • Made ul database inputs compatible with None type widgets. #2617

  • Add micrometer to units and add sympy Abs to import snippet. #2766

  • Make notebooks tests run in parallel on the pipeline . #2729

  • Removed the cref for Ref code. #2716

  • Added doc.start_appendix() and doc.set_section_num_depth() methods from Heerema branch. #2635

  • Added test for LatexCode in template introduction widget. #2923

  • Added new greek symbol and made list in alphabetical order. #2702

  • Added test to check if notebooks exist in folder. #2613

  • Added colored symbols and text from Heerema branch. #2636

  • EDA: add elastic modulus to materials and bolts. #2639

  • EDA: Add profile drawings. #2651

  • PYT420: Wave and current - Fix graph label m/s^2. #2793

  • PYT521: cwarp for CHS changed to 0. #2717

  • PYT521: updated buckling1D intro text and variable color. #2704

  • PYT600: Reupdate padeye revision and fix shackle warning. #2860

  • PYT600: Fixed issue with padeye and pin template references. #2646

  • PYT600: Updated Padeye revisions. #2645

  • Update develop from master v2.24.1 to resolve conflicts. #2732

  • Merge V2.24.2 from master to develop. #2737

  • Merge V2.24.1 from master to develop. #2720

  • Merge V2.24.0 from master to develop. #2638

  • Release v2.25.0. #2934

v 2.24.2 - 09-07-2024

  • Hotfix: PYT600 Padeye - Synced Pin inputs are not updated when using database. #2723

v 2.24.1 - 04-07-2024

  • Hotfix: PYT600 Padeye – cheek plate thickness not considered in pin calc. #2718

v 2.24.0 - 12-06-2024

  • Release v2.24.0. #2622

  • Implemented user comments in padeye template. #2610

  • Change incorrect name in plate buckling temp. #2615

  • Bolt head bearing surface naming fixed. #2567

  • Added project number to reference snippet. #2604

  • New PyTWD academy videos: EDA and Database. #2559

  • Changed input widget row widths. #2564

  • Add unit kilometers [km] from UnitRegistry to PyTWD Common units. #2570

  • Fixed Existing_ref argument not referecing correctly. #2550

  • Added error raises for filename including '.' and double spaces. #2404

  • Stopper Calculation references and Introduction text. #2429

  • Removed warning when no customization has been done. #2536

  • Fixed sorting of calc code dropdown in input row widgets. #2394

  • Added functionality for people to view units and symbols in the EDA drawings. #2401

  • Improvements to get_calcs_from_dir. #2025

  • Fixed local jupyter folders not being empty before restart. #2408

  • Showing introduction in Platebuckling class. #2405

  • Extension of Bollar Pull calc.. #2015

  • Updated bump version setup. #2340

  • Implemented Snippet for reading/writing Excel and csv files. #2353

  • PYT510: Updated to have 3 load inputs instead of 1 generic load. #2551

  • PYT511: Corrected reference for effective deck width factor. #2511

  • PYT521: Fixed symbol in template. #2563

  • PYT531: Fixed symbols for transversal and combined load. #2504

  • PYT600: Completing tasks for padeye template. #2040

  • PYT600: Implementing MC and AC comments . #2553

  • PYT611: Updated moment acting on flange weld to distance to the web. #2573

  • PYT611: end plate / cut bottom flange under deck weld updated to maximum vertical force; fixed description text. #2501

  • PYT611A: Shifting location of l_cl in pdf. #2597

  • PYT700: Number of friction interfaces: change default value to 1.. #2497

  • Merge master into develop for V2.23.4, V2.23.5, and V2.23.6. #2548

  • Merge v2.23.3 from Master to Develop. #2496

  • Merge master to develop for hotfix v2.23.2. #2363

  • Merge master to develop for V2.23.0 and V2.23.1. #2345

  • Fix release v2.22.0 changelog. #2358

v 2.23.6 - 15-05-2024

  • Fixed contents of documentation page. #2517

v 2.23.5 - 15-05-2024

  • Updated FTP credentials for documentation upload. #2512

v 2.23.4 - 13-05-2024

  • Fixed Korean TWD (TWD-KR) and FTP server URL for PyTWD docs. #2454

v 2.23.3 - 03-05-2024

  • Hotfix for load factor not being used in PYT510 Beam equations template. #2464

v 2.23.2 - 08-04-2024

  • Fix PDF "save as" issue. #2361

v 2.23.1 - 28-03-2024

  • Hotfix for an error in beam template and another error in 1D buckling template #2329

v 2.23.0 - 27-03-2024

  • Support for vector and matrices. #703

  • Create custom profile visualizer. #2114

  • Added visualizer for EDA profiles. #2271

  • Add padeye 3d visualizer to padeye template. #2030

  • Add profile pictures for each EDA profile #2153

  • Auto-generate all notebooks again to get new format for the input data customisation section. #2216

  • Added ability to define text-only references that are not added to the document's reference list #2117

  • Project title is now read from the boc by default in the doc setup snippet and quickstart templates #2148

  • Put notebook run instruction and note in results section in a blue box. #2317

  • Update starter config generation and script to setup local environment. #2218

  • Allow DB from other directories with widgets. #2323

  • Brought documentation updates from Heerema branch . #2318

  • Update import snippets with imperial units #2220

  • Fixed run local Jupyter script. #2321

  • Fixed Sphinx documentation #2195

  • Fixed bug that ignored _extra_customization_method_to_title when auto generating notebooks #2157

  • PYT400: Motion criteria template is now widgetized. #2226

  • PYT486: Windage and current area calculation template is now widgetized. #2281

  • PYT510: Use new disabling/enabling widgets feature for beam equation template #2152

  • PYT511: Deck Strength, Widgets now use the new disabling dependencies class variable #2163

  • PYT521: Buckling 1D template is now widgetized. #2196

  • PYT531: Widgetizing plate buckling template #2181

  • PYT550: Fatigue life calc template is now widgetized. #2201

  • PYT611: Wingplate templates are now widgetized #2185

  • PYT615: improve the symbols for the custom material descriptions in stopper template #2151

  • PYT700: Pretensioned bolt calc template widgetized #2165

  • PYT960: Barge stability template is now widgetized. #2243

v 2.22.0 - 07-02-2024

  • Improved error for database writing with keyword arguments. #2146

  • EDA: return doc strings and extra information when used in jupyter. #2038

  • Fixed database usage in widgetized templates. #2145

  • Added more advanced BoC handling when multiple BoCs are present. #2144

  • Update FL and R in EDA profile library. #2078

  • Adjust formula to calculate height coefficient #1289

  • Changed calc revision table columns from IC, FC to MC, NC, AC #2074

  • Added comments to customize_class_method magic indicating where users can adjust the code #2054

  • Updated EDA docstring #2033

  • Global method to disable/enable widgets based on another widget. #2061

  • Create gitignored playground folder and add jupyter_notebook_config.json to gitignore #2071

  • FMT: fixed bug when column_widths and row_height are assigned from boc #2083

  • Fix figure handling in example template, improve BoC reading #1991

  • Fix figure link in python basics notebook #1877

  • Fix AssertRaises tests throughout the code base. #2100

  • Fix beam equation notebook auto generation #2052

  • Fixed changelog from previous release #2005

  • PYT200: Added Quickstart notebook with layout template based on Engineering Agreements v1. #2080

  • PYT510: Fix/improve bunch of bugs/features of the widgtized beam equation template. #2062

  • PYT510: Adding display plots function in the results section of widgetized deck strength template #2031

  • PYT511: Deck strength template - Added capability to specify double loads. #2086

  • PYT611: Fixed weld_type_web calculation enums in end plate template. #2056

  • PYT615: Adding customized material yield stress inputs to widgetized stopper template . #2139

  • PYT615: Add widgets to the stopper calculation template. #1669

  • PYT615: Compression check calculation now happens based on 4 separate load cases #2067

  • PYT700: Fixed typo in bolt pretension template. Course-> coarse #2053

v 2.21.2 - 08-12-2023

  • Fix for dependent dropdown widgets when kernel is restarted #1989

v 2.21.1 - 29-11-2023

  • Make predefined references collect in a tuple and _folders_to_template be defined in a tuple . #1956

  • Workflow improvement . #1857

  • Added new PyTWD academy video: Hand calculations - formatter. #1848

  • PYT510: Widgetizing beam equation template and adding customizing function . #1777

  • PYT511: Widgetizing Deck strength template. #1675

  • PYT600: Improved padeye starter icon - Tribute to PIN. #1841

  • PYT600: Main branch of padeye improvements by Pin. #1582

  • PYT600: Insert Pin class into Padeye to padeye template as a tab. #1796

  • Release 2.21.0. #1864

  • Merge v2.21.0 back to develop. #1871

v 2.21.0 - 15-11-2023

  • Workflow notebook added as starter and improvements. #1857

  • Added new PyTWD academy video: Hand calculations - formatter. #1848

  • Fixed issue with markdown headers in variable groups. #1849

  • Improved padeye starter icon - Tribute to PIN. #1841

  • Add image/table of available dimensions of bolts in EDA. #1799

  • Added templates from V2.20.1 to be tested for backwards compatibility. #1847

  • Add formatter to EDA. #1791

  • Edit layout for widgets tabs. #1705

  • Adding custom profile to snippets. #1793

  • Formatter improvements (D( ) inside equation, snippet name, keyboard shortcut). #1713

  • Moves all old templates to backwards compatibility folder and fixes the generating intro section. #1772

  • Fix for _document_inputs mutations, template version and cells tags. #1706

  • PYT531: Fixed length/width warning and improved notebook readability. #1800

  • PYT600: Main branch of padeye improvements by Pin. #1582

  • PYT600: Add advanced input calculation to the backend. #1779

  • PYT600: Add advanced input tab to the frontend. #1769

  • PYT600: Insert Pin class into Padeye to padeye template as a tab. #1796

  • PYT700: Update reference in bolted connection template . #1781

v 2.20.1 - 20-09-2023

  • Hotfix v.2.20.1 - Fixed Ref not working with unpickling. #1648

v 2.20.0 - 19-09-2023

  • Add the automatically generated notebooks to Jupyter Launcher. #1599

  • Automatically generate notebook files for engineering templates. #1295

  • Finalize automatic generation of WindForce and BollaradPull notebooks. #1516

  • Automatic generation of CLC template with widgets. #1515

  • Added EC3 and EN as possible codes for yield reduction. #1632

  • Improving the order of terms in equations. #1536

  • Fixed wrongly assigned stress to UC in beam equations for clampedclamped. #1624

  • Fixed min_var and max_var not accepting math expression for the first term. #1623

  • Fix cref bug with label placement. #1539

  • Merge master to develop v2.19.3. #1618

  • Change the marker of references to be based on docnum and description. #1565

  • JAP and USA Profiles/Materials added to PyTWD. #1217

  • Increase number of CHS profiles available in the library. #1323

  • Added new CHS Profiles to EDA. #1562

  • Added LatexCode class and changed NoEscape to LatexCode in source code. #1522

  • Update the DNV codes to the correct year. #1537

  • PYT420: Fixed reference location on minipage. #1533

  • PYT531: Correcting combined plate buckling transverse UC and descriptions of UC of combined case. #1579

  • PYT550 Fatigue Life template - updated DNV reference. #1545

  • PYT550: Fixed the inconsistency naming in normal stress direction between printed PDF and PyTWD code. #1637

  • PYT551: Removed starter due to template methodology issue. #1549

  • PYT611: Fixed incorrect implementation of throat size symbols . #1627

  • PYT700: Update hole size values for small bolts in bolt template. #1544

  • PYT960: Added 4 variables to template 'values' attribute. #1629

v 2.19.3 - 10-08-2023

  • Added extra check to the write function in the database #1535

v 2.19.2 - 25-07-2023

  • Fix references based on Codes object #1501

v 2.19.1 - 07-07-2023

  • Fix quality gifs not being included in PyTWD install. #1470

v 2.19.0 - 05-07-2023

  • Add natural logarithm (ln) to standard imports. #1455

  • Added more gifs in a quality section of EDA. #1456

  • PyTWD Academy - Added new Jupyter usage notebook and instruction video. #1452

  • Update password for sending changelog.rst to docs.twd.nl. #1457

  • Allow images and gives to be displayed in jupyter directly from a Path. #1451

  • Added label and marker to subfigures. #1391

  • Allow references to be added to the allowable stresses function. #1322

  • Allow displaying of only an equation in a var group. #1337

  • Add shackle properties to EDA. #1308

  • Add descriptions for profile dimensions. #1321

  • Fixed autocomplete includes all the calcs variables in the db. #1441

  • Fix the assigned yield stresses to the thicknesses for EN code. #1437

  • Add science = True for variables with units mm3 and mm4. #1439

  • Addition of introduction figure width widget and predefined figure option. #1282

  • Add BoC parameters database dropdown in 'Input' tab . #1225

  • Add DNV-ST-N001 to references. #1361

  • Fixed symbol from x to z in Accelerations. #1436

  • PYT400: Change error assertion to warning message #1392. #1392

  • PYT510: Fix the bracket display problem . #1320

  • PYT521: Fix the hardcode ref issue in the buckling template . #1402

  • PYT600: Fixes shackle loading being shown even when no shackle selected. #1414

  • PYT600: Fix cheek type in padeye template. #1360

  • PYT600: Fix the W_x_33 naming issue in padeye template. #1403

  • PYT700: Fix the blue input issue in bolt template. #1395

  • Fixed unwanted revert of a master merge . #1438

v 2.18.2 - 02-05-2023

  • Fix attribute-based access of database and read logging for workflow. #1313

v 2.18.1 - 25-04-2023

  • Fix references section when header is added to VariableGroup. #1292

v 2.18.0 - 24-04-2023

  • PYT360: Fixed the references in the wind load calculation widgetized notebook. #1286

  • PYT420: Tp update for wave and current sheet . #1186

  • PYT486: Windage area calculation. #1136

  • PYT521: Add references section to 1D buckling template. #1000

  • PYT600: New Padeye starter logo. #1270

  • PYT611: Updated wingplate template with extra moment and weld type. #1095

  • PYT700: Added YouTube video to pretensioned bolt template. #1274

  • PYT960: Barge stability template (NEW). #840

  • Fix the descriptions for yield reduction. #1285

  • Fix bearing stress safety factor DNV LRFD/WSD-A/WSD-B. #1271

  • Added new PyTWD academy category. #1238

  • Created Python Basics notebook in Getting Started (academy). #1222

  • New PyTWD intro video in new PyTWD Academy. #1283

  • Revert how-to-variables category change. #1275

  • Fixes hidden cells error in clean Jupyter file. #1252

  • Added attribute-based notation for database reading and simplified writing. #1212

  • Fixed pickling for equation bug. #1266

  • Added calculation revision table (incl. snippet). #1224

  • Added ability to provide a list of references to a variable. #1223

  • Refactor widget writing to backend. #1106

  • Add datagrid to template widget . #1187

  • Fix store_widget_values so it does not overwrite snippet magic in cell . #1195

v 2.17.1 - 28-02-2023

  • Fixed multiple minor issues (add_text corner case, vargroup getter, EDA formulas MOI). #1191

v 2.17.0 - 27-02-2023

  • Added missing mod argument to docstring of Var class. #1162

  • Allow triple-quoted strings for add_text and handle linebreak issue properly. #1184

  • Testing pipeline merges develop branch in current branch. #1182

  • PYT615 Stopper template fix: added n_pl to section modulus under deck formula. #1175

  • Change videos in Getting started to notebooks. #1170

  • Implemented __repr__ method for Var and StringVar. #1178

  • Improve formatter by adding a standard column width and row height . #1114

  • Implemented additional LaTeX compilation error analysis to help with undefined control sequence. #1179

  • Raises an error when the filename is left empty for add_figure method. #1117

  • Removed Jupyter / Linux related content from the repository. #1173

  • Adding a common material library and EDA prototype. #1102

  • Textual update PinSteelGrade. #1176

  • Row height argument in Var can now have Quantity as input. #1078

  • Update PYT510 - beam equations backend to the latest style. #992

  • Extended D() to handle equation properly. #1101

  • Changed the pipeline to test on build package. #1093

  • Update kaleido in requirements.txt. #1158

  • Adds sections method to template customization with nice instructions. #1099

  • PYT421: Changed sea water to water in bollard pull calculation template. #1116

v 2.16.1 - 21-12-2022

  • Added ipydatagrid to setup.py requirements and __init__ for Bollard pull calculation module #1088

v 2.16.0 - 21-12-2022

  • PYT421 Bollard pull calculation template including stateful datagrid widget. #1027

  • Improved table calculation snippets for ease of use. #1057

  • Update references (DNVGL to DNV) in PYT551 Fatigue per loadcase. #1026

  • Added extra conversion to formatter: _and_ becomes ampersand symbol (&). #1083

  • Improved error handling for LaTeX compilation failure, template customization and invalid equations. #1067

  • Fix for CalcTemplate to automatically pick up references if initial reference list is empty . #1054

  • If statement fix in strength.py for thickness above 150 mm. #1076

  • Fixes for making the new cloud instance work (Pint downgrade and grffile package removal). #1020

  • Improve PYT600 padeye template equivalent stresses. #1065

  • Fixes BlueD being ignored by formatter. #1055

  • Updated standard decimals for moments (kNm, kNmm, etc) and inertia values. #1046

  • Watermark feature . #1052

v 2.15.5 - 09-12-2022

  • Hotfix for PYT615 Stopper calculation. #1064

v 2.15.4 - 28-10-2022

  • Fix tests for the PyTWD build. #1015

v 2.15.3 - 28-10-2022

  • Changed cloned PyTWD path to /srv/PyTWD0 #1012

v 2.15.2 - 21-10-2022

  • Removed wrong import in strength.py #989

  • Fixed reference update in wind load calculations and added user with weird username. #991

  • Hotfix for wave and current template. if-else conditions for drag and mass coefficient #1001

v 2.15.1 - 04-10-2022

  • Updates for compatibility with both jupyter-cloud.twd.nl and jupyter.twd.nl. #977

  • Simplified wind template with widget. #974

  • Fix errors in PYT611 - End plate with respect to weld continuity. #979

  • Redirect get_ultimate_strength of steel to get_ultimate_strength of Pin for backwards compatibility. #983

  • Moved PYT350 - LCD to the deprecated section. #982

  • Improved Profile Property snippets w.r.t. handling of Tab key. #981

  • PYT615: Stopper calculation. #636

  • Removed cdsdashboards configuration from release script. #973

v 2.15.0 - 28-09-2022

  • Improved BoC part of project starter. #970

  • Final fixes and improvements from release test. #969

  • Refactored and improved tests and updated requirements to fix package building. #953

  • Refactored and improved Profile class (Pythonic (No CSVs), typed with dataclasses). #939

  • Replaced section-based snippets for doc-based snippets. #963

  • Persistent widgets in jupyter notebooks. #942

  • Added plus and minus symbols to formatter. #958

  • Improved formatted rounding for decimal format (replace banker's rounding for engineering rounding). #902

  • Raise informative error on duplicate reference labels in reference list. #956

  • Added snippet with standard column widths for convenience. #955

  • Simplified list added to RFEM readout. #817

  • BoC updated to a class for compatibility with the Database. #925

  • Fixed load factor ULS-B, category E (from 1.0 to 1.3). #952

  • Bug fix: Values from the db not working with export to rfem. #945

v 2.14.2 - 02-09-2022

  • Hotfix 2.14.2. #930

v 2.14.1 - 01-09-2022

  • Build and release pipelines (PyTWD as Python package, docs, changelog). #923

  • Fixed formatter header renumbering #904

  • The greatest PR of all time (aka Fixed filename not working without comma). #891

  • ultimate_strength used in bolt template (pyt700) is corrected to limiting sur... #849

v 2.14.0 - 13-08-2022

Major changes:

  • Codes class added as library for referring to codes

Minor changes:

  • 0 Add imports: Added BlueD, SteelGrades, EquationRepresentations

  • Added date and revision to report front page.

  • Added option to put None as caption for add_figure function

  • Added reference to Plate buckling template

  • Changed wave and current inputs in the notebook to dictionaries

  • Updated formatter with BlueD and it now skips attributes such as add_section

  • Snippet added for using Codes as reference

Other changes:

  • Added test coverage report in pipeline.

  • Profile snippet updated (m -> mass to avoid conflict with m for meter)

  • All doctests run in azure pipeline

Bug Fixes:

  • Changed calculation in wave and current notebook to support dict inputs

  • Search function fixed to match new projects folder structure

  • Changed symbol of design tension load in PYT700 - Pretension bolt template

  • S460 and S690 can also be used for the flanges used in bolt calculation template.

  • Note that the ultimate_strength has been replaced with the limiting_surface_pressure in bolt calculation.

  • For getting yield reduction and limiting_surface_pressure from strength the thickness must be a quantity and unit change is not necessary.

Jupyter Hub:

  • Updated cheatsheet to include ctrl-shift-D

  • Updated cheatsheet to include tab for autocomplete

  • Created load snippet magic class

  • Updated settings: no view toggle on ctrl-shift-D

  • Updated settings: no autocomplete pop-up without tab

PyTWD:

  • Default setting to only run pipeline when manually triggered.

  • Dictionaries implemented as input for D

  • Added error when tuple/list does not have 10 cells in VariableGroup

Templates:

  • Added padeye plotly plot to padeye notebook

  • PYT511 Deck strength webframe and stiffener - First version

  • Updated templates with dynamic import snippet

  • PYT700: Pretension bolt calculation - hard coded reference is replaced by Codes library

  • PYT600: Pin - hard coded reference is replaced by Codes library

  • PYT600: Padeye - hard coded reference is replaced by Codes library

  • PYT600: Padeye - added padeye plotly plot

  • PYT551: Fatigue per loadcase - hard coded reference is replaced by Codes library

  • PYT550: Fatigue life calculation - hard coded reference is replaced by Codes library

  • PYT400: DNVGL default motion criteria - hard coded reference is replaced by Codes library

  • PYT521: Buckling of 1D element - hard coded reference is replaced by Codes library

  • Updated all templates with dynamic import snippet

v 2.13.1 - 22-06-2022

Minor changes:

  • Starter labels Academy updated (video links)

  • All input values for table calcs will automatically change to orange.

  • Combined all python tests under one folder

  • Added single row height feature for Var, Stringvar, EnumVar, UC and Eq

Other changes:

  • Improved notebook testing approach to also include testing of customization cells.

Bug Fixes:

  • Spaces in CSV files are now handled more robustly for table calculations.

Jupyter Hub:

  • Add function in jupyter hub util to retrieve all .ipynb files with the TWD naming convention

  • Academy video starters logos updated and tutorial videos starter added

Templates:

  • PYT700: Pretension bolt calculation - refactored to new structure

  • PYT600: Padeye and pin - updated DNVGL -> DNV, fixed eccentricity issue, corrected factor 2 for pin fit

  • Updated header for all templates to use back-end function.

v 2.13.0 - 01-06-2022

Minor changes:

  • D, BlueD and dict method added to the Ref class object

  • BlueD added to variables.py

Bug Fixes:

  • Fixed issue with formatter and column_widths / row_height argument

Jupyter Hub:

  • Updated permissions for Projects and Personal-Folders

  • Added starter to create new project folder and shortcut in home directory

Jupyter Hub Developer Guides: - Guide on permission updates for Projects and Personal-Folders

PyTWD:

  • Upgraded the formatter
    • Header that can be made bold, italic or underline

    • Added empty row

    • Able to add db or boc references as variables to var group

    • Able to rename variable groups

    • Added a standard doc.add_section when first run occurs

    • # pytwd: skip will make the formatter skip that line

    • Column widths and row heights can be passed to variable group

Templates:

  • PYT360 Wind load calculations: fixed filename and updated header

v 2.12.3 - 18-05-2022

Hotfix:

  • Fixed broken Markdown display of VariableGroup with new Jupyter hub version

v 2.12.2 - 28-04-2022

Major changes:

  • Improved table calculations to be more robust and intuitive

  • Extended table calculations with function-based elements and 2D / nested table approach

  • Added guided quickstart notebook

Minor changes:

  • Value color changed for midship if the location is calculated

Other changes:

  • pyt400: Case check added for ASD weather unrestricted cases

Bug Fixes:

  • Make RFEM parameter connections easier by automatically removing /

  • Remove duplicated safety factors in plate buckling template

Jupyter Hub:

  • jupyter-archive setting update to avoid 500 internal server error

  • Reduce table calculation how to

  • Removed unused snippets

  • Removed assertions from username map script

  • Removed isort from formatter

Documentation/Examples:

  • Added "Cool stuff" notebook to academy

PyTWD:

  • Make get_yield_strength/get_ultimate_strength functionality more easily usable

  • Allow "2D" table calculations, matching different geometries with multiple load cases

  • Allow passing of own element type to table calculations

  • Make table calculations based on functions

  • Allow table calculation results to be written to csv files

  • Make RFEM scraper more general

  • Connect RFEM scraper to table_calculations

  • Catch illegal symbols upon creation of Vars

  • Auto escape symbols upon creation of Vars

  • Allow min/max/sum_var to take multiple vars as positional arguments instead of a single list

Templates:

  • Added guided quickstart notebook

v 2.12.1 - 14-04-2022

Major changes:

  • Add ensure_enum fix

  • Add extension for UC to have not available

  • Add extension for UC to have references

Bug Fixes:

  • Fixed unit conversion bug

  • Fixed double spacing issue for filenames

Jupyter Hub:

  • Added update_starters.sh

  • Notebooks open now automatically when starter is chosen.

  • Deactivated Python Black.

  • Disabled annoying automatic signature hint.

PyTWD:

  • Add more explicit error to export_parameters when variables have duplicate names

  • Added the VariableGroupTableSpec

Templates:

  • PYT521: Buckling of 1D element

  • PYT531 Plate buckling - import and figure fix

  • PYT611 Wing and End plate - fixed wrong function name in customization

v 2.12.0 - 21-03-2022

Major changes:

  • CalcTemplates can now easily store values in a separate values attribute

  • Created a PyTWD formatter to speed up coding of calculations

  • Create new define class D to simplify definition of Eq, Var, StringVar, EnumVar, etc.

  • Restructured launcher

  • Added PyTWD Academy

Other changes:

  • Logical grouping of starters

  • Updated colors of icons to match theme colors

Bug Fixes:

  • Added parents=True to setup_dev_environment

  • Fixed key bug in create_starters for table calculations

  • Fixed the problem when a sqrt function is passed over a variable

Jupyter Hub:

  • Tests for starters

  • Snippets for scraping RFEM support reactions

Documentation/Examples:

  • HowTo template customization and usage updated

Jupyter Hub Developer Guides:

  • Updated release.md

  • Added upgrade_jupyter_lab.md

  • Added pypi.md

  • Created a setup_dev_environment.py for automatic dev installation from PyCharm on Windows

PyTWD:

  • Scraper for RFEM support reactions

  • Made option to merge tables together.

  • Table calculation can be transformed into plot graphs

  • Option to get summarized tables from table calculation.

  • Created new shorthand method to automatically convert to Var, Eq etc

Templates:

  • PYT400: Default motion criteria - refactored for customizability

  • PYT200: quickstart notebook

  • PYT202: empty notebook

  • PYT530: CLC factor - Refactored for customizability

  • PYT530: CLC factor - Supports value storage

  • PYT531: Plate buckling - Refactored for customizability

  • PYT531: Plate buckling - Supports value storage

  • PYT600: Updated padeye template to ensure new inputs are colored blue

  • PYT600: Padeye and pin templates support value storage

  • PYT360: Wind load calculation supports value storage

  • PYT611: Wing and end plates templates support value storage

v 2.11.2 - 28-02-2022

Bug Fixes:

  • Fix S460 and S690 yield strength at nominal thickness calculation

  • Fixed Padeye pdf x to z axis

v 2.11.1 - 21-02-2022

Bug Fixes:

  • Fix wingplate bug

  • Fix Warning logging

  • Fix ensure_value() for the new template setup

v 2.11.0 - 10-02-2022

Major changes:

  • Changed CalcTemplate class to new setup to support customizability

Other changes:

  • Added GN to common units

Jupyter Hub:

  • Updated generate_pdf snippet to include quality page option

  • Added ability to append quality page to reports

  • Ran migrator to update 2.10.1 to this version

  • Added snippet for creating checksheets

PyTWD:

  • Upgraded starter creation code.

  • Added ability to append quality page to reports

  • Created function to generate separate warning code documents

  • Added capability to prepend checksheets to reports

  • Created migrator for migrating notebooks to new versions of PyTWD

Templates:

  • PYT420 Wave and current - Added help for input and automatic input determination

  • PYT360 Wind load calculations - Refactored for customizability

  • PYT600 padeye calculation - Refactored for customizability

  • PYT600 pin calculation - Refactored for customizability

  • PYT611 wing and end plates - Refactored for customizability

v 2.10.1 - 26-01-2022

Other changes:

  • TEST NOTEBOOK moved to correct directory (tests)

  • Ignore print check added to (safetyfactors, yieldreduction, PYT310, PYT400)

Bug Fixes:

  • PYT400: Vessel class update to allow dict as input for midship

Jupyter Hub:

  • Add display functionality to BasicTables

  • Display tables generated by TableCalculations

  • Improved matplotlib snippet with plt.clf()

  • Added bold, italics, Frac, SubEq to import snippet

  • Improved matplotlib snippet with colors, linestyles and label

  • Enabled git credentials manager and caching for jupyter hub

Documentation/Examples:

  • Release searchable docs on the N-drive and have a shortcut in the getting started

PyTWD:

  • Add clear warnings on TableData input

  • Added ability to use inline equations in min_var, max_var and sum_var

Templates:

  • PYT611 Wing and end plates implemented

  • Fixed typo in PYT420 (Min. -> Max. design wave period)

  • Fixed missing project title in PYT510 Beam equations

v 2.10.0 - 12-01-2022

Bug Fixes:

  • Fix RFEM import of re

  • Padeye notebook: Added file name to pdf creation and added caption_intro_fig to input list

  • Fix table calculations not returning all results

  • Make standard inputs for table_calculations immutable

  • Preventing failure of tests by adding a random code to test files

  • Prevent [None] from showing up in table calc units

  • Fix formatting in table calculations when keeping units in the table

  • Add check for get_doc_details preventing autosaves from causing issues

  • Prevent [None] from showing up in table calc units

Jupyter Hub:

  • Included new snippet containing link to pyLaTeX's API

  • Added UC snippets

  • Section with add-ons snippets added

  • Keep UC colours in tables when doing table calculations

  • Search snippets added

  • Added snippet with all imports that may be useful

  • Variables with integer values now have 0 decimals automatically

  • Added snippet for revision section

  • Disabled "Code diagnostics" to improve performance for big notebooks

Documentation/Examples:

  • Added tips and tricks for AutoDoc documentation

  • Added tests for documentation

  • Updated getting started with revision section tutorial

PyTWD:

  • Added requirement in checklist for PR - visual tests for back-end development

  • Update get_doc_details to also work when multiple files are returned

  • Made PyTWD compatible with latest versions of sympy, pylatex and pint

  • Change page numbering to pg x of y in CalcDoc

  • Added ability to add revision table and tc page with add_revision_and_tc_page()

  • Added AdjustWidth environment

v 2.9.1 - 02-12-2021

Bug Fixes:

  • PadEye template: Shackle_f comparison with load

  • Add parbox to title to allow it to span the whole width of the document.

  • Additional vertical space only gets added once for the first page header.

  • Fixed bug in add_vertical_space with integer input.

Jupyter Hub:

  • Added variable inspector starter

Documentation/Examples:

  • Specify target_dir for HowTo 07.

  • Add variable inspector instructions to Howto Cheatsheet

PyTWD:

  • Run tests in parallel

  • Added function to display text and figure together in collapsible markdown

  • Added optional to have a table of contents or not

  • Added option to put text on the equation and unit cell in StringVar and EnumVar for variable groups.

Templates:

  • PYT700 Pretensioned bolt calculation, Rev1

v 2.9.0 - 18-11-2021

Major changes:

  • Updated template header and footers to latest brand requirements

  • Added write to database function

  • Variable group can now span multiple pages.

Other changes:

  • Renamed CalcGroup to VariableGroup everywhere.

  • Major clean-up of repository, removed from pytwd folder:
    • marine

    • structural (except for YieldReduction and SafetyFactors)

    • general.loadcases.py

    • reporting.figures

    • reporting.documents

    • tools

    • widgets

Bug Fixes:

  • Fix bug preventing display of the Database when opening it for the first time

  • Fixed section spacing in minipage environment

  • Fixed bug in table numbering with ltablex package

Jupyter Hub:

  • Added fillet weld snippet

  • Added snippet for merging of pdfs

  • Added header to Basis of Calculations to warn people not to change the .py file

  • Added Database snippets

  • Added calc-code and revision to get_doc_details snippets

  • Added Warning Prototype demonstration notebook

  • Added snippet for equivalent stress calculation

  • Added snippet for getting common cross section properties

Documentation/Examples:

  • Explained latex_kwargs for Eq class in Howto Equations

  • Explained equation grouping with SubEq in Howto Equations

  • Added multiple practical hints (find/replace, shareable links, multi-cursor selection)

  • Fixed Bowser typo in snippets link

  • Add UC section to the workflow example

PyTWD:

  • Added find functions to conduct searches based on given search conditions

  • clean_jupyter_files.py works now with tags

  • Added option to have equations on the side.

  • Added table calculations that allow integration with CSV files

  • Added PyTWD MiniPage environment that includes container methods.

  • Added Partials for BlueVar, HiddenEq and SideEq

  • Added options to modify look in pdf

  • Database now saves the variable specifications (decimals etc)

  • Added a UC section which summarizes the UCs in that calculation (or all calculations) based on UCs in the database

  • Added database resetting and deleting functionality

  • Added quality prototype system

  • Replaced all warnings and errors with PyTWD warning and error subclasses

Templates:

  • PYT400 Motion criteria update: fixed mistake in cargo figure and added additional notes in notebook to guide user

  • PYT420 Update: added additional solver starting points for low wave heights to increase template robustness

  • Updated template header and footers to latest brand requirements

  • Add functionality to specify the figure width in the motion criteria template

  • Pyt600 Padeye DNVGL - Fixed error thrown for cheekplate when cheekplate is not there.

  • PYT530 CLC correction factor for plates, final version

  • PYT531 Buckling of plates 2.0

v 2.8.0 - 20-10-2021

Major changes:

  • New implementation of Workflow prototype: version 2! Faster, more robust, more intuitive.

Other changes:

  • Added unit testing for calculation snippets

Bug Fixes:

  • Allow for cheekplate to be 0 radius and 0 thickness

  • Fixed representation of beta in beta padeye notebook

  • Resolved snippet deprecation warnings

  • Fixed representation of beta in beta padeye notebook

  • Fixed version bumping script

  • Added color to passed Var attributes

  • Added super init to both fatigue templates

Jupyter Hub:

  • Added reference, paragraph, template customization, basic table, jupyter notebook header and additional import snippets

  • Removed extraneous break snippets

  • Added Howto Jupyter Snippets link to YouTube

  • Added functionality to BasicTables to set width and a separate first column

  • Keyboard shortcuts added:
    • Restart and run all: Ctrl - Alt - Enter

    • Run all cell above: Ctrl - Shift - ArrowUp

    • Run all cell below: Ctr - Shift - ArrowDown

  • Getting doc details locally also uses the calc code

  • Added option to create config file for starters based on local paths (for development)

  • Renamed default doc name for fatigue-per-loadcase template

Documentation/Examples:

  • Update 09 Howto Template Customization (PyG009) for clarity

PyTWD:

  • Added function to get number of pages in a pdf file

  • Added wrong file warning for RfemResults class

  • Added colorbox function

Templates:

  • PYT360 Wind load calculation - added technical notes and comments

  • PYT201 Hand calculation - updated template

  • Pyt400 DNV-GL default motion criteria, final version

  • Pyt600 Padeye DNVGL

v 2.7.2 - 04-10-2021

Fixes

  • Fixed the padeye sheet for w_shack

  • Fixed filename util with exception in if-statement

v 2.7.1 - 29-09-2021

Fixes

  • Changed padeye icon

  • Added fatigue to starters

  • Moved fatigue images to backend

  • Fixed failing user notebooks

v 2.7.0 - 28-09-2021

Major changes:

  • Added new approach for template customization

Other changes:

  • ref and cref functions also accept LatexObjects and list of objects (for cref)

  • Separated reference section and reference list for more flexibility

  • Improved the way references are shown in the notebooks

Bug Fixes:

  • Fixed unit bug in workflow notebooks

  • Added display markdown for tables in general

  • Change snippet RFEM results import to long table, to handle large datasets

  • Keep cell hiding for notebook clean-up script

  • Added unit testing for snippets

  • Fixed markdown and data access for CalcTemplate

  • Change name of python file generated by BoC not to start with a number

Jupyter Hub:

  • Snippet reorganization

  • Added functionality to import .py files from different folders

  • Added functionality to run .ipynb files from different folders

  • Include newest version of pad-eye template

  • Archive package added with direct zip and download button from the file browser functionality.

  • Added Fatigue life and Fatigue per loadcase templates

Documentation/Examples:

  • Create Howto references

  • Created Howto Template customization

  • Recreated demonstration documents from engineering meetings

  • Added shortcut tip ctrl + I (show contextual help)

  • Getting started presentation added

  • Updated Howto Variables, Equations, Mathematics, and Reporting

Templates:

  • Pyt600 Padeye DNVGL - beta

  • Updated Pyt700 Pretensioned Bolt calculation

  • Pyt400 DNV-GL default motion criteria, draft version

v 2.6.0 - 06-09-2021

Major changes:

  • Side references can now be string, NoEscape, or labeled LatexObjects

  • Calculation set added to handle multiple calculation of the same template

  • Improved reference system to be more robust by automatically propagating references and leaving the numbering up to the LaTeX compiler

Other changes:

  • Auto-labeling of common LaTeX items (figure, table)

  • Changed RVS material type (roestvrij staal) to SS (stainless steel)

  • TWDBasicTable (add_basic_table) has been updated with a Jupyter notebook display option

  • Automatic simplification of units based on their derived SI standard (MPa, kN, kNm, Hz, unitless)

  • Added unit and magnitude property on top level of Var

Deprecated:

  • add_refsection is deprecated and replaced for add_reference_section

  • calculation.py and its classes Result, Calculation,

Bug Fixes:

  • Fixed UC color bug.

  • Fixed string for target_dir bug (for generate_pdf)

Jupyter Hub:

  • Updated workflow example to make more structured workflow diagrams

  • Created RFEM parameters snippet

  • Created RFEM post-processing snippets

  • Created import snippet with reload for BoC

  • RFEM Excel updating for loads snippet

  • RFEM Excel table generator snippet

  • Improve get_doc_details to also work when notebooks are executed in a workflow

  • Added automatic copying of snippets with release script

Documentation/Examples:

  • Added basis of calculations (BoC) to gallery and starters

  • Snippet added to add a reference section

PyTWD:

  • Added option to change the color of the values.

  • Make EnumVar and String use Multicolumn in CalcGroup.

Templates:

  • PYT420 Wave and current - First version

  • PYT360 Wind load calculations - First version

v 2.5.1 - 20-08-2021

Other changes:

  • Optional argument to show a long equation over two rows in a CalcGroup

  • Optional argument to hide an equation in the CalcGroup for Eq and UC

Bug Fixes:

  • Check and keep unity checks (UC class) dimensionless.

  • Fixed missing file check with suffix mismatch.

  • Fixed Markdown and CalcGroup representations of references.

  • Check and keep unity checks (UC class) dimensionless

  • Fixed failing tests on Linux/Ubuntu.

  • Fixed messed up units for UCs and unitless values.

Jupyter Hub:

  • Updated configuration of LaTeX extension to run multiple times and with pdflatex command.

Templates:

  • PYT550 - Fatigue damage calculation

  • PYT550 - Fatigue per loadcase

v 2.5.0 - 12-08-2021

Major changes:

  • CalcGroup has been completely restructured - backwards compatible

  • Added notebook representations for commonly used objects (Var, Eq, UC, StringVar, EnumVar, CalcGroup)

Other changes:

  • Report and CalcDoc now support capital greek letters

  • Report front page now aligns with the latest TWD template

  • Header images replaced with vector files - higher quality

  • Updated tests to reflect latest PyTWD classes and functions

  • Removed style option for Equations

  • Var, Eq and UC descriptions will now, as a standard, not escape in latex

  • Improved handling and overwriting of attributes in variable objects (StringVar, EnumVar, Var, Eq, UC)

by passing dictionaries - Width of side values column (and whitespace column) can now be controlled in CalcGroup.

Bug Fixes:

  • Updated failing reporting tests for tabu and tabular

  • When using the latex option 'text' along with trailing underscores 'text{a_b}' python runs into an infinite loop. This

will now raise an error specifying that the correct syntax 'text{a_b}' is required. - Fixed Jupyter notebook print-out bug when user specifies output filename that is different than notebook name. - Fixed keyboard shortcuts to be persistent from Jupyter lab 3.1 onwards.

Documentation/Examples:

  • Added elaboration on how to use positioning for figures

v 2.4.1 - 12-07-2021

Hot fixes:

  • Fixed issue with references

  • Fixed issue with unicode character ^0.5

v 2.4.0 - 02-07-2021

Major changes:

  • Report and CalcDoc classes inherit from one container methods class allowing all methods to be used in both.

Other changes:

  • Text now supports LaTeX environment wrappers

  • LaTeX commands can now be used to cause breaks

  • Added Hertz (Hz) to common units.

  • Headers and footers are now controlled by code not by cls files

  • Text no longer relies on vertical spaces. Spacing is done properly by LaTeX

  • Included a standard nomenclature which can be added to reports or altered

  • Increased the size of the multiplication symbol (cdot -> bigcdot).

  • Allowable stress additional tag input to differentiate between set of allowable stresses

  • Overhaul decimal / scientific notation

  • Streamlined and improved signatures of Eq and Var classes

  • Included new visual tests for developers.

Deprecated:

  • add_pagebreak() deprecated to add_clearpage()

  • add_calculation_checksheet now named add_checksheet

Bug Fixes:

  • Yield reduction <= updated to the upper bound

  • Unit for Eq classes are not updated to the input unit

Jupyter Hub:

  • Improved user update script and fixed bug with users that have special characters in their name.

  • Installed ContainDS Dashboards to publish Voila, Dash, and Streamlit apps.

Documentation/Examples:

  • PyG008 - HowTo for LaTeX environments and Commands

  • Extended HowTo Reporting with Report class example

Jupyter Hub Developer Guides:

  • Guide for installation and configuration of ContainDS Dashboards.

Templates:

  • All templates can now add either a report checksheet or calculation checksheet

  • PyT382: Multiple layout adjustments

  • PyT383: Monopile stability

  • PYT600: Padeye GL version implemented and quality checked

v 2.3.3 - 16-06-2021

Hot fixes:

  • Fixed issue with margin alignment

v 2.3.2 - 15-06-2021

Hot fixes:

  • Jupyter notebook printout excluded pdf. Corrected to include all docs

  • Updated snippets

v 2.3.1 - 15-06-2021

Hot fixes:

  • Column widths in CalcGroups not forwarded correctly.

  • Basic table position change to H.

Templates:

  • PYT602 Pad eye and pin calculation: GL version implemented

v 2.3.0 - 11-06-2021

Major changes:

  • Report class is now fully latex compatible

  • CalcDoc class is now fully latex compatible

  • New class Value to add constants and quantified values in equations.

  • New class Frac to control fractions in equations better.

other changes:

  • Added additional common unit: kPa and tests for common units

  • Added more tests for the padeye sheet

  • Added full test coverage for latex compatibility

Deprecated:

  • write_pdf() of report has been renamed to generate_pdf()

Jupyter Hub:

  • Improved kernel creation script.

  • New keyboard shortcut to rename files: "F2"

  • Added snippets

Templates:

  • PYT602 Pad eye and pin calculation: Updated based on NC of new padeye Excel template.

  • PYT950 Friction Tests Notebook

v 2.2.0 - 26-05-2021

Major changes:

  • Reporting capability has been completely overhauled to be fully compatible with pylatex and to drastically reduce

PyTWD's code base (example: integrity_report.py is reduced by ~2000 lines).

Bug Fixes:

  • Periods and round brackets are now supported in symbol of Var

Jupyter Hub:

  • Fully automated the script to collect latest users with MS Graph.

  • Created scripts to create and manage shared folders.

  • Created script to create and manage starters.

Documentation/Examples:

  • Extended HowTo guides based on user feedback.

  • Uploaded getting started video and added link to video on hub.

Jupyter Hub Developer Guides:

  • New installation guide for full reinstallation.

Templates:

  • PYT801 Saddle settings tool - automatic determination of adjustable MP saddle settings

  • PYT350 LCD - first fully approved version for jackets and boxes, including 3- and 4-point support reactions

  • PYT382 Monopile integrity - Monopile integrity now based on new report layout

  • PYT510 Beam equations - final checked version of the template

  • Scripts for Jupyter hub including readme: delete_folder.sh, unzip_folder.sh, zip_folder.sh

v 2.1.1 - 06-05-2021

Hotfixes:

  • Changed token for notebook filename determination.

v 2.1.0 - 30-04-2021

Other changes:

  • Autodoc now possible - no need for manual wiki generation

  • Margin can now be removed for pdfs

  • Added additional common units: liter, minute, hour, joule, kJ, MJ, bar, rev, kW, MW, kgf, tonnef, percent

  • Added common numbers: g (gravitation acceleration) and pi

  • Added option to ignore variable for printing

  • Side margin can now be removed for calculation documents (CalcDoc)

  • UC class can now be put directly in a variable group

  • New EnumVar class to also end up nicely in variable group

  • Improved StringVar to also end up nicely in variable group

  • Added Enums LoadDistributions, PadeyeTypes, WeldTypes

  • MP integrities now support more user control for images and sections

  • Brought dev mode argument to write_pdf and removed it as CalcDoc class input.

  • Autodoc for Hub included - zip file will be generated and source files included.

Bug Fixes:

  • PYT600 Pad eye: Corrected W_y_w determination (mistake in original sheet).

  • Calculation flow: fixed handling of files with spaces in filename.

Jupyter Hub:

  • Support creation of shared folders

Documentation/Examples:

  • PyG007 - HowTo Reporting

  • Read The Docs

Jupyter Hub Developer Guides:

  • New guide: creation of shared folders (shared_folders.md)

Templates:

  • PYT203 Iteration - created prototype notebooks in Gallery

  • PYT382 Monopile Integrity - Updated to allow customization

  • PYT600 Pad eye: first implementation added, extended tests

  • PYT700 Pretensioned bolt calculation: beta version

v 2.0.0 - 09-04-2021

PyTWD has been overhauled to now run on Jupyter Hub. Users can access PyTWD through jupyter.twd.nl.

Major changes:

  • Jupyter Hub package added

  • iPython Notebooks host PyTWD templates on Jupyter Hub

  • PyTWD getting started/documentation are now Notebooks on Jupyter hub

  • Base template for all templates built on properties

  • CalcDoc, CalcSection etc. now inherit from LaTeX Mixer allowing for access

to all LaTeX functionality - All latex based functions use generate_latex() - Tables are now called variables_group() normal float, int, str tables can now be added easily

Other changes:

  • SubSubSections now supported

  • Vars and Eqs supports positional arguments

  • UC can be added without calling UC object

  • Decimals are automatically set for certain units (can be altered)

  • PyTWD maths created for min, max and sum

  • Write pdf allows for quality printout + jupyter printout

  • All LaTeX syntax supported

  • Refactoring of folder layout

  • Jupyter notebook tests included

  • More control over table layouts

  • Reports updated to new house style

  • Var and Eq printouts to screen available directly in Jupyter environment

  • References auto gather when using the new template structure

  • Multitude of error catching included to assist in report debugging

  • Footer included in report with version

  • Warnings included for printing, property overriding

  • Update to Project signature

  • All images and paths now use Path and no longer rely on str syntax

Deprecated:

  • MaterialFactors - New Yield Reduction can be found: pytwd.structural.materials.yieldreduction

  • SafetyFactors - New Safety Factors can be found: pytwd.structural.materials.safetyfactors

Bug Fixes:

  • ul (unitless) no longer needs to be specified

  • Dev option for write pdf will always write out tex even if pdf fails

Documentation/Examples:

  • PyG001 - ReadMe

  • PyG002 - Quickstart

  • PyG003 - Cheatsheet

  • PyG004 - HowTo Variables

  • PyG005 - HowTo Equations

  • PyG006 - HowTo Mathematics

  • Workflow Example

  • Mampaey Project Example

Jupyter Hub Developer Guides:

  • Azure Authentication

  • Change Root Directory

  • Culling Notebook Servers

  • Environment Variables

  • Git

  • Kernels

  • Keyboard Shortcuts

  • Launcher

  • Package Installation

  • Putty

  • Server Adjustment

  • Settings

  • Update Users

  • Update Versions

  • Package building

Templates:

  • PyT310 - Allowable Stress

  • PyT320 - Profile Library

  • PyT382 - Monopile Integrity

  • PyT510 - Beam Equations

  • PyT530 - CLC Correction Factor For Plates

  • PyT531 - Buckling of Plates

  • PyT630 - Welds

v 1.2.0 - 09-10-2020

  • Included monopile template reporting

  • Included examples to project reporting

  • Monopile integrity linked with Jupyter

  • DirConfig for configuring latex directories

  • PyEngineering project included

  • Container seafastening project included as example

  • Reporting now supports additional UCs

v 1.1.2 - 17-08-2020

  • Cross section stress support polar moment

  • Matplot for padeyes

  • Update to layout of engineering format

  • Bugs in iteration classes fixed

  • First run at JUPYTER

  • Min max now supports output: min{var1; var2}

  • Bugs fixed in UC

  • MP Integrity template added

  • New ReportDoc class created to support BoD's

  • Uplift clip template included

  • CLC Factor template included

v 1.1.1 - 11-05-2020

  • LCD Seafastening added to templates

  • Update to stress calcs - update to naming

  • Project example included

  • Added wingplate with bottom flange

  • Update to padeye - now supports materials, uc and is more generic

  • Shorthand notation for Vars and Eqs added

  • Included iteration examples
    • Simple iteration

    • Iteration with iteration imbedded in calcflow

    • Loadcase iteration

v 1.1.0 - 23-03-2020

  • Bolt template inkscape images

  • Bolt template released

  • Imperial units conversion

  • Git moved to Azure

  • Material factor now supports connections

v 1.0.5 - 06-03-2020

  • Improved layout of 1D buckling

  • Improved bolt calculation

  • Included unittests

  • Stoppers now supports multiple backplates

  • Added single wingplate with flange

  • Temp files now copy over images as well

  • Temp folder to save all pdfs before pushing back to directory

v 1.0.4 - 26-02-2020

  • Bug fixes:
    • PyTWD min and max now supports dimensionless element comparison

    • Fixed reference issue with cross sections - hollow sections working again

  • Side figure alignment possibility added

  • Added table layout for reporting

  • Added standard wing plate template

  • Added standard stopper template

  • Added standard angle bar (holding bar) template

  • Added standard 1D element buckling template

  • Added standard plate buckling template

  • Report now looks for duplicate figure and only prints one per calc sheet

  • Update to fillet weld class

  • Added LC example with overview table

v 1.0.3 - 07-01-2020

  • Bug fixes:
    • Sqrt function now supports square roots which are not only the whole equation

    • ; and , can now be used in equation names

    • References no longer display on all documents (display variable should be set)

  • Added loadcase example

  • Added triple span beams

  • Wiki installation procedure updated, added LaTeX symbols link to FAQ sheet

  • Var now inherits from the Dummy class

v 1.0.2 - 18-12-2019

  • Updated the Ref object to allow strings and automatically make reference list

  • Added the UC with three possible positions: sidemargin, below, inline

  • Added examples for both

v 1.0.1 - 13-12-2019

  • Updated warnings of used items which are not printed.

  • Ref addition to variables - table prints at the top of the report

  • Added padeye feature

  • Added material reduction factors

  • Added AISC addition to safety factors

  • Added Ameplmann motion analysis

v 1.0.0 - 06-12-2019

  • Added new cross-sections to library

  • Added beams to library

  • Added fillet-weld template

  • Added stress analysis for cross-sections

  • Added custom min/max for equations and variables

  • Added standalone unity check

  • Added a check to ensure units haven't changed from their original state

  • Update to installation documentation - Strawberry installation

  • Documentation for cross sections

  • Overhaul of API documentation layout

  • Square root replacement which supports the assignment of square roots to Eq and Var

  • Added UML documentation

  • All example calculations updated

  • Added unit testing to ensure passed units are of expected type

  • Added engineering notation for Var and Eq

  • Added template for padeye calculations

  • Added integration for cross-sections and beams

  • Reporting module updated to be more user friendly

v 0.1.4 - 15-08-2019

  • Removed the automatic import of marine

  • Fixed the import path for .cls and pictures of latex template

  • Fixed the overfull hbox error while generating latex files

  • Changed compiler from pdflatex to latexmk for running latex multiple times (page numbering)

  • Added pagenumbers

  • Added warning for none printed variables

  • Fixed header spacing

  • Added unity check in the reference column

v 0.1.3

  • Added all Marine tools to the PyTWD package

  • Added 1-layer to the documentation tree, to divide Structural / Marine.

v 0.1.2

  • Added a line break (n) and page break (sec.add_pagebreak()) functionality, see docs for more explanation

  • Changed the standard multiplication sign to dot

  • Added kg and tonne to the standard units

  • Added the option to specify the number of decimals to a Var(decimals=2) or Eq(decimals=5), default is 0.

  • Added two functions to table to modify the dimensions:
    • table.set_row_height(2), default is 1.25

    • table.set_table_spec(name_width='35mm', symbol_width='5mm', unit_width='26mm', ref_width='36.5mm'), defaults as shown. You can specify one, more or zero.

  • Added the subsection (subsec = sec.add_subsection(‘Subsec welds’). All the functions for the sec are available for subsec as well (add_text, add_figure, add_table)

  • Added the dimensionless quantity to be automatically recognized. Can be added manually by multiplying with ‘ul’ ¬(unitless unit) as this is also common in Inventor.