ScySeqTools is a suite of software: encoder and analyser
Project description
ScySeqTools
ScySeqTools is a Python toolkit for coding and analysing behaviours. It currently provides two command line launchers:
scyseq-encoderscyseq-analyser
Requirements
- 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"
Starter Setup
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/scyseqtools
Replace path/to/scyseqtools with the folder where you cloned or downloaded
the project.
1. Check Python
python --version
You should see Python 3.9 or newer.
2. Check Whether Hatch Is Installed
hatch --version
If your terminal says hatch is not found or not recognized, install it:
python -m pip install hatch
Then check again:
hatch --version
3. Create and Enter the Hatch Environment
From the project root, run:
hatch shell
Your prompt should now start with something like:
(scyseqtools) ...
That means you are inside the ScySeqTools virtual environment.
4. Install ScySeqTools in Editable Mode
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.
5. Verify the Install
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.
Run ScySeqTools
Inside the Hatch shell:
scyseq-encoder
or:
scyseq-analyser
The 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.
User Configuration
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
Encoder Window Layout
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 = detached
Download Applications
GitHub 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.
Build Applications Locally
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.spec
Run Tests
Inside the Hatch shell:
python -m pytest tests
Build the Documentation
The documentation is built with Sphinx.
First enter the Hatch environment from the project root:
hatch shell
Then navigate to the docs folder and build the HTML files:
On Windows:
cd docs
./make.bat html
On Linux/Mac:
cd docs
make html
The generated HTML documentation will be available in docs/build/html/. Open docs/build/html/index.html in your browser to view the documentation.
Contributing
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.
Tools used in this package:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scyseqtools-0.0.2.tar.gz.
File metadata
- Download URL: scyseqtools-0.0.2.tar.gz
- Upload date:
- Size: 97.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a72837f156a773af93c81ccc95a1e233e4dcf8b9fae6b30488a591393199bcf
|
|
| MD5 |
c1b405429692abb31d91fc089d9d7bbd
|
|
| BLAKE2b-256 |
34312a73f66ced13c45750a845c5f25b602177edc3897f10178c9ad05a25bc82
|
Provenance
The following attestation bundles were made for scyseqtools-0.0.2.tar.gz:
Publisher:
publish-pypi.yml on scyseq-tools/scyseqtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scyseqtools-0.0.2.tar.gz -
Subject digest:
4a72837f156a773af93c81ccc95a1e233e4dcf8b9fae6b30488a591393199bcf - Sigstore transparency entry: 1935835243
- Sigstore integration time:
-
Permalink:
scyseq-tools/scyseqtools@b2e6a8de8237ba382dc53802d6aedb942053b261 -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/scyseq-tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b2e6a8de8237ba382dc53802d6aedb942053b261 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scyseqtools-0.0.2-py3-none-any.whl.
File metadata
- Download URL: scyseqtools-0.0.2-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15facc33fbde9ab6912948e400425556957504e2518f3608d1f5b9ecf6f9e201
|
|
| MD5 |
120558c9c1586bc147380c7f08b78432
|
|
| BLAKE2b-256 |
95794a682ab2b4d99b653d4758a073ad9f6915abb6dbf81ec21a85c46dad2c13
|
Provenance
The following attestation bundles were made for scyseqtools-0.0.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on scyseq-tools/scyseqtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scyseqtools-0.0.2-py3-none-any.whl -
Subject digest:
15facc33fbde9ab6912948e400425556957504e2518f3608d1f5b9ecf6f9e201 - Sigstore transparency entry: 1935835262
- Sigstore integration time:
-
Permalink:
scyseq-tools/scyseqtools@b2e6a8de8237ba382dc53802d6aedb942053b261 -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/scyseq-tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b2e6a8de8237ba382dc53802d6aedb942053b261 -
Trigger Event:
push
-
Statement type: