Bettersis

Latest version: v1.2.1

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

Scan your dependencies

1.2.1

**2021-09-07 1.2.1:** <br>
Changes:
* Now the original output is kept completely intact (included warnings) and at the end of the command execution warnings are shown a second time.
> Warnings were hidden during the command execution because they were considered redondant (to the developer) but having the full "history" of the output
> and then a brief summary of Warnings and/or errors makes more sense.

Features:
* Added persistent command history across different sessions (they are saved inside the ~/.bsis_history file).

It is disabled by default and you can enable it by setting the "BSIS_HISTORY_ENABLED" environment variable to "true". [Check the documentation on how to enable it](persistent-history-across-sessions) and how to set the history size limit.

* Added the bsis_tutorials command: it opens the browser on the [SIS tutorials webpage](https://bettersis.readthedocs.io/en/latest/tutorials/tutorials.html)
* Added the bsis_documentation command: it opens the browser on the [betterSIS documentation webpage](https://bettersis.readthedocs.io/en/latest/readme.html)
* Added the bsis_releases command: it opens the browser on the [download page for the latest betterSIS](https://github.com/mario33881/betterSIS/releases/latest)
* Added the bsis_checkblif command: uses the blifparser library as a basic parser/validation tool for BLIF files
* Now the help command also shows betterSIS commands
* New release on the Snap store. You can now install this software using the snap install bettersis command or using the Snap Store GUI.
* New release as an AppImage. You can think of it as having an updatable PyInstaller version.
> Use the bsis_update to update your AppImage when an update is available
* Added two arguments to betterSIS: the --debug flag used to write more details in the log file and the --verbosedebug flag to also show debug information inside the shell
> --verbosedebug only works when you also use the --debug flag
* The simple text editor now shows the text "Saved to file" when the user saves the file using Ctrl+S

Fixes:
* Now the program can correctly check if an update is available.
* Fixed the UnicodeEncodeError: 'ascii' codec can't encode character in position 0: ordinal not in range(128) error
> This happened because of the ASCII art that is shown when bettersis is executed:
> the terminal must be set to use an UTF-8 language using the $LANG environment variable to be able to show those ASCII characters.
>
> Now the ASCII art is simply not shown if the user's terminal doesn't support it.
* (siswrapper) Fixed timeout error on commands that gave paginated outputs such as the help read_blif command.

---

Release files / installation methods:
* bsis: PyInstaller version
* bettersis.deb: DEB package
* use the snap install bettersis command to install the Snap version
> If you are using an old Snap, use the snap refresh command to update all your Snaps (including betterSIS)
* BetterSIS-1.2.1-x86_64.AppImage: AppImage version
* BetterSIS-1.2.1-x86_64.AppImage.zync: Used by the AppImage to find updates
> You DON'T need to download this file
* Source code (zip) and Source code (tar.gz): source code

> You can also see a summary of the [differences between installation methods here](https://github.com/mario33881/betterSIS/wiki/Differences-between-versions)

1.2.0

Known bugs:
* The executable version of betterSIS (both the deb package and the PyInstaller executable) can't correctly connect to Github Release to check for updates (SSL verification error)
> This will be fixed in the next version (for now you need to manually check if an update is available)

Features:
* Added the ls command: it shows files and directories in the given/current path
* Added the cd command: you can use it to navigate directories from betterSIS
* Added the edit command: opens the specified file with a simple text editor
> Editor's features: syntax highlighting, basic edit/save functionality, use the tab key to write/complete keywords
* (siswrapper feature) Added bsis_script command. Its accepted parameters are:
* fsm_autoencoding_area, useful for FSM circuits: minimizes states, automatically encodes states, optimizes area and maps the circuit by area (synch library)
> Executed commands: state_minimize stamina, state_assign jedi, source script.rugged, read_library synch.genlib, map -m 0 -W -s
* fsm_autoencoding_delay, useful for FSM circuits: minimizes states, automatically encodes states, optimizes delay and maps the circuit by delay (synch library)
> Executed commands: state_minimize stamina, state_assign jedi, reduce_depth, source script.rugged, read_library synch.genlib, map -n 1 -W -s
* fsm_area, useful for FSM circuits: minimizes states, uses manual states encoding, optimizes area and maps the circuit by area (synch library)
> Executed commands: state_minimize stamina, stg_to_network, source script.rugged, read_library synch.genlib, map -m 0 -W -s
* fsm_delay, useful for FSM circuits: minimizes states, uses manual states encoding, optimizes delay and maps the circuit by delay (synch library)
> Executed commands: state_minimize stamina, stg_to_network, reduce_depth, source script.rugged, read_library synch.genlib, map -n 1 -W -s
* lgate_area_mcnc, useful for combinational circuits: optimizes area and maps the circuit by area (mcnc library)
> Executed commands: source script.rugged, read_library mcnc.genlib, map -m 0 -W -s
* lgate_delay_mcnc, useful for combinational circuits: optimizes delay and maps the circuit by delay (mcnc library)
> Executed commands: reduce_depth, source script.rugged, read_library mcnc.genlib, map -n 1 -W -s
* lgate_area_synch, useful for combinational circuits: optimizes area and maps the circuit by area (synch library)
> Executed commands: source script.rugged, read_library synch.genlib, map -m 0 -W -s
* lgate_delay_synch, useful for combinational circuits: optimizes delay and maps the circuit by delay (synch library)
> Executed commands: reduce_depth, source script.rugged, read_library synch.genlib, map -n 1 -W -s
* fsmd_area, useful for FSMD circuits (circuits which include datapaths and an FSM): optimizes area and maps the circuit by area (synch library)
> Executed commands: source script.rugged, read_library synch.genlib, map -m 0 -W -s
* fsmd_delay, useful for FSMD circuits (circuits which include datapaths and an FSM): optimizes delay and maps the circuit by delay (synch library)
> Executed commands: reduce_depth, source script.rugged, read_library synch.genlib, map -n 1 -W -s

> This command also shows which command is executed and the statistics after some commands

> Partial and full results are written to new BLIF files.

> WARNING! These commands are executed in this order, thus does NOT guarantee the best result: multi-level minimization is not perfect!
> to obtain better results you should try to execute these commands manually in a diffent order (try also to execute them more than once)
* (siswrapper feature) Now this library verifies if the stg_to_network command is successful

Fixes:
* (siswrapper fix) Now the write_eqn command gives the expected result when used to output to a file.
> Before this fix the write_blif method was executed instead of the correct method
* (siswrapper fix) When SIS is not installed the error message shows exactly what the problem is
* (siswrapper fix) If you call the write_eqn and write_blif method without parameters the output doesn't contain the command.
* (siswrapper fix) Can't execute the rugged script if no file as been read with a read command
* (siswrapper fix) When you execute a read command, this library calls the reset method to close the SIS session and
open a new session inside the folder of the input file
> This "fixes" the ".search x file not found" error when you try to read a file that is in another folder and contains the .search keyword.
>
> This error was normal but not intuitive (because the imported file was present inside the same folder as the input file but not inside the current folder).
> It was the original SIS behaviour.
* (siswrapper fix) The output of the print_stats command couldn't be intepreted as correct when the circuit had more than a 10000 literals/states
> The output was correct but the program reported it as an error

1.1.0

Features:
* Added logs to syslog to help solving problems (and /var/log/pybettersis/pybettersis.log for .deb package installations)
* An "Update is available" message is shown when a new Github Release is online
* Files are shown as parameters (for faster workflow)

Fixes:
* sim command is treated the same as the simulate command
* siswrapper 1.1.1 can manage FSM outputs (fix: TypeError: 'NoneType' object is not subscriptable)
* Builds are made on an older OS (Ubuntu 12.04) to improve OS versions support
> This should fix this problem: Error loading Python lib [...] GLIBC_2.29 not found

1.0.0

First release

Attached files:
* bettersis.deb: .deb package which can be used to install this software
* bsis: executable created by Pyinstaller, portable version (no installation required)

> The files were built and tested on Ubuntu 20.04.1 LTS.
> On older systems the os will probably throw the error Error loading Python lib [...] GLIBC_2.29 not found.
> There no fix for this build: the build needs to be executed from an older os... Stay tuned for future updates!

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.