Plover plugin for communication with AlleyCAT
Project description
AlleyCAT is a free, open-source computer-aided transcription (CAT) system for stenographers. It lets you write and edit documents such as court transcripts and translation dictionaries on both web and desktop. AlleyCAT originated as a free alternative to professional CAT software, which is proprietary and very expensive.
It is not intended to replace or compete with Plover, the open-source stenography engine; instead, it connects to Plover to leverage its existing ecosystem, such as the ability to use several brands of hobbyist, student, and professional steno writers, and plugins contributed by the community.
Installation
Pre-built binaries for the latest stable version are available on the releases page. Download the corresponding package for your platform: .msi
for Windows, .dmg
for macOS, and .AppImage
for Linux.
You can also build a bleeding-edge version of AlleyCAT from the source code. See the Development section below for more information.
If you just want to try AlleyCAT without installing, a web version is also available at alleycat.sammdot.ca. There are couple of caveats to this:
- Files can only be saved into your web browser's downloads folder
- AlleyCAT will not be able to connect to the Plover instance running on your computer, for security reasons
Design
AlleyCAT is a hybrid web-desktop application built with Tauri, React, and TipTap. The majority of the application's code is written in TypeScript, and a smaller portion of it in Rust and Python. The core of AlleyCAT is a React application, wrapped in Tauri in order to allow it to run on a desktop. The Tauri side also allows it to perform platform-specific operations such as saving files to the disk.
AlleyCAT can talk to Plover with AlleyCAT Link (or Link for short), which is a Plover plugin that sends stroke and translation data over a local connection, either a Unix domain socket on macOS and Linux, or TCP port 2228 ("AlleyCAT") on Windows. This lets AlleyCAT leverage Plover's existing ecosystem -- you can write into AlleyCAT with any machine Plover can support, in any system Plover can support, with your own dictionaries, and using any other plugins you may have installed. Link can be installed through pip
or Plover's plugins manager.
Development
Building the desktop app from source requires Node v16+ and Rust v1.64+; the web version requires only Node. Ensure yarn
(and cargo
on desktop) are installed before proceeding.
In order to connect AlleyCAT with Plover, you will also need a full Plover 4.0.0-dev10+ installation.
Project Structure
The repository has four main parts:
alleycat (this repository)
├─ alleycat_link
├─ app
│ └─ src
├─ public
└─ src
/alleycat_link
: Plover plugin/app/src
: Tauri application (desktop only)/public
: Static assets/src
: React application (web and desktop)
Building from Source
Clone the repository:
$ git clone https://github.com/sammdot/alleycat.git
$ cd alleycat
Install all the dependencies, including TypeScript, React, and the Tauri CLI:
$ yarn install
and for the Plover plugin:
$ plover -s plover_plugins install -r requirements.txt
where plover
is the path to the main Plover binary (or plover_console.exe
on Windows).
Development
To start a development server for just the web version:
$ yarn start
To start the desktop version for development:
$ yarn startapp
Both of these start a web server on localhost:3000. You should be able to access the web version from a browser even when running the desktop version.
To install the Plover plugin locally:
$ plover -s plover_plugins install -e .
then make sure to enable the alleycat_link
extension in Plover, and allow network connections if needed.
Production
To build the web version for production:
$ yarn build
The generated files for the web version will be in the /build
directory. These files can be served statically, and should also work offline.
To build the desktop version on your machine's platform:
$ yarn buildapp
The generated files for the desktop version will be in the /app/target/release
directory. This may include a standalone application binary, an application bundle, and/or an installer package, depending on the platform. These files can be installed on your system or distributed.
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
File details
Details for the file alleycat-link-0.3.0.tar.gz
.
File metadata
- Download URL: alleycat-link-0.3.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5660a34719944e0015e4c9c0b7111c23a3ed8d41c51d4c08c8763da40edcdf09 |
|
MD5 | 10a1f2bb0f3952fe21d8ad0ebc4fcf1b |
|
BLAKE2b-256 | 201cc0cc69d21d9ea8f00a17b55b4b405e56014fcab0525b659a156d23919dea |
File details
Details for the file alleycat_link-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: alleycat_link-0.3.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8881c36d2c5b721404272d5966dd12b0e905b5e23de3949d4c00207a71492990 |
|
MD5 | 65e92fb1217e883de2b9b550d4bd4a97 |
|
BLAKE2b-256 | 0511df5140147c9354eb6b0cf9b74cd2efc967aab10134c84c9b48575f295a5b |