daisy / daisy/MathCATForPython

Clarifying developer setup instructions

Open
#115 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
10
Forks
10
Avg merge
10h 40m
Merged PRs (30d)
4

Description

Hi, I'm looking to contribute and I've (successfully?) set up a dev environment to build the MathCAT NVDA addon, but ran into a few questions. Once I've confirmed that I didn't do anything wrong, I'll try to update the readme's dev setup instructions with the additional prereqs I encountered.

@NSoiffer

---

I saw two scripts, [build64-nvda-addon.sh](https://github.com/daisy/MathCATForPython/blob/main/build64-nvda-addon.sh) and a non-64 counterpart. These files were updated within the past few weeks, possibly implying current use.

1. > PYO3_PYTHON_64=C:/Users/neils/AppData/Local/Python/pythoncore-3.13-64
This path includes neils' username, making this script harder to use off of his machine.
2. I'm more experienced with server-side development, so have more limited familiarity with setting up a Windows build env. This script is a bash script, and while apparently Windows PowerShell allows starting bash these days, it looks like it uses `/mnt/C/Users/{username}`, not `C:/Users/{username}`?

I'm unsure how I would run this script, even if I replaced neils' home path with something appropriate to my machine. (Start PowerShell, type `bash`, then execute the script? Execute directly from PowerShell? Some other terminal or otherwise?)
Are there additional prereqs to run this script on top of the ones covered below? At least build64 seems to point at _two_ different python installs, if I'm reading correctly.

In the end I didn't use this script.

---

I mostly worked off of https://github.com/daisy/MathCATForPython/tree/main#development-environment

Prereqs approximately following the document:
1. Installed python 3.14.7-64bit via Python installer (instead of 3.11-32bit)
2. Set up venv and installed listed modules
3. Cloned MathCAT and NVDA git repos as siblings to MathCATForPython.

Additional prereqs not covered in that document:
1. Install rust (https://rustup.rs/) and MSVC prereqs. (You call out installing python, so it feels fair to me to call this out as well?)
2. `pip install scons`. Maybe this one was supposed to be outside the venv, but I installed it in the venv for now.
3. `pip install markdown` as an additional venv component, since the build seemed to need it?

My build process (no flags, unlike the bash scripts above):
```sh
cargo build
scons
```
Should I have been running any of the flags from the bash scripts?

Also, I've locally added `addon/globalPlugins/MathCAT/Rules` to the .gitignore file, since cargo build unzips the rules files from the base project into there. Considering that this isn't already in the checked-in .gitignore, am I doing something wrong? Or should I send a PR to update the checked-in file with that?

Also^2, should I fold [README`](https://github.com/daisy/MathCATForPython/blob/main/README), which only describes running `scons` into the dev instructions from the more comprehensive `readme.md`?)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Development Environment section in readme.md and compare it with README, build64-nvda-addon.sh, the non-64 build script, and .gitignore. Reproduce the stated cargo build and scons steps, then document the confirmed prerequisites, script usage, and generated Rules path. Done means a newcomer can set up and build the addon without the unanswered questions in this issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown, python, rust, shell
Domain
build-system, developer-experience, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.