ScySeqTools is a Python toolkit for coding and analysing behaviours. It currently provides two command line launchers:
scyseq-encoderscyseq-analyser
- Python 3.9 or newer
- Hatch, used to create and manage the development virtual environment
- VLC 64-bit, required by the encoder through
python-vlc tkinter- Windows: included with the standard Python installer
- Ubuntu/Debian:
sudo apt install python3-tk - macOS: install Python from python.org if
tkinteris missing
On Windows, install 64-bit VLC from:
https://www.videolan.org/vlc/download-windows.html
After installing VLC, this file should exist:
Test-Path "C:\Program Files\VideoLAN\VLC\libvlc.dll"Clone or download the project, then open a terminal in the project folder. On Windows, use PowerShell; on macOS or Linux, use your usual terminal.
cd path/to/scyseqtoolsReplace path/to/scyseqtools with the folder where you cloned or downloaded
the project.
python --versionYou should see Python 3.9 or newer.
hatch --versionIf your terminal says hatch is not found or not recognized, install it:
python -m pip install hatchThen check again:
hatch --versionFrom the project root, run:
hatch shellYour prompt should now start with something like:
(scyseqtools) ...
That means you are inside the ScySeqTools virtual environment.
Inside the Hatch shell, install the current project:
python -m pip install -e .The -e option means "editable": Python imports ScySeqTools directly from this source
folder, so local code changes are picked up without reinstalling every time.
python -m pip show scyseqtools
python -c "import scyseqtools; print(scyseqtools.__file__)"
python -c "import scyseqtools.encoder.main; print('ok')"If the last command prints ok, the package import works.
Inside the Hatch shell:
scyseq-encoderor:
scyseq-analyserThe encoder opens a graphical interface and asks you to choose a working
directory. ScySeqTools expects or creates media and data folders inside that
working directory.
On first run, ScySeqTools Encoder creates an editable config file in the standard per-user config folder for your operating system:
Windows: %APPDATA%\ScySeqTools\Encoder\config.ini
Ubuntu/Linux: ~/.config/ScySeqTools/Encoder/config.ini
macOS: ~/Library/Application Support/ScySeqTools/Encoder/config.ini
The app loads configuration in this order:
- Bundled defaults inside the package or
.exe. - The user-editable OS config file shown above.
- A
config.iniin the selected working directory, if present.
That means users can change global defaults in their user config folder, and a specific project
can override them by placing its own config.ini in the project working folder.
The last selected working directory is remembered in:
Windows: %APPDATA%\ScySeqTools\Encoder\cwdfile.ini
Ubuntu/Linux: ~/.local/state/ScySeqTools/Encoder/cwdfile.ini
macOS: ~/Library/Application Support/ScySeqTools/Encoder/cwdfile.ini
By default, the encoder opens with the classic single-window layout. To split
the encoder into separate Information, Control, and Coding framework windows,
add this to the AppData or project config.ini file:
[application]
encoder_layout = detachedGitHub Actions builds downloadable encoder and analyser applications for Windows, Ubuntu, macOS Intel, and macOS Apple Silicon. Each workflow run uploads temporary build artifacts:
ScySeqTools-Encoder-windows-x64-<tag>.zip
ScySeqTools-Encoder-ubuntu-22.04-x64-<tag>.tar.gz
ScySeqTools-Encoder-macos-x64-<tag>.zip
ScySeqTools-Encoder-macos-arm64-<tag>.zip
ScySeqTools-Analyser-windows-x64-<tag>.zip
ScySeqTools-Analyser-ubuntu-22.04-x64-<tag>.tar.gz
ScySeqTools-Analyser-macos-x64-<tag>.zip
ScySeqTools-Analyser-macos-arm64-<tag>.zip
SHA256SUMS.txt
The packaged encoder apps do not bundle VLC. Install VLC on the target machine before running the encoder. On Windows, confirm this file exists:
Test-Path "C:\Program Files\VideoLAN\VLC\libvlc.dll"macOS builds are not Developer ID signed or notarized yet, so users may need to right-click the app and choose Open, or allow it from macOS Privacy & Security settings.
From the project root, install build dependencies:
python -m pip install -e ".[dev,build]"Then run the spec for your OS:
# Windows
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-encoder-windows.spec
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-analyser-windows.spec# Ubuntu/Linux
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-encoder-linux.spec
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-analyser-linux.spec# macOS
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-encoder-macos.spec
pyinstaller --clean --noconfirm packaging/pyinstaller/scyseq-analyser-macos.specInside the Hatch shell:
python -m pytest testsThe documentation is built with Sphinx.
First enter the Hatch environment from the project root:
hatch shellThen navigate to the docs folder and build the HTML files:
On Windows:
cd docs
./make.bat htmlOn Linux/Mac:
cd docs
make htmlThe generated HTML documentation will be available in docs/build/html/. Open docs/build/html/index.html in your browser to view the documentation.
Contributions to ScySeqTools are welcome!
To contribute:
- Fork the official repository: github.com/scyseq-tools/scyseqtools.
- Create a branch for your feature or bug fix.
- Submit a pull request with a clear description of changes.
- Ensure tests pass.